Instagram profile search API
Discover public Instagram accounts by keyword — handle, bio, counts, and profile URL in structured JSON, without GraphQL scrapers or creator OAuth.
GET /v1/instagram/search/profiles1 credit per successful request.
About this endpoint
`GET /v1/instagram/search/profiles` takes a required `query` string and returns matching public profiles in the shared Social Fetch envelope. Each hit can include handle, display name, bio, avatar, verification, profile URL, private-account flag, optional business and category fields, `matchedFrom` (`profile` or `caption`), and public metrics when Instagram exposes them. When `data.page.hasMore` is true, pass `data.page.nextCursor` as the `cursor` query param on the next call. Bill from `meta.creditsCharged`.
This route is people / account discovery. Hashtag search is `GET /v1/instagram/search/hashtags`. Reel keyword search is `GET /v1/instagram/search/reels`. Once you have a handle, use `GET /v1/instagram/profiles/{handle}` for the full profile card.
Instagram profile search API FAQ
How do I search Instagram profiles via API?
Call `GET /v1/instagram/search/profiles` with your Social Fetch API key (`x-api-key`) and a required `query` parameter. Read `data.profiles`, `data.totalProfiles`, and `data.page` in the JSON response. 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 fields does each Instagram search profile include?
Hits can include handle, displayName, bio, avatarUrl, verified, profileUrl, privateAccount, optional platformUserId, business and professional flags, categoryName, externalUrl, bioLinks, matchedFrom (profile or caption), and metrics such as followers, following, and posts when available.
Profile search vs hashtag search vs reels search?
Use this route to find accounts by keyword. Use `GET /v1/instagram/search/hashtags` for tag discovery. Use `GET /v1/instagram/search/reels` for reel keyword search. They are separate operations on the Instagram hub.
How does pagination work on Instagram profile search?
Each response includes `data.page.nextCursor` and `data.page.hasMore`. When `hasMore` is true, pass `nextCursor` as the `cursor` query param on the next request. Keep the same `query` across pages. The cursor is opaque.
Do I need Instagram Graph API access to search profiles?
No. You authenticate to Social Fetch with an API key. The route reads public search results for enrichment-style discovery. Meta's Instagram Graph API is for accounts you manage or that grant your app access — not arbitrary public people search.
What should I call after I find a matching handle?
Follow a hit with `GET /v1/instagram/profiles/{handle}` when you need the full public profile card, then posts or reels list routes if you need media. Keep `meta.requestId` from the search response if a later enrichment row looks wrong.
Other Instagram endpoints
- ProfileGET /v1/instagram/profiles/{handle}
- Basic profileGET /v1/instagram/profiles/{userId}/basic
- Profile postsGET /v1/instagram/profiles/{handle}/posts
- Profile reelsGET /v1/instagram/profiles/{handle}/reels
- Profile highlightsGET /v1/instagram/profiles/{handle}/highlights
- HighlightGET /v1/instagram/highlights/{highlightId}
- Profile engagementGET /v1/instagram/profiles/{handle}/engagement
- Search reelsGET /v1/instagram/search/reels