Insight Social
GET /v1/instagram/search/profiles

Instagram Search Profiles API

Returns public profiles matching a keyword, each with username, display name, bio, follower and following counts, post count, and profile URL.

10–250 credits, metered · cursor pagination · failed calls free · 10 free calls to start

curl "https://api.insightsocial.app/v1/instagram/search/profiles?query=yoga" \
-H "x-api-key: $INSIGHTSOCIAL_API_KEY"
200 OKJSON
{
"success": true,
"platform": "instagram",
"endpoint": "/v1/instagram/search/profiles",
"schema_version": "2",
"data": {
"items": [
{
"author": {
"id": "<string>",
"username": "<string | null>",
"display_name": "<string | null>",
"avatar_url": "<string | null>",
"bio": "<string | null>",
"verified": "<boolean | null>",
"followers": "<integer | null>",
"followers_approximate": "<boolean | null>",
"following": "<integer | null>",
"posts_count": "<integer | null>",
"likes_count": "<integer | null>",
"url": "<string | null>",
"location": "<string | null>",
"external_url": "<string | null>",
"private": "<boolean | null>",
"joined_at": "<string | null>",
"last_post_at": "<string | null>",
"ext": "<object | null>"
}
}
],
"total": "<integer | null>",
"truncated": "<boolean | null>"
},
"pagination": {
"next_cursor": "<string | null>",
"has_more": "<boolean>"
},
"unavailable": [],
"credits_used": "<integer>"
}

When to use it

Use it to find accounts by topic, keeping in mind it searches Google's index of Instagram rather than Instagram's own account search.

Parameters

Query parameters for GET /v1/instagram/search/profiles. Send your key in the x-api-key header.

NameRequiredDescription
queryYesBio or caption keyword/phrase to search for.
cursorNoThe cursor returned by the previous response. In this version it is the next Google results page number.
includeNoA typo is a free 400.
limitNoCap the rows served, and with include=about the credits held. 1 to 12. Default 8 when the token is present so the hold is 17, not 25.

Response fields

The same unified schema every platform returns, so code written for Instagram works on the other eight. A field the platform did not provide is null and listed in unavailable.

FieldTypeNotes
idstringAn identifier, always a string. Never parse it as a number: several platforms use ids above 2^53.
usernamestring | null
display_namestring | null
avatar_urlstring | null
biostring | null
verifiedboolean | null
followersinteger | nullA count. null when the platform does not expose it; 0 only when it is really zero.
followers_approximateboolean | null
followinginteger | nullA count. null when the platform does not expose it; 0 only when it is really zero.
posts_countinteger | nullA count. null when the platform does not expose it; 0 only when it is really zero.
likes_countinteger | nullA count. null when the platform does not expose it; 0 only when it is really zero.
urlstring | null
locationstring | null
external_urlstring | null
privateboolean | null
joined_atstring | nullISO-8601 timestamp in UTC, ending in Z.
last_post_atstring | nullISO-8601 timestamp in UTC, ending in Z.
extobject | nullPlatform-specific fields, snake_case.

Every field, error and example is in the Instagram Search Profiles API reference.

How much does the Instagram Search Profiles API cost?

Metered: 10–250 credits a call. The ceiling is reserved when the call starts and you are charged what it actually read.

  • Failed calls are free

    A call that errors or finds nothing costs 0 credits.

  • Know the price first

    Add dry_run=1 and the response quotes the call without making it. Nothing is charged.

  • One balance

    API calls and Chrome extension exports share the same credits, on the free plan too.

Instagram Search Profiles API: frequently asked questions

Send GET /v1/instagram/search/profiles with the query parameter and your key in the x-api-key header. Returns public profiles matching a keyword, each with username, display name, bio, follower and following counts, post count, and profile URL.