TikTok Creative Ads Scraper | Top Ads, Landing Pages & Metrics avatar

TikTok Creative Ads Scraper | Top Ads, Landing Pages & Metrics

Pricing

from $0.83 / 1,000 ads

Go to Apify Store
TikTok Creative Ads Scraper | Top Ads, Landing Pages & Metrics

TikTok Creative Ads Scraper | Top Ads, Landing Pages & Metrics

TikTok Creative Ads scraper for Creative Center Top Ads: 20 top ads in 23 seconds, 48 fields each. Get ad title, industry, objective, budget level, likes, comments, shares, landing page, CTR and reach ranks, retention curve, ad language and video links by market, keyword, link or ad id. No login.

Pricing

from $0.83 / 1,000 ads

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

10 hours ago

Last modified

Share

TikTok Creative Ads Scraper | Top Ads, Landing Pages & Metrics (2026)

TikTok Creative ads, 48 fields each, from any search.

From SilentFlow. Creators of Facebook Search Scraper and Pinterest Scraper, with 540,000+ combined lifetime runs.

The TikTok ads that TikTok itself ranks as the best of each market, in one table: title, industry, objective, likes, comments, shares, landing page, six ranks and a second-by-second retention curve. Pick a market and press Start, or paste keywords, Creative Center links or ad ids. 20 top ads of the United States, every detail included, in 23 seconds on the prefilled run, no TikTok account.

Why choose this actor?

Opening TikTok Creative Center ads one by one to copy a title and a landing page into a spreadsheet? Briefing your next creative on the ads that "look like they work", with no idea how long people actually watch them? Getting a list of top ads with their likes and a video link, then doing the rest by hand?

  • 47 data fields filled on a typical row, against the 38 data keys the most used Top Ads scraper shows in its own output example. On the prefilled run (the 20 top ads of the United States over the last 30 days, sorted by reach, measured on 20 Oct 2026), 47 fields carry a value on at least half of the rows and 39 on every row: industry and its group, campaign objective and every objective the ad ran under, budget band, likes, comments and shares, the landing page and its domain, the countries the ad ran in, its language, whether it is a Spark Ad, its place in the ranking you asked for and its rank in six rankings (reach, likes, click-through rate, 2 and 6-second view rates, conversion rate), the share of viewers still watching at every second, five video resolutions and the cover. None of the ranks, the retention curve, comments, shares or countries appears in that scraper's output example.
  • Three ways in, all in the same run: keywords, Creative Center links and ad ids. The most used Top Ads scraper takes a keyword and nothing else. Here you can also paste the Top Ads page you set up in Creative Center (its region, period, industry, objective and sort are read from the link), the page of one ad, or a watchlist of ad ids to refresh. On a test run, one Japan ranking link, one ad page and one ad id returned 25 ads in 23 seconds.
  • 82 countries and every Top Ads filter, against 24 countries and one industry at a time in the most used Top Ads scraper. Creative Center's region filter shows 28 markets, but Top Ads ranks the best ads of every country TikTok delivers ads to: Poland, Belgium, Switzerland, the Nordics, Egypt, Nigeria, Kenya, Peru, Chile, the Gulf states, Kazakhstan and more, each one in the list of the form. Filters add up: 21 sectors and their 237 subcategories (several in one run), campaign objective, ad format (Spark Ads or not), 16 ad languages and the likes tier. On a test run, Spark Ads in Spanish from the top 20% by likes returned 50 ads of the United States and Mexico in 56 seconds.

Try TikTok Creative Ads Scraper

Try your first TikTok Top Ads ranking

Paste this input into the Input tab (JSON view) and press Start. It is the prefilled input of the form: the 20 most viewed top ads of the United States over the last 30 days, with every detail.

{
"country": "US",
"period": "30",
"sortBy": "reach",
"objective": "all",
"maxItems": 20,
"includeDetails": true
}

The Apify Free plan is enough to run it and to test the actor on your own market and industry: no credit card, no TikTok account, no setup. Each ad becomes one row of the dataset, which you can export as JSON, CSV or Excel, or read from the API.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it the full context of this actor:

