Instagram profile search API
Find Instagram accounts by name or keyword and page through the matches — id, handle, display name, avatar, verified and private flags in structured JSON.
GET /v2/instagram/profiles/search1 credit Failed requests are free
About this endpoint
GET /v2/instagram/profiles/search takes a required query string and an optional cursor, and returns the accounts Instagram's own account search matches, in Instagram's ranking, in the shared Social Fetch envelope (meta.version is v2). Read data.accounts and data.page. 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 search hit carries no bio and no counts: pass a hit's handle or id to GET /v2/instagram/profiles/{profile} for those.
When data.page.hasMore is true, pass data.page.nextCursor as cursor and keep the same query. Instagram re-serves its top accounts on later pages, so an account you already received isn't repeated, and a page can be shorter than the one before it. An empty data.accounts means nothing matched. Each page is billed once; read meta.creditsCharged. The account whose handle is search is GET /v2/instagram/profiles/@search, because /profiles/search is this route.
Instagram profile search API FAQ
How do I search Instagram accounts by keyword via API?
Call GET /v2/instagram/profiles/search with your Social Fetch API key (x-api-key) and a required query. Read data.accounts, and keep following data.page.nextCursor with the same query while data.page.hasMore is true. See the API docs for parameters and examples.
How much does Instagram profile search 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.
What does a search result contain?
The profile summary: id, handle, displayName, avatarUrl, verified and privateAccount. Search results carry no bio and no follower counts. Look a hit up with GET /v2/instagram/profiles/{profile} to get them.
Why can a later page be short, or end early?
Instagram repeats its strongest matches on every page, so accounts you already received are dropped and a later page can hold fewer accounts. When a page brings nothing new the search ends: hasMore is false and nextCursor is null.
How do I look up the account named search?
/v2/instagram/profiles/search is the search route, so write the handle with an @: GET /v2/instagram/profiles/@search.
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
- HighlightGET /v2/instagram/highlights/{highlightId}
- Profile engagementGET /v2/instagram/profiles/{profile}/engagement
- Search reelsGET /v2/instagram/reels/search