Instagram Search Profiles API
Scrape Instagram Search Profiles data with one API call. Searches Instagram's own account search for a keyword or phrase and returns matching public profiles mapped to the unified Author schema: `id`, `username`, `display_name`, `verified`, `avatar_url`, and the profile `url`, 20 a page with a `cursor` for the next. A search row carries no `bio`, `followers`, `following` or `posts_count` (they are null): fetch /v1/instagram/profile for an account you keep. The plain call has no account country: Instagram does not put that on a search stub. Send `include=about` to join each row to the About-this-account panel for `author.ext.country`, the join month, and the public email and phone the account publishes, 2 extra credits a row filled, default the top 8 (17 credits held), `limit=12` for the page. A row the panel could not fill is refunded. This is not a country filter: a query that surfaces no Korean accounts still returns no Korean accounts after the join. For place-tagged posts, use /v1/instagram/search/location then /v1/instagram/location/posts.
Last updated October 2026Maintained by the SocialCrawl team
Returns public profiles matching a keyword, each with id, username, display name, verified badge, avatar and profile URL; bio and counts are null on a search row.
Use it to find accounts by topic through Instagram's own account search, then call instagram/profile for the bio and follower counts of the ones you keep.
Searching 68 platforms in parallel
What can you do with the Search Profiles API?
The Search Profiles endpoint gives you structured Instagram data with computed fields in a single request. No scraping infrastructure to build or maintain.
Example Request
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/instagram/search/profiles?query=yoga"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/instagram/search/profiles",
params={
'query': 'yoga',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/instagram/search/profiles?query=yoga",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| query | Yes | Bio or caption keyword/phrase to search for. |
| cursor | No | The cursor returned by the previous response. In this version it is the next Google results page number. |
| include | No | Send `about` to fill `author.ext.country`, join month and public contact from the About panel, 2 extra credits a row filled, never more than 12 rows. A typo is a free 400. (about) |
| limit | No | Cap 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. |
What does the Instagram Search Profiles API return?
Every response follows one unified schema. Here is a real, unmodified response body, so you can see the exact fields you get back before spending a credit.
Example response
{
"success": true,
"platform": "instagram",
"endpoint": "/v1/instagram/search/profiles",
"data": {
"items": [
{
"author": {
"id": "user_e31ddb",
"username": "user_ca3142",
"display_name": "user_b49d7e",
"avatar_url": "https://example.com/avatars/user_fb1999.png",
"bio": null,
"verified": true,
"followers": null,
"following": null,
"posts_count": null,
"likes_count": null,
"url": "https://example.com/user_ebaf89",
"external_url": null
}
},
{
"author": {
"id": "user_e7c827",
"username": "user_809007",
"display_name": "user_93c195",
"avatar_url": "https://example.com/avatars/user_e7991c.png",
"bio": "Sample comment text (redacted). Sample comment text (redacted). Sample comment text (redacted). Sample comment text (redacted).",
"verified": true,
"followers": 55321,
"following": 1728,
"posts_count": 12,
"likes_count": null,
"url": "https://example.com/user_e4917a",
"external_url": "https://example.com/user_c684fa"
}
}
],
"total": null,
"dropped": 0
},
"credits_used": 1,
"request_id": "req_example000000",
"cached": false,
"pagination": {
"next_cursor": null,
"has_more": false,
"page_size": 2
},
"credits_remaining": 9999,
"source": "captured",
"captured_at": "2026-10-02T07:28:50.770Z",
"redacted": true
}Live sample illustrating the unified response shape. Field values reflect the record you query.
How does the Instagram Search Profiles API work?
Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.
Method
GET
Response
JSON
How do you scrape social media data in seconds?
The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 68 platforms covering 10B+ monthly active users.
One schema, every platform
Query 68 platforms with identical response structures. Write your integration once.
Computed fields, not just scraped
When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language. Ready to use.
See your data before you code
Visual Data Explorer. Paste any URL, get rich result cards, sortable tables, CSV export.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}Have a question? We got answers
Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.
Contact usHow do I search for Instagram profiles by keyword via API?
Is this a native Instagram profile search?
What fields come back for each profile?
How do I paginate profile search results?
How much does profile search cost?
Ask AI about SocialCrawl
Ready to scrape Instagram Search Profiles data?
Get your API key and start pulling Instagram data in under 60 seconds.
