/v1/search"platform": "instagram"Instagram Search API
Find accounts by keyword.
The Instagram Search API searches Instagram accounts by keyword: name, in the same response format as every other SocialToAI call. One call costs 3 credits ($0.006 to $0.01 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP. Last tested 2026-10-17.
Last updated:
Request and response
curl https://api.socialtoai.com/v1/search \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "platform": "instagram", "query": "nike", "type": "user" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/search", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "platform": "instagram", "query": "nike", "type": "user", },)print(response.json())# Connected over MCP? Ask in plain words.Find Instagram accounts about "nike".# Your AI calls the search tool with:{ "platform": "instagram", "query": "nike", "type": "user"}{ "platform": "instagram", "status": "ok", "items": [ { "platform": "instagram", "id": "…", "ref": "…", "approx": [], "type": "account", "username": "…", "name": "…", "url": "https://example.com/…", "bio": null, "verified": true, "followers": null, "following": null, "posts_count": null } ], "unavailable": ["bio", "followers", "following", "posts_count"], "page": { "has_more": false }, "cost_credits": 3}null followersnull followingnull postsNames and text were removed from the sample; the numbers are as recorded.
3 parameters.
All required.
Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| platform | string | Required | — | Always "instagram" on this page. |
| query | string | Required | — | Search terms |
| type | string | Required | — | "user": accounts instead of posts (3 credits)."user" |
The fields of each item.
What Instagram cannot give is marked.
| Field | Type | Meaning |
|---|---|---|
| items[].username | string | The handle. |
| items[].name | string | The display name. |
| items[].url | string | A link to the profile. |
| items[].bio | stringalways null | The bio. |
| items[].verified | boolean | Whether the account is verified. |
| items[].followers | integeralways null | Follower count. |
| items[].following | integeralways null | How many accounts it follows. |
| items[].posts_count | integeralways null | How many posts it has published. |
nullFields Instagram cannot giveRead null as “Instagram did not give this”, not as zero. These are always null on this call:
bioThe bio.followersFollower count.followingHow many accounts it follows.posts_countHow many posts it has published.
Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format
What to expect.
1 call per second per key, 5 after a purchase; going over is not charged. Rate limits
A failed call costs 0 credits and is never retried on its own. Error codes
Once connected over MCP, these questions use it.
Find Instagram accounts about "nike".
3 creditssearch {"platform":"instagram","query":"nike","type":"user"}
These ready-made tools call it when they run.
The same call on other platforms.
All platforms and prices/v1/search{ "platform": "instagram", "query": "nike", "type": "user" }3 creditsper call