Ads › Top
Returns TikTok's Creative Center leaderboard of top-performing ads for a market and time window, each with click-through rate, board rank, like count, industry, objective, and the ad video.
Use it to find ad creative that actually performed. It is one window with no cursor, so set limit for depth and change country, period, or order_by for a different board.
Metered: 100–1000 credits. We reserve the ceiling when the call starts and charge what it actually used when it finishes.
Request
- Base URL: https://api.insightsocial.app
- URL: https://api.insightsocial.app/v1/tiktok/ads/top
- Auth: API key in header x-api-key
Query parameters
Creative Center market to read the board for. Defaults to US. This is the market the ads ran in, not the language they are in.
Lookback window in days: 7, 30 or 180. Defaults to 30. A longer window is a different board, not more rows.
How TikTok ranks the board: for_you (TikTok's own blend, the default), ctr, impression, like, cvr, play_2s_rate or play_6s_rate.
Restrict to Spark ads (ads boosted from an organic post) or Non-Spark ads. Defaults to all.
Filter by the language of the ad copy.
TikTok's engagement percentile band, 1 (top) to 5. Use it to read further down the ranking without raising limit.
Creative Center sub-category label, for example 'Skincare' or 'Cosmetics'. Use a sub-category, not a top-level group: the board returns nothing for the broad groups such as 'Financial Services' or 'Education'. Omit for all industries.
Search the board by brand or product keyword.
How many ads to return, 1-100, default 20.
Only rows published on or after this date: YYYY-MM-DD (midnight UTC) or an ISO 8601 timestamp. Rows older than it are left off each page. This list is not in date order, so the walk does not stop at the date: keep following next_cursor, and each page costs what a page costs even when every row on it is filtered out. A row with no date is kept.
Only rows published on or before this date: YYYY-MM-DD (that whole UTC day is included) or an ISO 8601 timestamp. Newer rows are left off each page and the walk does not stop, so older pages follow. A row with no date is kept.
Set to 1 to get the price of this call without making it: data.dry_run carries credits_min and credits_max. Nothing is charged.
Response
Success.
Changes
No recorded changes to this operation across all 1 revision of this API.