Skip to main content
CreatorDB collects and infers data from multiple sources to provide a comprehensive view of creators across YouTube, Instagram, and TikTok. The data is collected through public APIs, web scraping, and other methods. CreatorDB also uses AI models to infer additional information about creators based on the data collected. CreatorDB refreshes this data on a rolling basis and computes metrics over defined windows. Two things follow from that, and both are worth knowing before you compare a CreatorDB number against what a platform shows:
  • A metric is computed over a window, not over all history. Different windows produce different answers from the same underlying content.
  • A creator’s data has an age. Every profile carries a timestamp telling you when it was last refreshed.

Data classifications and definitions

Every value the API returns falls into one of three classifications. Use the classification to decide how much weight to give a value: observed data reflects what the platform reported, calculated data is deterministic arithmetic over observed data, and inferred data is a model estimate.

Coverage

The CreatorDB database includes over 30 million tracked creators across YouTube, Instagram, and TikTok. Each creator has up to 245 data points. The database is updated almost daily to ensure that the data is as fresh and accurate as possible. Individual creators refresh at different times.

Content performance

Content performance data is returned by the /{platform}/performance endpoints, which describe a creator as they are today, and the /{platform}/performance-history endpoints, which return the same class of metrics as a series of dated snapshots. Each platform exposes a different set of blocks because each platform publishes a different set of content formats.
Not every window exists on every platform.
  • Only YouTube reports an all-time window and splits performance by content format.
  • Instagram reports recent image posts and recent reels separately.
  • TikTok reports a single recent-video block, because every TikTok post is a video.

Engagement rate

Engagement rate is calculated data, and the denominator differs by platform and content format. Compare engagement rates only within the same platform and format. Engagement rate is returned to four decimal places.

Engagement consistency

Engagement consistency describes how evenly a creator performs across their content window, rather than how well they perform on average. It is derived from three indicators:
  • Coefficient of variation (cv): The standard deviation divided by mean engagement rate. Lower values indicate higher consistency.
  • Median versus mean (medianVsMean): The median divided by the mean engagement rate. Values closer to 1 indicate higher consistency.
  • Top-bottom ratio (topBottomRatio): The average engagement of the top three items divided by the average of the bottom three. Lower values indicate higher consistency.
These roll up into a weighted consistencyScore from 0 to 100 (coefficient of variation 0.4, top-bottom ratio 0.3, median versus mean 0.3) and a consistencyLevel label: high for 81–100, moderate for 51–80, and low for 0–50. Consistency requires at least six items in the window, because below that threshold there is not enough data for a variance measure to mean anything. Where the threshold is not met, the three indicators return 0 and consistencyScore and consistencyLevel return null. A 0 here is a computed answer indicating too little data. It is not an error, and not a real measurement of zero.

Percentile rankings

Percentile rankings place a creator against a cohort rather than against an absolute threshold. A value of 1.0 means the top 1% and 0.5 means the median. Each ranked metric is reported against three cohorts:
  • global: all creators on that platform.
  • country: creators in the same country.
  • language: creators with the same primary language.

Historical performance

The /{platform}/performance-history endpoints return performance snapshots for a creator over a requested range of up to 365 days, so you can compare a creator against their own past rather than against a cohort. Pass the range as pastDayRange. There is no field selection on these endpoints, so a request returns every block the platform records. Each snapshot carries the creator’s headline counts at that date, plus the platform’s performance blocks as they stood on that date: Every snapshot also carries a timestamp, the time the snapshot was captured, represented as a Unix timestamp in milliseconds. The blocks hold the same structure as their live counterparts described above: likes, comments, and views as a total, average, median, minimum, and maximum, plus an engagement block with per-subscriber or per-follower rates and the engagement consistency indicators. TikTok snapshots add shares. Instagram image-post snapshots carry no view metric. Instagram reel snapshots exclude pinned reels under the rule described in Pinned posts can be excluded.
The history snapshots do not use the same window as the live /{platform}/performance endpoints. YouTube snapshots carry the all-time blocks, computed across up to the last 800 videos or shorts, whereas Instagram and TikTok snapshots carry the recent-content blocks. A YouTube history series therefore tracks a creator’s whole catalogue over time, while an Instagram or TikTok series tracks their recent output over time. Take that difference into account before comparing trends across platforms.
Snapshots exist for the days on which CreatorDB refreshed the creator. Refresh frequency depends on the creator’s size: creators with over 1 million followers are typically refreshed every few days, and smaller accounts are refreshed less often. History is therefore not a continuous daily series. Two consequences follow:
  • A response is usually shorter than the range you request. Days without a snapshot are omitted from histories rather than returned as empty entries. A 365-day request returns however many snapshots exist in that window, which for a small creator may be very few.
  • Gaps are uneven. Even well-covered creators have stretches with no snapshot, so consecutive entries in histories are not evenly spaced. Read the timestamp on each entry rather than assuming a fixed interval between them.
Cost is set by the day range you request, not by the number of snapshots returned. For details, see Field and Item Costs.

Sponsorship information

Sponsored content is returned by the /{platform}/sponsorship endpoints, grouped by brand. Each entry in sponsorList is one sponsoring brand, bundling that brand’s identity, its sponsored content, and per-brand performance. Two limits shape what you receive:
  • Indexed brands only. Sponsorship results surface only brands already indexed in CreatorDB. A sponsorship that CreatorDB detected but could not match to an indexed brand does not appear in sponsorList.
  • Recency cap. Results are capped at the 60 most recent brand-matched items per creator.
