Instagram Followers API
List the accounts that follow a public Instagram profile, page after page, for a handle, a profile URL or a numeric user id.
GET /v2/instagram/profiles/{profile}/followers1 credit Failed requests are free
About this endpoint
GET /v2/instagram/profiles/{profile}/followers takes a handle (with or without @), a profile URL or a numeric user id. It returns the accounts that follow that profile, in the order Instagram lists them. Read data.lookupStatus first (found, private or not_found), then data.accounts. Each account is the same profile summary every v2 endpoint uses: id, handle, displayName, avatarUrl, verified and privateAccount, always present and null when Instagram doesn't say.
A page holds 25 accounts. When data.page.hasMore is true, pass data.page.nextCursor as the cursor query param on the next call; the list runs to its end. Each page is billed once, so read meta.creditsCharged rather than estimating from the follower count. On large accounts Instagram only shows a sample of about 50 followers on one page, and data.sampled is true. An account can repeat across pages, so dedupe by id. The sample changes over time, so repeated calls can return different accounts. meta.version is v2.
Instagram Followers API FAQ
How do I list an Instagram account's followers via API?
Call GET /v2/instagram/profiles/{profile}/followers with your Social Fetch API key (x-api-key) and a handle, profile URL or numeric user id in the path. Read data.lookupStatus, then data.accounts, and keep following data.page.nextCursor while data.page.hasMore is true. See the API docs for parameters and examples.
How much does the Instagram Followers API cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.
How many followers come back per page?
25, in the order Instagram lists them. The last page can be shorter, and data.page.hasMore is false on it. An account with no followers comes back as found with an empty accounts list.
What does data.sampled mean?
It is false when the list is complete. On large accounts Instagram only shows a sample of about 50 followers on one page, and data.sampled is true. The sample changes over time, so repeated calls can return different accounts.
Can I page through the whole list?
On ordinary accounts, yes: pass data.page.nextCursor as cursor until data.page.hasMore is false. On large accounts the list is Instagram's sample, not every follower. The cursor is opaque and ties the next page to the same profile, so pass back the exact value you received. An unrecognised cursor is a 400 bad_request.
How do I check whether one account follows a profile?
Use GET /v2/instagram/profiles/{profile}/followers/search?query= and compare the exact handle. It is one search with up to 25 loose matches, so an account missing from the matches may still follow the profile on a large account.
What happens for private or missing accounts?
A private account returns lookupStatus: private with an empty accounts list, and an unknown profile returns not_found. Both come back as a normal 200 response and are billed as a page; only public accounts' follower lists are returned.
Do I need Instagram Graph API access to read followers?
No. Social Fetch returns the follower list Instagram shows publicly for any public account. Meta's Instagram Graph API is for accounts you manage or that grant your app access, and it doesn't list another account's followers.
Other Instagram endpoints
- ProfileGET /v2/instagram/profiles/{profile}
- Profile mediaGET /v2/instagram/profiles/{profile}/media
- Profile highlightsGET /v2/instagram/profiles/{profile}/highlights
- Profile storiesGET /v2/instagram/profiles/{profile}/stories
- Profile followingGET /v2/instagram/profiles/{profile}/following
- Search profile followersGET /v2/instagram/profiles/{profile}/followers/search
- Search profile followingGET /v2/instagram/profiles/{profile}/following/search
- HighlightGET /v2/instagram/highlights/{highlightId}