Endpoint Playground
Searches TikTok creators stored in a search index (one document per creator), with follower counts, verified status, niche, and engagement. Deleted and private accounts are excluded by default; set `include_inactive=true` to include them for historical lookups. Sort enum: `followers_desc`, `engagement_desc`, `engagement_qualified_desc`, `likes_desc`, `relevance`. Coverage note: `followers_desc`, `likes_desc`, and `relevance` are backed by profile fields present across the full dataset; the post-level engagement metrics (`engagement_rate`, `avg_views`, and the nested `post_stats` object) and the `engagement_desc`/`engagement_qualified_desc` sorts are currently populated for a growing subset of creators, prioritizing the highest-reach accounts. Creators without these metrics are still returned but sort last under `engagement_desc` and omit those fields; `engagement_qualified_desc` excludes them outright (they cannot clear its floors). `engagement_desc` ranks by raw `engagement_rate` with no eligibility floor — it surfaces a real stale-record + ratio-by-design trap: an account whose last real post was years ago can still carry an unrealistic rate computed from a handful of old posts. `engagement_qualified_desc` is the same metric restricted to creators with a recent post (`last_post_at` within 90 days), a minimum reach (`avg_views >= 10000`) and sample size (`post_stats.sampled_posts >= 10`), and a sanity ceiling (`engagement_rate <= 50%`) — use this, not the raw sort, for a "best engagement" leaderboard. Sound fields: `post_stats.top_sounds` holds only a creator's FIVE most-used sounds from the sampled posts, ranked by use count with ties broken by lowest `music_id`, so it is a top-5 view and not the creator's full sound list; `post_stats.distinct_sounds` gives the true number of different sounds the sample used. Use each sound's `original` boolean to tell TikTok-generated original audio from catalogue tracks - do NOT infer it from the title, because TikTok localizes the original-audio label (`sonido original`, `som original`, `оригинальный звук`, and at least fifteen more), so a title match silently reclassifies original audio as named tracks. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100). Dataset Playground requests query indexed data and do not apply proxy routing.
14 Oct 2026: 20 items; 19 fields had a value in every checked item and 1 varied between items.
Sample value profiles: last_post_at: 2026-09-03 to 2026-10-11; follower_count: 12,500,000 to 36,600,000, median 17,400,000; avatar_url: p19-common-sign.tiktokcdn-us.com and 5 other hosts.
curl 'https://api.crawlora.net/api/v1/datasets/creators/search?sort=followers_desc' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| q | string | No | Full-text query over handle, nickname and bio, max 256 characters | |
| handle | string | No | Exact handle lookup (case-insensitive), e.g. khaby.lame; returns the single creator with that exact @handle | |
| niche | string | No | Exact content-niche filter, max 128 characters | |
| country | string | No | Exact creator country/region filter, max 128 characters | |
| verified | boolean | No | Filter by verified badge; true keeps only verified creators | |
| min_followers | integer | No | Minimum follower count | |
| has_email | boolean | No | Filter by contact-email presence; true keeps only creators with an email | |
| include_email | boolean | No | Return the stored contact email instead of a blanked value. Off by default for everyone, and honoured only for entitled (non-Free) API keys | |
| include_inactive | boolean | No | Include deleted/private accounts; defaults to false (only live accounts returned) | |
| sort | string | No | followers_desc | Sort enum: followers_desc, engagement_desc, engagement_qualified_desc, likes_desc, relevance. engagement_desc ranks by raw post-level engagement rate, currently populated for a subset of creators (highest-reach first); creators without it sort last. engagement_qualified_desc is the same metric restricted to creators with a recent post (<=90d), a minimum reach (avg_views>=10000) and sample size (>=10 posts), and a sanity ceiling (<=50%) -- use this, not the raw sort, for a 'best engagement' leaderboard |
| page | integer | No | Page number, defaults to 1 | |
| page_size | integer | No | Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000 |
{
"code": 200,
"msg": "OK",
"data": {
"dataset": "creators",
"items": [
{
"creator_uid": "tiktok:@bubble",
"platform": "tiktok",
"sec_uid": "MS4wLjABAAAAxxxxxxxx",
"unique_id": "bubble",
"nickname": "Bubble Skincare",
"bio": "Built with dermatologists since day 1.",
"bio_link": "https://hellobubble.com",
"niche": "skincare",
"country": "us",
"verified": true,
"follower_count": 4100000,
"following_count": 312,
"total_likes": 25246297,
"video_count": 1840,
"first_seen": "2026-06-20T05:00:00Z",
"last_crawled": "2026-06-20T05:00:00Z"
}
],
"page": 1,
"page_size": 20,
"total": 1,
"sort": "followers_desc"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.