· 15 min read
TikTok Creative Center Top Ads Scraper: 18 Data Fields per Record
Each record returned from the TikTok Creative Center Top Ads Scraper carries 18 output fields, including direct video download URLs at up to five resolutions, alongside performance metrics such as click-through rate (CTR) and like count. You can filter results by country, time period, industry, and campaign objective. This Actor is ideal for marketers and advertising strategists looking to understand competitive landscapes and identify ad creative trends. It is not suitable for those requiring historical ad performance beyond 180 days, as the Creative Center's API does not expose older data.
Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 1,000 results at $0.005 each before platform usage. Open TikTok Creative Center Top Ads Scraper on Apify and run the prefilled example.
How reliable is TikTok Creative Center Top Ads Scraper in production?
Across the last 30 days of public runs on the Apify platform, TikTok Creative Center Top Ads Scraper recorded 54 runs with the following outcomes.
| Outcome | Runs | Share |
|---|---|---|
| Succeeded | 50 | 92.6% |
| Failed | 2 | 3.7% |
| Aborted by the user | 1 | 1.9% |
| Timed out | 1 | 1.9% |
| Total | 54 | 100.0% |
In the last 30 days, 5.6% of runs failed or timed out. This suggests you should implement retries for scheduled runs or consider using smaller input batches to mitigate potential issues. Aborted runs are user-initiated and do not reflect Actor instability, so no specific handling for them is required in your automation.
What does it cost to run TikTok Creative Center Top Ads Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
Worked example: collecting 10,000 results costs $50.00 in result charges before run-start fees and platform usage. With 5.6% of runs failing or timing out in the last 30 days, budget for re-running a portion of those batches rather than assuming every run completes.
The primary cost driver for this Actor is the maxItems input control, as result charges are $0.005 per ad. To determine if this Actor meets your needs before committing to larger expenses, begin with a small maxItems value like 5 on your first run. This initial run will cost at most $0.025 in result charges.
How do you run TikTok Creative Center Top Ads Scraper from the API?
None of its 7 controls is strictly required, so the defaults below produce a valid run on their own. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~tiktok-top-ads-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"country":"US","period":"30","objective":"","orderBy":"for_you","maxItems":5}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"country": "US",
"period": "30",
"objective": "",
"orderBy": "for_you",
"maxItems": 5
}
run = client.actor("crawlerbros~tiktok-top-ads-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"country": "US",
"period": "30",
"objective": "",
"orderBy": "for_you",
"maxItems": 5
}
const run = await client.actor('crawlerbros~tiktok-top-ads-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.
Which TikTok Creative Center Top Ads Scraper inputs matter, and which can you skip?
The Actor exposes 7 controls, with country, period, and maxItems being the most impactful for defining your dataset. For initial exploration, set country to your target market and period to "30" days. You can leave industry and objective empty to get a broader view of top ads before narrowing down your focus.
country(string): ISO 2-letter country code (e.g. US, GB, DE). Leave empty for all countries. Default:"US".period(string): Time period for the top ads ranking Default:"30".industry(string): Industry filter key from the filters API (e.g. label_14104000000). Leave empty for all industries.objective(string): Campaign objective to filter by Default:"".language(string): Language code (e.g. en, es, ar). Leave empty for all languages.orderBy(string): How to rank the top ads Default:"for_you".maxItems(integer): Maximum number of ads to collect Default:30.
Fixed-choice controls: period accepts 7 (Last 7 days), 30 (Last 30 days), 180 (Last 180 days); objective accepts "" (All Objectives), campaign_objective_conversion (Conversion), campaign_objective_video_views (Video Views), campaign_objective_traffic (Traffic), campaign_objective_app_installs (App Installs), campaign_objective_reach (Reach), campaign_objective_lead_generation (Lead Generation), campaign_objective_product_sales (Product Sales); orderBy accepts for_you (Recommended (For You)), ctr (Click-Through Rate (CTR)), like (Likes).
What does TikTok Creative Center Top Ads Scraper return?
The returned records are valuable for analyzing ad creative trends and competitor strategies, providing key performance metrics like CTR and direct video download URLs. However, they do not include advertiser contact details or full campaign spend figures, which means you cannot directly reach out to advertisers or determine exact budgets from this data alone.
adId- unique TikTok ad identifieradTitle- ad headline or creative titlebrandName- advertiser or brand namecost- cost tier indicator (0 or 1)ctr- click-through rate (float)like- total like countindustryKey- TikTok's industry classification key (e.g.label_14104000000)objectiveKey- campaign objective key (e.g.campaign_objective_conversion)isSearch- true when the ad appeared in a search placementvideoId- TikTok video ID for the ad creativeduration- video duration in secondsvideoCoverUrl- cover/thumbnail image URLvideoUrls- object with resolution-keyed download URLs:360p,480p,540p,720p,1080pvideoWidth- video width in pixelsvideoHeight- video height in pixelsobservedCountry- country code used for this queryobservedPeriod- time period in days used for this queryscrapedAt- ISO 8601 timestamp of collection
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open TikTok Creative Center Top Ads Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Run the Actor with
countryset to your target market (e.g., "US"),periodto "30" (30 days), andorderByto "for_you". SetmaxItemsto 10 for an initial inspection of the output. - Review the
industryKeyandobjectiveKeyfields in the results. Identify and note any specific key values that are relevant to your analysis. - Refine your input by using the discovered
industryandobjectivekeys to narrow down results. Experiment withorderByset to "ctr" or "like" to see different ranking perspectives. - Increase
maxItemsup to 500 as needed. If you need data for multiple countries, configure and run the Actor separately for eachcountryparameter. - To track trends, schedule the Actor to run weekly or daily. Ensure you have a method to store historical records of the top ads for comparison.
- Set up a post-processing step to download the video files using the
videoUrlsprovided, as these URLs may expire and should be accessed promptly.
How do you apply it? Three worked playbooks
These are TikTok Creative Center Top Ads Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Ad creative research
Outcome: Study the highest-performing video ad creatives by market, period, and objective to inform your own campaigns
Configure: Set country to a specific market (e.g., "DE"), period to "7", and objective to campaign_objective_conversion. For a first run, leave industry empty to discover available keys.
Working method: Start with broad filters to establish a baseline of top ads. Analyze common themes in adTitle and brandName. Use videoUrls to download and examine video creatives. Iterate by applying specific industry and objective filters to segment the data.
Deliverable: A detailed report outlining observed creative trends by market segment, including adTitle, brandName, ctr, and links to downloaded video creatives for use in your campaigns.
Stop condition: The output records consistently lack videoUrls or ctr values, preventing meaningful creative analysis or performance benchmarking.
Use case 2: Trend spotting
Outcome: Track which ad formats, durations, and video styles dominate the leaderboard week over week
Configure: Schedule the Actor to run weekly. Set country to a key market (e.g., "US") and period to "7". Experiment with orderBy set to "for_you" or "like" to capture different ranking perspectives.
Working method: Collect top ads from each scheduled run. Compare duration, videoWidth, and videoHeight across runs to spot shifts in video format preferences. Analyze the distribution of objectiveKey to identify rising campaign goals and watch for new industryKey values emerging.
Deliverable: A weekly trend brief summarizing changes in average video duration, aspect ratios, dominant campaign objectives, and newly prominent industries among top-performing ads in your target market.
Stop condition: The dataset shows a high proportion of duplicate adId entries across consecutive runs, indicating a static leaderboard and a lack of new trends to track.
Use case 3: Competitor intelligence
Outcome: Identify competitor brands appearing in the top-ads leaderboard and download their creative for analysis
Configure: Set country to your primary market (e.g., "GB") and period to "30". Use orderBy set to "ctr" to prioritize high-performing ads. Apply your known industry filter if available.
Working method: Run the Actor initially without an industry filter to gather a broad set of ads. Sort results by ctr to pinpoint effective campaigns. Identify brandName values belonging to your competitors. Once found, apply the industry filter to focus subsequent runs. Download competitor ad videos via videoUrls for creative analysis.
Deliverable: A curated list of competitor ad campaigns, including their adTitle, brandName, ctr, and videoUrls for creative download, presented in a report detailing their high-performing strategies.
Stop condition: Consistently fewer than 10 top ads are returned, suggesting the leaderboard is sparse or the applied filters are too restrictive to identify competitors.
What breaks, and how do you design around it?
- Over the last 30 days, 3.7% of public runs failed and 1.9% timed out. Build retries and alerting around those rates rather than assuming every run completes.
The maximum maxItems is 500 ads per run. If your analysis requires more, split your queries by different countries or period settings across multiple runs and merge the results. The industry and objective filters require specific keys; you will need an initial run without these filters to discover valid values from the industryKey and objectiveKey fields in the output.
When should you not use TikTok Creative Center Top Ads Scraper?
Do not use this Actor if your primary need is to track specific ad campaigns that are no longer actively running or appear in the Creative Center. The TikTok Creative Center focuses on currently high-performing ads and does not serve as a comprehensive historical archive. For a broader, more persistent record of ads, consider an alternative like the TikTok Ads Library Scraper Pro, which scrapes TikTok's public ad transparency library by query, advertiser, region, and date range. Similarly, if your goal is to analyze specific ad creatives from competitor profiles, the TikTok Profile Scraper might be a more direct approach, allowing you to extract video histories from identified profiles. This Actor is also not suitable for tracking ad performance in countries not supported by the Creative Center or if you require detailed demographic targeting data beyond what the Creative Center provides.
What should you check before trusting the output?
- Check that each ad record has a non-null
adId. Missing identifiers indicate incomplete or malformed records. - Verify that
ctrvalues are valid floating-point numbers within a logical range, typically between 0 and 1. Out-of-range values suggest data issues. - Inspect the
videoUrlsobject to confirm that valid download links are present at the expected resolutions (e.g., "360p", "720p"). Consistent missing or broken URLs indicate a failure to retrieve video assets. - Confirm that the
observedCountryandobservedPeriodfields in the output match the input parameters used for the run. Mismatches may suggest incorrect filtering. - Monitor the
brandNameandadTitlefields for blank or generic values, which could signal that data was not fully collected.
None of this proves a record is correct. It gives a scheduled TikTok Creative Center Top Ads Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
How accurate are the CTR and like counts?
The ctr and like counts are sourced directly from the TikTok Creative Center API. These metrics reflect the performance data as presented by TikTok's own platform, making them reliable indicators of an ad's effectiveness within that context. The orderBy control allows you to rank ads by these metrics for focused analysis.
Can I filter by multiple industries or objectives at once?
No. The industry and objective input fields accept only a single key value each. If you need to collect data for multiple industries or objectives, you must configure and run the Actor separately for each combination, then consolidate the results in your post-processing workflow.
What happens if a video URL expires?
The videoUrls provided in the output records are direct download links that may expire after a certain period. To ensure access to the video creatives, you should integrate a post-collection process to download and store the videos as soon as possible after the Actor run completes. This prevents loss of access due to URL expiry.
What is the cost of running this Actor for an entire country for 180 days?
On Apify's free plan, each result costs $0.005. If a run for a single country and 180-day period returns the maximum 500 ads, the result charges would be $2.50. This does not include the run-start fee or platform usage, which are billed separately. You can use Apify's free plan with $5.00 monthly usage to experiment.
How do I find the industryKey values to use as filters?
To discover valid industryKey values, first run the Actor with the industry field left empty. The output records will include an industryKey field for each ad. Inspect these values, note down the ones relevant to your target industries, and then use them in subsequent runs to apply specific filters.
Where to go next
When you are ready to run it, open TikTok Creative Center Top Ads Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the TikTok Creative Center Top Ads Scraper Actor page for the current input schema, pricing tier, and run history.
It is part of the TikTok Scraping Suite, which puts every related Actor on one page with its price and run history.
If you are comparing approaches rather than committing to one Actor, these category pages list every option we publish:
- Video and transcript scrapers covers 46 Actors in this family.
Other Actors we maintain for related data:
- TikTok Ads Library Scraper Pro: Scrape TikTok's public ad transparency library by query, advertiser, region, and date range.
- TikTok Hashtag Trends Scraper: Track trending TikTok hashtags from the Creative Center.
- Google Ads Transparency Center Scraper: Scrape live and recent ads shown through Google - search by advertiser name, domain, or exact advertiser ID.
- TikTok Post Scraper: Scrape TikTok posts by URL and extract comprehensive video metadata including engagement stats, author information, music details, and hashtags.
- TikTok Hashtag Scraper: Scrape TikTok videos by hashtag without cookies.
- TikTok Profile Scraper: Scrape TikTok profiles and their video or repost history.
- TikTok Playlist Scraper: Scrape TikTok playlists - discover all playlists for a profile, get playlist metadata, and extract all videos.
- TikTok Search Scraper: Scrape TikTok videos by keyword search.
Related guides:
- TikTok Ads Library Scraper Pro: 3 Practical Use Cases
- TikTok Hashtag Trends Scraper: Up to 1,000 Free Results a Month (2026)
- TikTok Explore/Trending Scraper: 26 Data Fields per Record (2026)
- TikTok Hashtag Scraper: Operational Playbooks and Data Workflows
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-29.
Actor last updated by its maintainers on 2026-06-30.
Run outcome figures cover the 30 day public window ending 2026-09-29.
Featured actors
TikTok Creative Center Top Ads Scraper
Scrape the highest-performing TikTok ads from the Creative Center. Filter by country, period, industry, and objective. Get video URLs, CTR, and ad metadata.
Run on Apify ↗