Universal Search Creators API
Scrape Universal Search Creators data with one API call. Fans a niche query across TikTok user search, Threads user search, and Instagram profile search by default, then merges matching creators into one deterministically ranked list. Ranking is a published formula of query relevance, follower scale, and verification. No LLM rerank by default. Pass `sources=youtube`, `twitter`, or `facebook` (or a CSV of any of the six) to add those profile searches; omitting `sources` keeps the original three-platform walk so existing callers do not change. Pass `brief=` (what you are looking for, in your own words) to have the first 40 creators judged from their name, handle and bio: each gets `brief_match` ({ fits_brief, account_kind, account_kind_confidence, brief_score }) and the list is re-ranked so creators who post about your brief lead, with brands, shops, academies and repost pages below them; `data.brief` reports what was judged and the ranking version. `relevance=filter` also drops creators that do not fit and lists them in `data.brief.dropped_ids`. Flat 10 credits with a coverage-based partial refund.
Last updated October 2026Maintained by the SocialCrawl team
Returns one ranked list of creators matching a niche across TikTok, Threads, and Instagram, fused by handle with follower and verification scores, and each account's kind (person, brand, media).
Use it to find creators about a topic in one call; search/everywhere covers posts, not profile search.
Searching 68 platforms in parallel
What can you do with the Creators API?
The Creators endpoint gives you structured Universal Search 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/search/creators?query=skincare+routine&sources=tiktok%2Cinstagram&min_followers=50000&verified_only=false&sort=relevance"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/search/creators",
params={
'query': 'skincare routine',
'sources': 'tiktok,instagram',
'min_followers': '50000',
'verified_only': 'false',
'sort': 'relevance',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/search/creators?query=skincare+routine&sources=tiktok%2Cinstagram&min_followers=50000&verified_only=false&sort=relevance",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| query | Yes | Niche or topic (2-256 chars), forwarded to every profile search. |
| sources | No | Optional CSV allowlist of creator sources (tiktok, threads, instagram, youtube, twitter, facebook). Mutually exclusive with exclude. Omit to keep the default TikTok + Threads + Instagram walk. |
| exclude | No | Optional CSV blocklist of creator sources. Mutually exclusive with sources. |
| min_followers | No | Drop fused creators whose follower count is below this integer floor. |
| verified_only | No | When true, keep only verified creators after fusion. |
| sort | No | Which axis dominates rank: relevance (default), followers, or verification. (relevance | followers | verification) |
| brief | No | Optional. What you want to find, in your own words (3-300 chars), for example brief=Korean creators who review skincare products. The first 40 creators are judged from their name, handle and bio: does the account post about your brief (fits_brief, 0 to 1), and what kind of account is it (individual_creator, brand_or_business, media_or_publisher, fan_or_repost_page, cannot_tell; null when unsure). With sort=relevance (the default) they are re-ranked so creators who fit and are individual people lead; other sorts keep their order and only gain the labels. These are signals to review, not a finding. Adds 2 credits. |
| relevance | No | Optional, only with brief. score (default) ranks and labels; filter also drops judged creators that do not fit the brief and lists them in data.brief.dropped_ids. A creator that could not be judged is never dropped. (score | filter) |
| judgments | No | Optional. on (default) or off. On, the first 40 creators also carry account ({ account_kind: individual_creator, brand_or_business, media_or_publisher, fan_or_repost_page, cannot_tell or null when unsure, account_kind_confidence, named_person }), judged from their name, handle and bio, and data.account_kinds reports how many were judged. The order is unchanged and it is free. off returns the response without it. (on | off) |
What does the Universal Search Creators 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": "search",
"endpoint": "/v1/search/creators",
"data": {
"creators": [
{
"author": {
"id": "user_058794",
"username": "user_1cb194",
"display_name": "user_a15759",
"bio": null,
"followers": 6045690,
"verified": false,
"avatar_url": "https://example.com/avatars/user_805cd1.png",
"url": "https://example.com/user_d7235c"
},
"sources": [
"tiktok"
],
"relevance": 0.45,
"follower_rank": 1,
"verified": false,
"rrf_score": 0.017897727272727273,
"account": {
"account_kind": "individual_creator",
"account_kind_confidence": 1,
"named_person": 0.87
}
}
],
"creators_by_source": {
"tiktok": [
{
"id": "user_b598dc",
"username": "user_4d9b4a",
"display_name": "user_67c672",
"bio": null,
"followers": 36,
"verified": false,
"avatar_url": "https://example.com/avatars/user_ea00c5.png",
"url": "https://example.com/user_c06400"
},
{
"id": "user_a8ec20",
"username": "user_7b906f",
"display_name": "user_3af5a8",
"bio": null,
"followers": 5085,
"verified": false,
"avatar_url": "https://example.com/avatars/user_676794.png",
"url": "https://example.com/user_e80546"
}
],
"threads": [],
"instagram": [
{
"id": "user_d64a0b",
"username": "user_c1e003",
"display_name": "user_2c8d0f",
"bio": "Sample comment text (redacted). Sample comment text (redacted). Sample comment text (redacted). Sample comment text (redacted).",
"followers": 22456,
"verified": false,
"avatar_url": "https://example.com/avatars/user_99e358.png",
"url": "https://example.com/user_60d233"
},
{
"id": "user_9a0493",
"username": "user_d61117",
"display_name": "user_c043e7",
"bio": "Sample comment text (redacted). Sample comment text (redacted). Sample comment text (redacted). Sample comment text (redacted).",
"followers": 28396,
"verified": false,
"avatar_url": "https://example.com/avatars/user_88de7a.png",
"url": "https://example.com/user_995add"
}
],
"youtube": [],
"twitter": [],
"facebook": []
},
"computed": {
"platform_spread": {
"tiktok": 30,
"instagram": 44
},
"verified_share": 0,
"follower_distribution": {
"p50": 6045690,
"p90": 6045690
}
},
"legs": [
{
"endpoint": "/v1/tiktok/search/users",
"status": 200,
"credits_used": 1,
"latency_ms": 1941,
"error": null
},
{
"endpoint": "/v1/instagram/search/profiles",
"status": 200,
"credits_used": 1,
"latency_ms": 7963,
"error": null
}
],
"sources_called": [
"tiktok",
"instagram"
],
"sources_succeeded": [
"tiktok",
"instagram"
],
"coverage": 1,
"partial_failure": false,
"methodology_version": "search-creators/1.0",
"account_kinds": {
"methodology_version": "creators-account-kind/1",
"status": "complete",
"judged": 1,
"unjudged": 0
}
},
"credits_used": 10,
"request_id": "req_example000000",
"cached": false,
"credits_remaining": 9999,
"source": "captured",
"captured_at": "2026-10-02T12:48:35.176Z",
"redacted": true
}Live sample illustrating the unified response shape. Field values reflect the record you query.
How does the Universal Search Creators 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"
}
}
}Ready to scrape Universal Search Creators data?
Get your API key and start pulling Universal Search data in under 60 seconds.
