datasets_creators_search
Search the TikTok creators dataset. Searches TikTok creators stored in a search index (one document per creator), with follower counts, verified status, niche, and engagement.
Instructions
Search the TikTok creators dataset. 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).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Full-text query over handle, nickname and bio, max 256 characters | |
| page | No | Page number, defaults to 1 | |
| sort | No | 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 | |
| niche | No | Exact content-niche filter, max 128 characters | |
| handle | No | Exact handle lookup (case-insensitive), e.g. khaby.lame; returns the single creator with that exact @handle | |
| country | No | Exact creator country/region filter, max 128 characters | |
| verified | No | Filter by verified badge; true keeps only verified creators | |
| has_email | No | Filter by contact-email presence; true keeps only creators with an email | |
| page_size | No | Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000 | |
| include_email | 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 | |
| min_followers | No | Minimum follower count | |
| include_inactive | No | Include deleted/private accounts; defaults to false (only live accounts returned) |