Every count
Followers and following as plain numbers, such as 396 followers on the sample.
Popular platforms
By use case
Start building
Accounts for a name or keyword, from the Instagram pages a web search has indexed.
100 free credits. No card needed.
Followers and following as plain numbers, such as 396 followers on the sample.
Links to the profile picture.
The display name, such as Incredible Fitness Coach.
A link to the profile on Instagram.
Whether the account is verified or private.
The handle, such as fitness_._coach.
Search a description like fitness coach and get accounts with their names and counts. The sample's second result, Daniel Wai, shows about 109,000 followers and 510 posts.
Influencer discoverythestrongwai
109,000
510
enrich reads the first 10 accounts of a page through the profile endpoint for exact counts, bio, links and picture. fitness_._coach comes back with 396 followers and 657 following.
fitness_._coach
396
657
false
enrich=false keeps only what each search result states, with rounded counts flagged in extra.stats_approximate, a fast way to gather many names before reading the few worth a closer look.
Incredible Fitness Coach
Daniel Wai | Fitness Coach
Sign up and get 100 free credits. No card needed.
Pass query (fitness coach).
Send back cursor until has_more is false.
1curl -G "https://api.socialscrape.dev/v1/instagram/search/profiles" \2 --data-urlencode "query=fitness coach" \3 -H "x-api-key: $SOCIALSCRAPE_API_KEY"1import requests2 3r = requests.get(4 "https://api.socialscrape.dev/v1/instagram/search/profiles",5 params={"query": "fitness coach"},6 headers={"x-api-key": KEY},7)8profiles = r.json()["data"]["items"]1const url = new URL("https://api.socialscrape.dev/v1/instagram/search/profiles");2url.searchParams.set("query", "fitness coach");3 4const res = await fetch(url, {5 headers: { "x-api-key": KEY },6});7const { data } = await res.json();{ "ok": true, "credits_charged": 1, "data": { "items": [ { "name": "Incredible Fitness Coach", "handle": "fitness_._coach", "stats": { "followers": 396, "following": 657 }, "url": "https://www.instagram.com/fitness...", "kind": "unknown", ... }, ... ], "cursor": "eyJwIjoy...", "has_more": true } }
Ask your agent for Instagram profile search in plain words, and the SocialScrape MCP server makes the call.
Set up the MCP serverInstagram profile search, given a search.
1 credit a call; a repeat within 30 days is free.
Your key stays in your agent's settings.
18,000 credits a month
50,000 credits a month
150,000 credits a month
$27/mo
$73/mo
$209/mo
Over 1M credits a month? Talk to us. Or see full pricing.
When reading an account fails, the result keeps what the search stated and extra.enrich_error says why: upstream_blocked on the sample's second result, whose counts stay rounded.
No. Results come from the Instagram pages a web search has indexed, not Instagram's ranking, best effort and not a complete list. Look an exact username up with Instagram profile.
No. When the search provider is busy or asks for human verification on every try, the call fails, costs nothing and can be retried. The cursor cannot go past page 11.
DuckDuckGo's results, not Google's and not Instagram's own ranking, best effort and not a complete list. Each result states the account's name and rounded follower, following and post counts (extra.stats_approximate). The first 10 on a page are then read through the Instagram profile endpoint for exact counts, bio, links and picture (enrich, on by default; an account that no longer exists is dropped). The cursor is the next results page and cannot go past 11. When the search provider is busy or asks for human verification on every try the call fails, costs nothing and can be retried. Look an exact username up with profile. Each profile has up to 20 fields, and the sample fills id, handle, name, url, kind, bio, avatar_url and verified and 2 more.
query (required): Profile name, username or keywords.
enrich: Read the first 10 accounts of a page for exact counts, bio, links and picture (on by default). Off returns only what the search result states, much cheaper and faster. true if left out.
invalid_params, not_found and upstream_blocked. None is charged, and the errors list says which to retry.
client.instagram.search_profiles(...) in Python and client.instagram.searchProfiles() in TypeScript.