TikTok Creative Center Top Ads Scraper - CTR & Landing Pages
Pricing
from $1.50 / 1,000 top ads
TikTok Creative Center Top Ads Scraper - CTR & Landing Pages
Export the best-performing TikTok ads from Creative Center Top Ads: ad text, CTR percentile, likes, budget class, video and cover links. Filter by country, period, keyword, industry and objective, and add landing pages, countries, comments and shares when you need them.
Pricing
from $1.50 / 1,000 top ads
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
TikTok Creative Center Top Ads Scraper
Export the TikTok Creative Center Top Ads by country, keyword, industry, campaign objective and time period. Export the ad text, available brand name, video cover, MP4 links, likes, budget class and CTR percentile rank. Turn on ad details to collect landing pages, landing domains, countries, comments and shares alongside the original creative. Built for media buyers, dropshippers, user-acquisition teams and agencies who want winning TikTok ad examples in a spreadsheet instead of scrolling the Creative Center website.
What the TikTok Creative Center scraper collects
Top Ads is TikTok's collection of ads that advertisers have authorised for inclusion in Creative Center. It is useful for reviewing creative hooks, comparing video lengths, finding examples of a campaign objective and assembling a swipe file for a particular market. It is a curated collection rather than a complete record of every advertisement that has run on TikTok.
Each dataset row represents one unique creative. Its creative_id remains a string so large TikTok IDs keep their full precision. The text field contains the ad title or caption. The advertiser_name field contains the source brand name when one is available; TikTok often leaves it empty, and the scraper preserves that empty value instead of guessing a brand from the landing URL.
The row also includes a public detail_url, its position in the requested ranking, industry and objective identifiers and names, video duration and dimensions, and all MP4 URLs that the source makes available. Optional detail fields include the countries listed for the creative, comment and share counts, source provenance and the source voice-over flag. The source keyword list is commonly null and should not be treated as a guaranteed set of keywords.
Use cases
- Creative research for media buyers. Pull the highest-CTR ads for your market and objective and study their hooks, captions and video lengths before briefing a new batch of creatives.
- Product and niche discovery for dropshippers. Search a keyword such as a product name or category and see which stores are advertising it, which landing pages they use and how many likes the ads collect.
- Swipe files for agencies. Build a searchable archive of TikTok ad examples per industry and country for pitches, client workshops and creative reviews.
- Competitive monitoring for UA teams. Run the same filters every week and compare which creatives enter or leave the ranking, using
creative_idas a stable key. - Enriching other ad datasets. Join
target_domainto search-ad libraries or company data to see where an advertiser also buys media.
Input
Choose country_code, for example US, GB or NL. You can supply a comma-separated list of supported country codes, or use ALL for all countries. The default market is the United States. Choose a lookback period of 7, 30 or 180 days; the default is 30 days.
Use order_by to select for_you, ctr, like, impression, play_2s_rate, play_6s_rate or cvr. These are the rankings offered by the source. The scraper returns the available metrics on each ad, rather than inventing exact impression or conversion counts from a ranking option. Set limit between 1 and 500 to control the total number of unique ads requested. The default limit is 20.
Optional filters include keyword, industry, objective, ad_language and ad_format. Industries accept their numeric IDs or exact English names. Objectives accept an ID, an English name such as Conversions, or the source objective key. Multiple industries or objectives can be separated by commas. Spark ads use spark or 1; non-Spark ads use non_spark or 2. Unsupported filter values produce an input error before collection begins.
Set include_details to true to retrieve the extra detail fields. This is false by default. Larger collections continue automatically in the actor. Customers using the direct API can continue with next_cursor, preserving the original filters and limit. A returned warning identifies any requested details that could not be collected.
Output
Results are stored in the default dataset and can be downloaded as JSON, CSV or Excel. The actor's OUTPUT record reports the delivered volume, charges, warnings and free-tier information. Each row includes fetched_at in UTC so a saved creative can be compared with a later collection.
The ctr_percentile field requires particular care: it is a percentile rank, not the measured click-through rate. A value of 0.37 means the Creative Center label “CTR Top 37%”. Lower percentile values indicate a stronger relative position. The source does not disclose the absolute click-through rate in this response. Likewise, cost_index is a budget class: 0 means low, 1 means medium and 2 means high. budget_tier provides the matching text label. Neither field is a spend amount or a cost per click.
With successful details, landing_url preserves the landing page exactly, including tracking parameters and campaign macros. target_domain is the lowercase hostname without a leading www.. Some landing URLs lead to tracking domains, so this domain may identify a tracker rather than the advertiser's website. Empty landing pages remain null. The scraper does not follow redirects to infer another company.
Example dataset row
A real row from a United States collection (30 days, for_you ranking, details on). The signed image_url, video_url and video_urls fields and a few source identifiers are left out here for readability; they are present in every dataset row.
{"creative_id": "7684006387986710546","advertiser_name": "","text": "The @DIME Beauty Daily Exfoliating Cleanser has saved my skin. I can finally put on makeup comfortably now, without feeling like everything is constantly shedding off @Ulta Beauty #DIMEpartner #skincare #tretinoin #ultafinds #exfoliation ","target_domain": "dimebeautyco.com","landing_url": "https://dimebeautyco.com/collections/all-skincare?utm_source=tiktok&utm_medium=paid&utm_id=__CAMPAIGN_ID__&utm_campaign=__CAMPAIGN_NAME__&wm_source=tiktok&wm_medium=ads&wm_ad_id=__CID__","region": "US","rank": 4,"ctr_percentile": 0.74,"cost_index": 0,"budget_tier": "low","likes": 22,"industry_name": "Beauty & Personal Care","objective_name": "Video Views","video_duration": 61.734,"video_width": 720,"video_height": 1280,"period": 30,"order_by": "for_you","detail_url": "https://ads.tiktok.com/business/creativecenter/topads/7684006387986710546/pc/en?countryCode=US&period=30","details_fetched": true,"countries": ["US"],"comments": 0,"shares": 0,"keyword_list": null,"fetched_at": "2026-10-04T23:44:40.059Z"}
Here ctr_percentile 0.74 means "CTR Top 74%", cost_index 0 is the low budget class, and the landing page keeps the advertiser's tracking parameters exactly as TikTok returns them.
Pricing
Collection is accounted for per delivered ad. A successfully delivered detail has a separate event, allowing list-only collection and detailed collection to be priced separately. The current price for each event is shown in this actor's Pricing tab. Failed details are not charged as successful details, and a search with no matching ads does not produce an ad charge. There is no invented credit system or duplicated charge for a creative that appears again during pagination.
Users without a paid Apify plan receive up to ten ads per run. Optional details remain available within that limit. Paid users can request up to the source's maximum of 500 ads for one filter combination, subject to how many ads TikTok actually makes available.
How this compares to other ways of getting TikTok top ads
| Option | What you get | Limits |
|---|---|---|
| TikTok Creative Center website | Browse Top Ads one card at a time, with filters | No export, no bulk download, manual copy of landing pages |
| TikTok Commercial Content Library (ads library) | Ads shown in the EU and other regulated markets, with targeting disclosures | A different collection: no CTR rank, no Top Ads ranking, different coverage |
| Paid ad-spy subscriptions | Large archives across networks | Monthly fees, seat licences, data locked in their interface |
| This TikTok Creative Center scraper | Top Ads as JSON, CSV or Excel with CTR percentile, likes, budget class, video links and optional landing pages | Only what Creative Center publishes, at most 500 ads per filter combination |
You pay per delivered ad, so a small weekly check costs very little, and the output plugs straight into spreadsheets, BI tools or your own pipeline through the Apify API.
Limitations
Creative Center can return fewer ads than requested, especially for a narrow country, keyword or objective. The 500-ad ceiling belongs to the selected filter combination. It is not a promise that 500 ads exist for every market. For a broader research set, collect separate relevant country, industry or objective combinations and join them by creative_id.
Video and cover links are signed and temporary, normally lasting about six hours. Download the media promptly if you want to preserve it in a creative archive. The actor exports links, rather than permanently hosting the video files. Rankings and available creatives can change between calls; the collection avoids duplicate IDs but cannot freeze TikTok's catalogue in time.
FAQ
What is the difference between TikTok Creative Center and the TikTok Ads Library?
TikTok Creative Center Top Ads is a curated ranking of ads that advertisers allowed TikTok to showcase, with CTR percentile, likes and budget class. The TikTok Ads Library (Commercial Content Library) is a transparency archive of ads shown in regulated regions. This actor collects the Creative Center Top Ads ranking, not the transparency archive.
Do I need a TikTok account or login?
No. The actor collects the public Creative Center Top Ads data without a TikTok login or an Ads Manager account.
Is ctr_percentile the actual click-through rate?
No. It reports the source's relative percentile position. A value of 0.09 means Top 9%, not a 9% click-through rate. Lower is better for this particular metric.
Why is the advertiser name or landing URL empty?
TikTok does not disclose those values for every creative. The scraper keeps missing names empty and missing landing pages null. Enable details for landing-page data when it is available.
Can I collect more than 500 ads?
A single source filter combination is limited to 500. You can research additional country, industry or objective combinations and deduplicate the combined data by creative ID. A single actor run accepts a maximum limit of 500.
Why did a video link stop working?
Signed media links expire. Download them shortly after the collection, or fetch the creative again to obtain a fresh link if TikTok still lists it.
Can I use the domain to join another advertising dataset?
Yes. target_domain can join a landing host to a company dataset or another ad library. Review tracking hosts before treating that join as proof of advertiser identity.