Skip to content
    ↑↓ to choose · Enter to open

    · 15 min read

    TikTok Creative Center Top Ads Scraper: 18 Data Fields per Record

    By CrawlerBros Engineering Team

    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 identifier
    • adTitle - ad headline or creative title
    • brandName - advertiser or brand name
    • cost - cost tier indicator (0 or 1)
    • ctr - click-through rate (float)
    • like - total like count
    • industryKey - 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 placement
    • videoId - TikTok video ID for the ad creative
    • duration - video duration in seconds
    • videoCoverUrl - cover/thumbnail image URL
    • videoUrls - object with resolution-keyed download URLs: 360p, 480p, 540p, 720p, 1080p
    • videoWidth - video width in pixels
    • videoHeight - video height in pixels
    • observedCountry - country code used for this query
    • observedPeriod - time period in days used for this query
    • scrapedAt - 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.

    1. Run the Actor with country set to your target market (e.g., "US"), period to "30" (30 days), and orderBy to "for_you". Set maxItems to 10 for an initial inspection of the output.
    2. Review the industryKey and objectiveKey fields in the results. Identify and note any specific key values that are relevant to your analysis.
    3. Refine your input by using the discovered industry and objective keys to narrow down results. Experiment with orderBy set to "ctr" or "like" to see different ranking perspectives.
    4. Increase maxItems up to 500 as needed. If you need data for multiple countries, configure and run the Actor separately for each country parameter.
    5. 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.
    6. Set up a post-processing step to download the video files using the videoUrls provided, 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 ctr values are valid floating-point numbers within a logical range, typically between 0 and 1. Out-of-range values suggest data issues.
    • Inspect the videoUrls object 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 observedCountry and observedPeriod fields in the output match the input parameters used for the run. Mismatches may suggest incorrect filtering.
    • Monitor the brandName and adTitle fields 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:

    Other Actors we maintain for related data:

    Related guides:

    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.

    • TikTok Creative Center Top Ads Scraper on Apify

    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 ↗