Datasets

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).

get/datasets/creators/search

Request

  • Base URL: https://api.crawlora.net/api/v1
  • URL: https://api.crawlora.net/api/v1/datasets/creators/search
  • Auth: API key in header x-api-key

Query parameters

qstring

Full-text query over handle, nickname and bio, max 256 characters

handlestring

Exact handle lookup (case-insensitive), e.g. khaby.lame; returns the single creator with that exact @handle

nichestring

Exact content-niche filter, max 128 characters

countrystring

Exact creator country/region filter, max 128 characters

verifiedboolean

Filter by verified badge; true keeps only verified creators

min_followersinteger

Minimum follower count

has_emailboolean

Filter by contact-email presence; true keeps only creators with an email

include_emailboolean

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_inactiveboolean

Include deleted/private accounts; defaults to false (only live accounts returned)

sort'followers_desc' | 'engagement_desc' | 'engagement_qualified_desc' | 'likes_desc' | 'relevance'

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

pageinteger

Page number, defaults to 1

page_sizeinteger

Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000

Headers

x-api-keystring required

API key required

Response

OK

codeinteger
msgstring

Example response

{
  "code": 200,
  "msg": "OK"
}

Changes

No recorded changes to this operation across all 2 revisions of this API.