Instagram Profile API
Public profile for a handle: name, bio, category, follower/following counts and avatar.
$1.00/1k req, pay per request, no subscription.
{"handle": "nasa","displayName": "NASA","bio": "Exploring the universe and our home planet.","category": "Science","verified": true,"followers": 97400000,"following": 78,"posts": 4120,... 8 more fields}
Pricing and providers
Instagram Profile API pricing: one API, 5 interchangeable providers
The cheapest provider serves first. If it fails, the next one takes over in the same call.
Try it
Get Instagram profile in one request
This sample shows 12 of 21 fields. See every field
{
"found": true,
"data": {
"handle": "nasa",
"displayName": "NASA",
"bio": "Exploring the universe and our home planet.",
"category": "Science",
"verified": true,
"followers": 97400000,
"following": 78,
"posts": 4120,
"avatarUrl": "https://instagram.com/nasa/avatar.jpg",
"externalUrl": "https://www.nasa.gov"
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-11-01 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- handlestring
nasa
Instagram username without the leading @.
- requireFieldsarray
Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `contactMethod`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a profile that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge.
Response
JSON, one example value per field.
- avatarUrlstring
https://instagram.com/nasa/avatar.jpg
Profile picture URL at the highest resolution the account exposes. Populated whenever the provider has data for the entity.
- biostring
Exploring the universe and our home planet.
Profile biography text. Populated whenever the provider has data for the entity.
- categorystring
Science
Instagram's category label for the account (for example "Government Agencies" or "Coffee shop"). Absent when the account publishes no category. Populated whenever the provider has data for the entity.
- contactMethodstringcan require
The contact button Instagram shows on the profile, for example CALL, TEXT, EMAIL, or UNKNOWN. Absent when the account exposes no contact button. Instagram no longer publishes the underlying email or phone number to unauthenticated callers.
- displayNamestring
NASA
Account display name. Populated whenever the provider has data for the entity.
- externalUrlstring
https://www.nasa.gov
The single website link on the profile. Absent when the account publishes no link. Populated whenever the provider has data for the entity.
- followersinteger
97400000
Follower count.
- followinginteger
78
Number of accounts this account follows.
- handlestring
nasa
Instagram username without the leading @. Populated whenever the provider has data for the entity.
- highlightsCountintegercan require
Number of story highlights pinned on the profile. Null when this source does not report it.
- isBusinessbooleancan require
Whether Instagram flags the account as a business account.
- postsintegercan require
4120
Total number of posts on the account. Null when the serving source does not report it.
- privateboolean
Whether the account is private.
- userIdstring
Instagram's numeric account id, as a string. Populated whenever the provider has data for the entity.
- verifiedboolean
true
Whether the account carries Instagram's verified badge.
Every link the account publishes in its bio, in the order Instagram returns them. Business accounts often list several here while externalUrl carries only the first. Populated whenever the provider has data for the entity.
- titlestring
Display label for the link, empty when the account set none.
- urlstring
Destination URL, exactly as the account published it.
- foundboolean
true
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
Selling this API? See the full schema your endpoint must return.
FAQ
About the Instagram Profile API
The AnyAPI Instagram Profile API returns Instagram profile data as normalized JSON from one POST call to /v1/run/instagram.profile. Public profile for a handle: name, bio, category, follower/following counts and avatar. AnyAPI routes each request across 5 sources and falls back automatically when one fails. It costs from $1 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Instagram profile calls through AnyAPI succeeded, with a median response time of 1.3 seconds across 227,417 measured calls.