You have access to the TikTok Creative Ads Scraper on Apify: silentflow/tiktok-creative-ads-scraper
It reads TikTok Creative Center Top Ads (ads.tiktok.com/business/creativecenter):
the best performing TikTok ads of 82 countries over the last 7, 30 or 180 days. One dataset row per ad.
Input (no field is required; with none of the first three, the market ranking is read):
- keywords (array of strings): words matched in the ad text, e.g. ["skincare", "protein"]. One ranking per keyword and market.
- startUrls (array of {url}): Creative Center links. A Top Ads page keeps its own filters
(https://ads.tiktok.com/business/creativecenter/inspiration/topads/pc/en?region=US&period=30),
an ad page gives one ad (https://ads.tiktok.com/business/creativecenter/topads/<id>/pc/en).
- adIds (array of strings): ad ids, e.g. "7689889505990475797".
- country (string, default "US"): one market or several separated by commas; codes (gb), three-letter codes (gbr), English names (United Kingdom) or "all".
- period (string, default "30"): "7", "30" or "180" days.
- sortBy (string, default "reach"): reach, for_you, likes, ctr, view_2s_rate, view_6s_rate, cvr.
- industries (array of strings): industry ids of a sector or a subcategory, e.g. ["14000000000"] for Beauty & Personal Care, ["14103000000"] for Skincare.
- objective (string, default "all"): traffic, app_installs, conversions, video_views, reach, lead_generation, product_sales, app_promotion.
- adFormat (string, default "all"): spark (Spark Ads) or non_spark.
- adLanguage (string, default "all"): en, es, ar, vi, th, de, id, pt, fr, ms, nl, ja, it, ro, zh-Hant, ko.
- likeTier (string, default "all"): "1" for the top 20% of ads by likes, up to "5" for the last 20%.
- maxItems (integer, default 100): ads in total; several markets share it.
- includeDetails (boolean, default true): landing page, comments, shares, countries, ranks, retention curve, language, Spark Ads flag.
Output per ad (53 fields):
- id, url (permanent Creative Center page), adTitle, brandName
- industry, industryId, industryGroup, objective, objectives (every objective the ad ran under), isSparkAd, isSearchAd, adLanguage, tag, source, hasVoiceOver,
keywords, patternLabels, landingPageUrl, landingDomain
- rank (place in the ranking the row was read from, in the chosen sort, For You included), likes, comments, shares, ctrTopPercent (TikTok's "CTR Top X%" band, lower is better), budgetLevel (Low, Medium, High)
- reachRank, ctrRank, likesRank, view2sRateRank, view6sRateRank, cvrRank (place in each ranking, within its first 200 ads), rankedAmong (ads in the ranking)
- retention2s, retention6s, retentionEnd (share of viewers still watching, 0 to 1), retentionCurve (array of {second, value})
- countryCode (market ranked in), countries (where the ad ran), countriesCount, period (days), sortBy
- videoId, durationSeconds, coverUrl, videoUrl1080p, videoUrl720p, videoUrl540p, videoUrl480p, videoUrl360p, width, height
- searchQuery, scrapedAt (ISO 8601 UTC)
Video and cover links are signed and expire; url is permanent.
Use apify-client for Python or JavaScript, or the Apify MCP server.

How to scrape TikTok top ads from Creative Center

Get the top ads of a market this month

{
"country": "US",
"period": "30",
"maxItems": 50
}

The 50 most viewed ads of the United States over the last 30 days. Creative Center ranked 143 ads in that market and window on 20 Oct 2026; set maxItems to 143 or more to take them all.

Find the best skincare ads in two markets

{
"keywords": ["skincare", "protein"],
"country": "us, gb",
"period": "180",
"maxItems": 30
}

One ranking per keyword and market, four here. Measured run: 30 ads in 1 minute 26 seconds, the cap shared across the four rankings. A keyword is matched in the ad text, so a long window brings the most ads.

Pull the most liked beauty ads that sell, across Europe

{
"country": "de, fr, it, es",
"period": "30",
"sortBy": "likes",
"industries": ["14000000000"],
"objective": "conversions",
"maxItems": 100
}

Filters add up: Beauty & Personal Care only, Conversions campaigns only, most liked first, one ranking per market with its share of the 100 ads.

Spark Ads in Spanish that top the likes

{
"country": "us, mx",
"period": "180",
"adFormat": "spark",
"adLanguage": "es",
"likeTier": "1",
"maxItems": 50
}

Boosted creator posts in Spanish, from the top 20% of ads by likes, in the United States and Mexico. Measured run on 20 Oct 2026: 50 ads, 25 per market, from 27,723 to 2,691,060 likes, 41 of them with a landing page, in 56 seconds.

Input parameters

ParameterTypeDefaultWhat it does
keywordsarray of stringsnoneWords matched in the ad text. One ranking per keyword and market.
startUrlsarray of linksnoneCreative Center Top Ads pages (their filters are kept) or the page of one ad.
adIdsarray of stringsnoneAd ids to read, such as 7689889505990475797.
countrystringUSOne market, several separated by commas, or all.
periodstring307, 30 or 180 days.
sortBystringreachreach, for_you, likes, ctr, view_2s_rate, view_6s_rate, cvr.
industriesarrayallSectors or subcategories, several at once: Beauty & Personal Care, or only Beauty & Personal Care › Skincare. 21 sectors, 237 subcategories.
objectivestringallCampaign objective: Traffic, App Installs, Conversions, Video Views, Reach, Lead Generation, Product Sales, App Promotion.
adFormatstringallspark for Spark Ads (posts of a TikTok account boosted as ads), non_spark for the others.
adLanguagestringallOne of the 16 ad languages Creative Center filters on, such as es or ja.
likeTierstringall1 for the top 20% of ads by likes, up to 5 for the last 20%.
maxItemsinteger100Ads to deliver in total, shared across markets, keywords, links and ids.
includeDetailsbooleantrueLanding page, comments, shares, countries, ranks, retention curve, language and Spark Ads flag. Off: the ranking fields only, much faster.

With no keyword, link or id, the run reads the market ranking of the form. With keywords, it reads one ranking per keyword and market. Links and ids run on their own and leave the market of the form aside.

Accepted formats

  • Countries: two-letter codes (gb), three-letter codes (gbr), English names (United Kingdom, South Korea), in any case, several separated by commas (us, gb, de). The 82 markets are the countries Top Ads ranks, the 28 of Creative Center's region filter and 54 more: United States, United Kingdom, Algeria, Argentina, Australia, Austria, Azerbaijan, Bahrain, Bangladesh, Belarus, Belgium, Bolivia, Brazil, Bulgaria, Cambodia, Canada, Chile, Colombia, Costa Rica, Croatia, Cyprus, Czechia, Denmark, Dominican Republic, Ecuador, Egypt, Estonia, Finland, France, Germany, Greece, Guatemala, Hungary, Indonesia, Iraq, Ireland, Israel, Italy, Japan, Jordan, Kazakhstan, Kenya, Kuwait, Latvia, Lebanon, Lithuania, Malaysia, Mexico, Morocco, Netherlands, New Zealand, Nigeria, Norway, Oman, Pakistan, Panama, Paraguay, Peru, Philippines, Poland, Portugal, Puerto Rico, Qatar, Romania, Saudi Arabia, Serbia, Singapore, Slovakia, Slovenia, South Africa, South Korea, Spain, Sri Lanka, Sweden, Switzerland, Taiwan, Thailand, Turkey, Ukraine, United Arab Emirates, Uruguay and Vietnam. India, Hong Kong, China and Russia have no Top Ads ranking.
  • Top Ads links: https://ads.tiktok.com/business/creativecenter/inspiration/topads/pc/en?region=FR&period=7&orderBy=ctr. The region (several separated by commas), period, industry, second-level industry, objective, sort, ad language, ad format, likes tier and keyword of the link are read.
  • Ad pages: https://ads.tiktok.com/business/creativecenter/topads/7683070385843978260/pc/en, with or without the device and language at the end. A countryCode and period in the link are kept on the row.
  • Ad ids: the number alone (7689889505990475797) or the link of the ad page.
  • Industries: sector and subcategory ids from the form; through the API, also short ids (14), English names (Food & Beverage) or the title of the form (Beauty & Personal Care › Skincare).
  • Ad languages: codes in any case (es, zh-hant) or English names (Spanish).
  • Ad format and likes tier: spark or non_spark; 1 to 5. all keeps every value.

What data can you extract from TikTok Creative Center?

Each row is one ad, with 53 top-level fields in six groups:

  • Identity (4): id (Creative Center's ad id, stable), url (the permanent Creative Center page of the ad), adTitle, brandName.
  • Content (15): industry (the subcategory, such as Skincare or Women's Shoes), industryId, industryGroup (the first-level industry), objective, objectives (every campaign objective the ad ran under: 8 ads of 20 on the prefilled run had more than one), isSparkAd, isSearchAd (Creative Center's search ad flag), adLanguage, tag (Expert's Choice, High Engagement or Most Favored when TikTok pins one), source, hasVoiceOver, keywords, patternLabels (creative patterns TikTok tags game ads with, such as Hook or Game play), landingPageUrl, landingDomain.
  • Measures (17): rank (the place of the ad in the ranking it was read from, in the sort you chose, For You included), likes, comments, shares, ctrTopPercent, budgetLevel, reachRank, ctrRank, likesRank, view2sRateRank, view6sRateRank, cvrRank, rankedAmong, retention2s, retention6s, retentionEnd, retentionCurve.
  • Market and time (5): countryCode (the market the ad was ranked in), countries (every country the ad ran in, up to 82 for one ad of the prefilled run), countriesCount, period, sortBy.
  • Media (10): videoId, durationSeconds, coverUrl, videoUrl1080p, videoUrl720p, videoUrl540p, videoUrl480p, videoUrl360p, width, height.
  • Run (2): searchQuery (the keyword that found the ad), scrapedAt.

A few facts that help when you use the data:

  • url and id are permanent; video and cover links are signed links that expire, so download the files you want to keep.
  • ctrTopPercent is the band TikTok shows on each card ("CTR Top 37%"): lower is better. ctrRank is the exact place of the ad in the CTR ranking.
  • Ranks are read within the first 200 ads of each ranking. An ad placed deeper in one of them keeps null for that rank, and rankedAmong says how many ads the ranking holds (up to 500).
  • retentionCurve has one point per second of the video, the share of viewers still watching against the start (1). retention2s and retention6s read it at 2 and 6 seconds, retentionEnd at the last second.
  • brandName is only filled when the advertiser set one (2 ads of 20 on the prefilled run); landingDomain names the brand on most rows that link out.
  • Absent values are null, never an empty string, and scrapedAt is ISO 8601 in UTC.

Output example

One full row of the prefilled run (the most viewed ad of the United States over the last 30 days on 20 Oct 2026):

{
"id": "7689612745177514004",
"url": "https://ads.tiktok.com/business/creativecenter/topads/7689612745177514004/pc/en",
"adTitle": "new Aerocano: espresso, ice, and air-whipped into something dreamy, like Belmont Cameli",
"brandName": null,
"industry": "Life & Leisure",
"industryId": "20107000000",
"industryGroup": "Apps",
"objective": "Reach",
"objectives": ["Reach", "Video Views"],
"isSparkAd": true,
"isSearchAd": true,
"adLanguage": "en",
"tag": null,
"source": "TikTok Ads Manager",
"hasVoiceOver": false,
"keywords": null,
"patternLabels": null,
"landingPageUrl": "https://starbucks.app.link/e4fg2oW2D6b?%243p=a_tiktok&%24deeplink_no_attribution=true&%7Ecustomer_placement=tiktok&%7Ecampaign=fy2627fallsocial&%7Ecreative_name=aerocano",
"landingDomain": "starbucks.app.link",
"rank": 1,
"likes": 40119,
"comments": 36,
"shares": 312,
"ctrTopPercent": 37,
"budgetLevel": "High",
"reachRank": 1,
"ctrRank": 29,
"likesRank": 9,
"view2sRateRank": 24,
"view6sRateRank": 25,
"cvrRank": 116,
"rankedAmong": 143,
"retention2s": 0.0539,
"retention6s": 0.0187,
"retentionEnd": 0.0115,
"retentionCurve": [
{"second": 0, "value": 1},
{"second": 1, "value": 0.1097},
{"second": 2, "value": 0.0539},
{"second": 3, "value": 0.0345},
{"second": 4, "value": 0.0266},
{"second": 5, "value": 0.0221},
{"second": 6, "value": 0.0187},
{"second": 7, "value": 0.0162},
{"second": 8, "value": 0.0141},
{"second": 9, "value": 0.0128},
{"second": 10, "value": 0.0119},
{"second": 11, "value": 0.0115}
],
"countryCode": "US",
"countries": ["US"],
"countriesCount": 1,
"period": 30,
"sortBy": "reach",
"videoId": "v1c033g50000darft3nog65jj026pee0",
"durationSeconds": 11.03,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0051c001-sg/ootID6b4EFAM5tEgQNODcOjZvcfc6nqt0BAfBo~tplv-noop.image?dr=18692&refresh_token=712e23d1&x-expires=1792510159&x-signature=qj9UtL7C6hQpeFnHSlFm800b410%3D&t=9276707c&ps=14f1eb3e&shp=9e36835a&shcp=317596d8&idc=my&VideoID=v1c033g50000darft3nog65jj026pee0",
"videoUrl1080p": "https://v16m-default.tiktokcdn.com/fcbc688db84bb400c376556022acf855/6ad788cf/video/tos/alisg/tos-alisg-ve-0051c001-sg/oAtFA2GgCIqKLlUyjAeF2eX7lKRaffMnAIGk0Q/?a=0&bti=NTU4QDM1NGA%3D&&bt=3728&ft=cApXJCz7ThWHRz5_LGZmo0P&mime_type=video_mp4&rc=MzY5OzU6OmZkPGVoM2dmZkBpM2g5M205cjZpZDMzODYzNEAvMF4vNTVeXzUxYTUuMzUyYSNibS9nMmRrcW9hLS1kMGBzcw%3D%3D&vvpl=1&l=202610201729076837F48516C8B05EC22F&btag=e000b0000",
"videoUrl720p": "https://v16m-default.tiktokcdn.com/4dd93ca534eeb22aef1ae6dc0226f4b2/6ad788cf/video/tos/alisg/tos-alisg-ve-51c799-sg/osGncFMDEIdQgytZvuf64DOANaAfqDcjBgHXB7/?a=0&bti=NTU4QDM1NGA%3D&&bt=1267&ft=cApXJCz7ThWHRz5_LGZmo0P&mime_type=video_mp4&rc=OTg2NjQ7ZDVpZDw1PDc3O0BpM2g5M205cjZpZDMzODYzNEAxY2IxNTY2Xy4xLWE0NDVgYSNibS9nMmRrcW9hLS1kMGBzcw%3D%3D&vvpl=1&l=202610201729076837F48516C8B05EC22F&btag=e000b0000",
"videoUrl540p": "https://v16m-default.tiktokcdn.com/ea06582a58a72e2180874db020e08821/6ad788cf/video/tos/alisg/tos-alisg-ve-0051c001-sg/oUfFHoXe7bNqLGAKgyKI2fjGAIeMAVAL8O2GRi/?a=0&bti=NTU4QDM1NGA%3D&&bt=1400&ft=cApXJCz7ThWHRz5_LGZmo0P&mime_type=video_mp4&rc=aDk7ODU6ZzY8NTZkNjRoO0BpM2g5M205cjZpZDMzODYzNEBeYWAvMDJeNS0xL141LmEtYSNibS9nMmRrcW9hLS1kMGBzcw%3D%3D&vvpl=1&l=202610201729076837F48516C8B05EC22F&btag=e000b0000",
"videoUrl480p": "https://v16m-default.tiktokcdn.com/ee6f5a83ce3b79c027d14506c4f751b1/6ad788cf/video/tos/alisg/tos-alisg-ve-0051c001-sg/ogIFGneGAQKC2UqMef0kN2RftFlAQIytLgCXIA/?a=0&bti=NTU4QDM1NGA%3D&&bt=1004&ft=cApXJCz7ThWHRz5_LGZmo0P&mime_type=video_mp4&rc=M2Q6ZTdmZDM1NmRkZmZmN0BpM2g5M205cjZpZDMzODYzNEBgL2JhMC4xNS8xM2EtLTVeYSNibS9nMmRrcW9hLS1kMGBzcw%3D%3D&vvpl=1&l=202610201729076837F48516C8B05EC22F&btag=e000b0000",
"videoUrl360p": "https://v16m-default.tiktokcdn.com/67451fe916f2dd62e615d2419effa009/6ad788cf/video/tos/alisg/tos-alisg-ve-0051c001-sg/owentLXAGdFIEUAeKEGRAqIl2QLy2f2OfLkMFF/?a=0&bti=NTU4QDM1NGA%3D&&bt=677&ft=cApXJCz7ThWHRz5_LGZmo0P&mime_type=video_mp4&rc=Zzc6ZzZpPDo8aWRnZGk2aUBpM2g5M205cjZpZDMzODYzNEAuMi02NC9gXjYxLTEwYi00YSNibS9nMmRrcW9hLS1kMGBzcw%3D%3D&vvpl=1&l=202610201729076837F48516C8B05EC22F&btag=e000b0000",
"width": 720,
"height": 1280,
"searchQuery": null,
"scrapedAt": "2026-10-20T09:29:30Z"
}

Advanced usage

Track a watchlist of competitor ads every week

{
"adIds": ["7689889505990475797", "7683070385843978260", "7683173229765312532"],
"includeDetails": true
}

Save the ids of the ads you follow and schedule this input weekly in Apify. Each run refreshes their likes, comments, shares, landing page and retention curve, so you see which ones keep growing.

Replay a Top Ads view you built in Creative Center

{
"startUrls": [
{ "url": "https://ads.tiktok.com/business/creativecenter/inspiration/topads/pc/en?region=JP&period=7&orderBy=ctr" }
],
"maxItems": 50
}

Set the filters on the Top Ads page, copy the link and paste it here: the region, period, sort, industry and objective of the link are kept. The measured run on this link read the 23 ads Creative Center ranked in Japan over 7 days, sorted by click-through rate.

Compare one industry across markets

{
"country": "us, gb, de, fr, br, jp",
"period": "30",
"industries": ["27000000000"],
"maxItems": 120
}

Food & Beverage in six markets, one ranking per market with up to 20 ads each. countryCode tells the markets apart and countries shows the ads that run in several of them.

Find the hooks that hold viewers

{
"country": "US",
"period": "7",
"sortBy": "view_6s_rate",
"maxItems": 40
}

The ads of the week that keep the most viewers past 6 seconds, with the full retention curve of each: compare the first seconds of the winners before you brief the next video.

Pull a large list fast

{
"country": "all",
"period": "180",
"sortBy": "likes",
"industries": ["14000000000", "27000000000"],
"objective": "conversions",
"maxItems": 500,
"includeDetails": false
}

With details off, each row carries the ranking fields only (title, industry, objective, likes, budget, CTR band, the rank of the chosen sort, video links), which is much faster. Measured run: 60 Beauty and Food ads selling to conversions, all markets, in 2 seconds; the most liked had 4,671,556 likes.

FAQ

Do I need a TikTok account or a TikTok Ads Manager login? No. Top Ads is public in TikTok Creative Center, and the actor reads what a visitor sees there. No login, no API key.

What is TikTok Creative Center Top Ads? Creative Center is TikTok's free inspiration site for advertisers. Its Top Ads page ranks the best performing ads of each market by reach, likes, click-through rate, view rates and conversion rate, over the last 7, 30 or 180 days, with filters by industry, objective, ad format, language and likes tier.

How many ads can I get? Creative Center ranks up to 500 ads per market, period and set of filters (143 for the United States over 30 days on 20 Oct 2026). To go further, add markets, keywords or industries: each one is a separate ranking, and maxItems caps the run.

How fresh is the data? Every run reads Creative Center live, at run time. The period is the window the ranking covers: the last 7, 30 or 180 days.

Is ctrTopPercent the click-through rate? No. TikTok does not publish click-through rates on Top Ads; it shows a band, "CTR Top 37%", which the row keeps as ctrTopPercent (lower is better). For a precise order, use ctrRank.

Why is a rank null on some rows? Ranks are read within the first 200 ads of each ranking. An ad placed deeper in one ranking keeps null for that rank only. With includeDetails off, only the rank of the chosen sort is filled.

Why is brandName empty on most ads? Advertisers leave it blank on most Top Ads (2 ads of 20 on the prefilled run had one). The landing page and its domain identify the brand on most ads that link out.

Does it give spend, impressions or targeting? No, TikTok does not publish them in Top Ads. You get the budget band (Low, Medium, High), the reach rank, likes, comments, shares and the countries the ad ran in.

Can I combine filters? Yes. Market, period, sort, industries, objective, ad format, ad language and likes tier add up: country: "gb", industries: ["14000000000"], objective: "conversions" and sortBy: "likes" returns the most liked Beauty & Personal Care ads selling to conversions in the United Kingdom.

Do the video links last? Video and cover links are signed links that expire after some time, so download the files you want to keep. The url of the ad page and the id are permanent: run the id again to get fresh links.

Why does a keyword return few ads? A keyword is matched in the ad text, and Top Ads is a selection of the best ads, not every ad. Use the last 180 days, several markets or all, and short words: "skincare" over 180 days returned 500 ranked ads in the United States.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This actor extracts publicly available data from TikTok Creative Center's Top Ads, the inspiration library TikTok publishes for advertisers. It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with TikTok's terms of service and applicable data protection laws (GDPR, CCPA, and PIPL where relevant). Ads are published by businesses, but an ad title can name a person, such as a creator tagged in it: when the output contains personal data, users must handle it accordingly. The data returned is informational; verify accuracy for regulated use cases.

TikTok Creative Ads Scraper by SilentFlow: TikTok's own top ads as a dataset, for the markets, keywords and ads you choose.