An empty or short sponsorList is normal and is not evidence that a creator has no sponsorships. It means CreatorDB matched no indexed brands within the capped recent window.
Per-brand aggregates, including engagement consistency, follow the same six-item minimum described in Engagement consistency. Most brands sponsor a creator only once or a handful of times, so per-brand consistency figures are frequently empty.

Subtitles

CreatorDB currently only supports retrieving subtitles for YouTube videos with captions. Retrieval is a two-step process:
  1. Call /youtube/subtitles/meta with a video ID to list the subtitle tracks available for that video. Each track returns a vssId (the track’s record code), a lang display name, and a langCode in ISO 639-1 two-letter format.
  2. Call /youtube/subtitles/download with the video ID and the vssId from step 1 to retrieve the track.
Both creator-uploaded and auto-generated caption tracks are listed. Auto-generated tracks are identified in the lang display name, for example English (Auto-generated). Auto-generated captions are machine transcriptions produced by YouTube, not by CreatorDB, and their accuracy varies with audio quality and speaker accent. Videos published without captions return no tracks.

Audience demographics

Audience demographics are inferred data. CreatorDB’s AI models estimate them from observed signals about the creator and their audience. They are not reported by the platforms and are not panel-measured. Treat them as directional rather than exact estimates. The /{platform}/audience endpoints return the same four blocks on YouTube, Instagram, and TikTok: Four characteristics affect how you should read these values:
  • Gender is binary. Only maleRatio and femaleRatio are returned. There is no non-binary or other bucket, and the two ratios do not necessarily sum to 1.
  • Missing data returns zeros, not omissions. When demographic data is unavailable, the block is still returned with all values set to 0. Treat maleRatio + femaleRatio = 0, an all-zero age breakdown, or all-zero locations as missing data, not as a genuine reading.
  • Locations are country-level. City, region, and state granularity are unavailable.
  • Age buckets are fixed strings. ageRange returns a label from the seven-bucket set above. A numeric age distribution isn’t returned. Compute one from the buckets yourself if you need it.

Content classification

CreatorDB classifies creators into content groupings with AI models, making these inferred data. Two independent taxonomies are available: Each entry returns an id, a name, a parent category, and a channelCount of the creators currently classified under it. Retrieve the current list from the endpoint rather than hard-coding identifiers, as classifications are re-evaluated as creators publish new content.

Metric windows

Every performance metric is computed over a defined window of the creator’s content. Three rules govern which items fall inside that window, and each one explains a class of difference between a CreatorDB figure and the number a platform displays.

Recent and all-time windows

Performance blocks come in two forms. The difference between them is the window they cover, not the calculation they run: On YouTube, videosPerformanceAll and shortsPerformanceAll are computed from up to the creator’s last 800 videos and last 800 shorts respectively, not their entire catalogue. For a creator who has published more than 800 items, all-time means the last 800. Do not compare a …Recent figure against an …All figure and read the gap as a trend. The two are measured over different windows and different item counts.

Content published in the last four days is excluded

On all three platforms, content published within the last four days is excluded from metric calculations and from the models that infer data about a creator. Every item behind a CreatorDB metric is therefore at least four days old. A newly published item has not finished accumulating views, likes, and comments. Its numbers are still climbing, so they sit below where they will eventually settle and are not yet comparable to the creator’s established content. Including them would pull a creator’s averages down for reasons that say nothing about the creator. Waiting four days trades a small amount of recency for figures that are stable enough to compare and to infer from. The practical consequence: a creator who posted yesterday shows CreatorDB metrics that do not yet reflect that post. This is the most common source of “your numbers do not match the platform” reports, and it is working as designed.

Pinned posts can be excluded

On Instagram and TikTok, a pinned post older than 90 days is excluded. Creators pin their best-performing content, and a pinned post can be years old. Left in, it stretches the window backwards and inflates the averages with a single outlier that is not representative of current output. YouTube has no equivalent rule.

Data freshness

Every profile carries lastDbUpdateTime: the Unix timestamp in milliseconds at which that creator’s profile and statistics were last refreshed in CreatorDB. lastDbUpdateTime costs 0 credits, so you can request it on its own, or add it to any /profile field list without increasing the cost of the call.
Use it to decide whether a cached figure is still worth trusting, to show your own users an “as of” date, and to explain a discrepancy before it becomes a support ticket. It is the per-creator answer to “how old is this number?”, which no global statement about refresh cadence can give you.

Reconciling a discrepancy

When a CreatorDB figure does not match what a platform displays, work through these in order:
  1. Check lastDbUpdateTime. If the creator was last refreshed some time ago, the gap is age, not a calculation difference.
  2. Check for content published in the last four days. Recent posts are excluded from metrics by design.
  3. Check which window you are reading. A …Recent block and an …All block answer different questions, and on YouTube …All is capped at 800 items.
  4. Check the item count behind the metric. Fewer than six items suppresses the consistency indicators.
  5. Check the denominator. Engagement rate is not defined the same way on every platform or for every content type.
For per-field costs and which fields are free, see Field and Item Costs. For how field selection affects what you pay, see Fractional Calls.
Last modified on September 16, 2026