Endpoint Playground
Test Crawlora's Search the TikTok creators dataset API with realistic prefilled filters. Generate a cURL request, inspect stored structured JSON records, and open the full docs or pricing page when you are ready to integrate dataset search. Dataset Playground requests query indexed data and do not apply proxy routing.
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"
}
}Public Playground
Sample responses, schemas, request previews, and code snippets are visible before sign in. Create an account when you are ready to save an API key and run authenticated requests.
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. Dataset endpoints are built for repeatable structured search, facets, geo queries, pagination, and item lookup over indexed records. They do not trigger live scraping or proxy routing.
{
"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"
}
}curl "https://api.crawlora.net/api/v1/datasets/creators/search" \
-H "x-api-key: $CRAWLORA_API_KEY"