TikTokCreative Center
TikTok Top Ads Research
Research curated, high-performing TikTok ads from Creative Center by country, 7/30/180-day window, ranking, industry, objective, and language. Export unique ad rows with optional detail enrichment. This Actor does not cover every running TikTok ad or the EU transparency archive.
- users, last 30 days
- 1
- runs, last 30 days
- 17
- runs, all time
- 21
- users, all time
- 2
Live figures from Apify's public API, refreshed every hour.
TikTok Top Ads Research specifications
| Platform | TikTok |
|---|---|
| Apify actor | data-slayer/tiktok-top-ads-scraper |
| Price | from $1.00 per 1,000 results, plus $0.0025 per run start |
| Inputs | countryCodeperiodorderByindustryKeyobjectiveKeylanguageand 2 more |
| Output | 16 documented fields per row |
| Export formats | JSON, CSV, Excel, XML, HTML |
| TikTok login or cookies | Not required |
| Integrations | Apify REST API, JavaScript and Python clients, n8n, Make, Zapier |
| Last updated | September 25, 2026 (version 0.1.4) |
Run it from code
Replace the example input with your own. You need an Apify API token, which you can create in your Apify account settings.
curl -X POST "https://api.apify.com/v2/acts/data-slayer~tiktok-top-ads-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"countryCode": "US"
}'{
"adId": string,
"detailUrl": string,
"adTitle": string | null,
"brandName": string | null,
"industryKey": string | null,
"objectiveKey": string | null,
"isSearchAd": boolean,
"metrics": object,
"video": object,
"landingPageUrl": string | null,
"keywords": array,
"detailStatus": string,
"observedCountry": string,
"observedPeriodDays": integer,
// + 2 more fields
}Input parameters
8 parameters you can set for each run.
| parameter | type | description |
|---|---|---|
countryCode | string | Country Uppercase ISO two-letter country code used for the Top Ads observation, such as US, GB, DE, BR, JP, or IN. default: US |
period | string | Observation window Top Ads look-back window in days. options: 7, 30, 180 default: 30 |
orderBy | string | Rank by Rank the curated Top Ads by impressions, click-through rate, likes, conversion rate, or play rate. options: impression, ctr, like, cvr, play_6s_rate, play_2s_rate default: impression |
industryKey | string | Industry key Optional Creative Center industry key, for example label_13101000000. Leave empty for all industries. |
objectiveKey | string | Campaign objective Optional campaign objective. Leave empty for all objectives. options: , campaign_objective_conversion, campaign_objective_video_views, campaign_objective_traffic, campaign_objective_app_installs, campaign_objective_reach, campaign_objective_lead_generation, campaign_objective_product_sales |
language | string | Ad language Optional ISO language code such as en, es, or pt-BR. Leave empty for all languages. |
maxResults | integer | Maximum ads Maximum unique Top Ad rows to store. Set to 0 for a no-request, no-write run. default: 100 |
includeDetails | boolean | Include full ad details Fetch one optional detail request per unique ad to add landing page, keywords, richer creative fields, and engagement fields when available. Failed detail lookups fall back to a base row and the lower base-row event. default: false |
Output fields
Each result is one row with these 16 fields, taken from the scraper's dataset schema.
| field | type | description |
|---|---|---|
adId | string | Ad ID |
detailUrl | string | Ad page |
adTitle | string | null | Ad title |
brandName | string | null | Brand |
industryKey | string | null | Industry key |
objectiveKey | string | null | Objective key |
isSearchAd | boolean | Search ad |
metrics | object | Metrics |
video | object | Video |
landingPageUrl | string | null | Landing page |
keywords | array | Keywords |
detailStatus | string | Detail status |
observedCountry | string | Country |
observedPeriodDays | integer | Period days |
observedOrderBy | string | Rank by |
observedAt | string | Observed at |
Pricing
Pay-per-event pricing, billed through your Apify account. Where plan tiers are listed, paid Apify plans get a lower price per event.
| event | price | per 1,000, by Apify plan |
|---|---|---|
| Top Ad One unique curated Top Ad base row successfully added to the default dataset. Empty, duplicate, failed, and unavailable rows are not charged. | $0.0015 each |
|
| Top Ad with details One unique curated Top Ad row successfully added with the optional detail lookup included. This replaces, rather than adds to, the base Top Ad event for that row. | $0.003 each |
|
| Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.0025 per run |
|
Questions
How much does TikTok Top Ads Research cost?
TikTok Top Ads Research uses pay-per-event pricing on Apify. The main charge is $0.0015 per top ad, which is $1.50 per 1,000. On higher Apify plans the price drops to $1.00 per 1,000. Each run also has a start fee of $0.0025.
Do I need to log in to TikTok or share cookies?
No. TikTok Top Ads Research works without your TikTok login or cookies. You only need an Apify account to run it.
Can I use TikTok Top Ads Research through an API?
Yes. Send a POST request to the Apify API with your input and read the results as JSON, or use Apify's official clients for JavaScript and Python. The code examples on this page are ready to copy.
What data does TikTok Top Ads Research return?
Each result is a structured row. Its dataset schema lists 16 fields, including adId, detailUrl, adTitle, brandName, and industryKey.
What formats can I export?
Results are stored in an Apify dataset. You can read it through the API as JSON, or download it as CSV, Excel, XML or HTML.
More TikTok scrapers
All TikTok scrapersTikTok Comments Scraper
No Cookies
Extract comments from any TikTok video without login. Get comment text, like counts, reply threads, timestamps, language detection, pinned status, and full commenter profiles (nickname, username, avatar). No cookies, no authentication. JSON/CSV/Excel export.
- runs/30d
- 48
- users/30d
- 1
TikTokfrom $1.00 / 1K resultsTikTok Profile Scraper
No Cookies
Extract TikTok user profile data by username without login. Get follower/following counts, total likes, video count, bio, profile images, verification status, commerce indicators, bio links, language, and region data. No cookies, no authentication. JSON/CSV/Excel export.
- runs/30d
- 40
- users/30d
- 2
TikTokfrom $1.50 / 1K resultsTikTok Followers Scraper
No Cookies
Extract follower lists from any public TikTok account without login. Get usernames, nicknames, bios, avatars, follower/following counts, video counts, heart counts, verification status, and privacy settings. No cookies, no authentication. JSON/CSV/Excel export.
- runs/30d
- 32
- users/30d
- 0
TikTokfrom $1.50 / 1K resultsTikTok Popular Posts Scraper
No Cookies
Extract top-performing posts from any TikTok profile without login. Get video views, likes, comments, shares, hashtags, music info, author stats, video URLs, and thumbnails. Discover what content goes viral. No cookies, no authentication. JSON/CSV/Excel export.
- runs/30d
- 31
- users/30d
- 0
TikTokfrom $1.50 / 1K resultsTikTok Video Search Scraper
No Cookies
Search TikTok videos by keyword and extract metadata without login. Get video descriptions, duration, resolution, cover images, play URLs, download links, codec info, and file sizes. No cookies, no authentication. JSON/CSV/Excel export.
- runs/30d
- 11
- users/30d
- 2
TikTokfrom $1.50 / 1K resultsTikTok Video Details Scraper
URL or ID
Turn public TikTok video URLs or numeric IDs into clean video, creator, engagement, music, hashtag, caption-language, and timestamp records. Built for one-off checks and bounded batches up to 100 inputs.
- runs/30d
- 10
- users/30d
- 2
TikTokfrom $1.00 / 1K results