TikTok Ads Scraper avatar

TikTok Ads Scraper

Pricing

from $1.19 / 1,000 tiktok ads

Go to Apify Store
TikTok Ads Scraper

TikTok Ads Scraper

Scrape TikTok Top Ads from Creative Center by country, industry, objective, ad format and period. Get ad copy, brand, likes, CTR rank, budget level, objective, industry, video and cover URLs, landing page. Export JSON, CSV, Excel.

Pricing

from $1.19 / 1,000 tiktok ads

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

TikTok Ads Scraper

TikTok Ads Scraper pulls the best-performing ads from the TikTok Creative Center Top Ads library and returns each ad's copy, brand, likes, CTR rank, budget level, campaign objective, industry, landing page, and video links.

Filter TikTok Top Ads by market, 7/30/180-day period, 21 industries, 7 campaign objectives, and Spark or Non-Spark format, sort by likes, CTR, reach, or CVR, and get up to 500 ads per run with no TikTok login.

ParseBird TikTok Suite Β Β β€’Β Β Trends, ads, LIVE, shop, stories & slideshows
TikTok Trends Scraper
Trending hashtags, sounds, creators
TikTok Ads Scraper
You are here
TikTok Live Search Scraper
LIVE rooms broadcasting now
TikTok Shop Reviews Scraper
Product reviews and ratings
TikTok Story Viewer
Active stories, no-watermark video
TikTok Slideshow Downloader
Photo-mode posts as image files

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Use Apify Actor parsebird/tiktok-ads-scraper to scrape TikTok Creative Center Top Ads (best-performing TikTok ads). Example with ApifyClient (Python): client.actor("parsebird/tiktok-ads-scraper").call(run_input={"country":"US","period":"30","objective":"Conversions","orderBy":"CTR","maxResults":50}). Inputs (all optional): country string two-letter market code such as US, GB, DE, JP, BR (empty = all markets); period string "7" | "30" | "180" (default "7"); industry string, one of Apparel & Accessories, Apps, Appliances, "Baby, Kids & Maternity", Beauty & Personal Care, Business Services, E-Commerce (Non-app), Education, Financial Services, Food & Beverage, Games, Health, Home Improvement, Household Products, Life Services, News & Entertainment, Pets, Sports & Outdoor, Tech & Electronics, Travel, Vehicle & Transportation; objective string, one of Traffic, App Installs, Conversions, Video Views, Reach, Lead Generation, Product Sales; adFormat "Spark Ads" | "Non-Spark Ads"; keyword string (all words must appear as whole words in the ad copy or brand name); orderBy "For You" | "Likes" | "CTR" | "Impressions" | "CVR" | "2s View Rate" | "6s View Rate" (default For You); maxResults integer 1-500 (default 50); responseFormat "detailed" (default) | "concise". Output: one row per ad with ad_id, ad_title, brand_name, likes, ctr (percentile rank, 0.06 = top 6%), ctr_tier ("Top 6%"), budget (Low/Medium/High), is_spark_ad, industry, objective, market, period_days, video_duration_seconds, video_url, cover_url, source_url, scraped_at; detailed adds industry_group, objectives[], ad_format, cost_tier (0-2), comments, shares, countries[], landing_page, ad_source, keywords[], tags[], video_url_hd, video_width, video_height, video_id. TikTok media links expire after a while. API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.

What is TikTok Ads Scraper?

TikTok Ads Scraper is a TikTok Creative Center API alternative for the Top Ads library. TikTok ranks the ads that performed best on its platform by market, industry, objective, and time window. This actor turns that library into structured TikTok ad data: ad copy, brand, likes, CTR rank, budget level, objective, industry, landing page, and downloadable video and cover links.

You don't need a TikTok account, cookies, or an API key. The easiest way to try it is to open the actor, keep the prefilled US, last 30 days, 20 ads input, and click Start. A run like that takes about 15 seconds.

TikTok Ads Scraper covers the Creative Center Top Ads library only. It is not a full TikTok Ad Library (all ads by one advertiser) scraper, and it does not collect regular TikTok videos.

What can TikTok Ads Scraper do?

  • πŸ† Scrape TikTok Top Ads ranked by TikTok Creative Center for the last 7, 30, or 180 days.
  • 🌍 Filter by market: US, GB, DE, FR, JP, BR, and other markets, or all markets at once.
  • 🎯 Filter by campaign setup: 21 industries, 7 campaign objectives, and Spark Ads or Non-Spark Ads.
  • πŸ“Š Sort the way Creative Center does: For You, Likes, CTR, Impressions (reach), CVR, 2-second view rate, or 6-second view rate.
  • πŸ”Ž Find ads by keyword in the ad copy or brand name.
  • 🎬 Get creative files: video links (up to 1080p when TikTok has it), cover image, duration, and size.
  • πŸ”— See where ads send traffic: landing page URL, all markets the ad ran in, comments, and shares (detailed mode).
  • ⏱️ Monitor ad trends with Apify schedules, for example a weekly run per market.
  • πŸ”Œ Integrate with the Apify API, webhooks, and integrations such as Google Sheets, Make, Zapier, and Slack.
  • πŸ“ Export as JSON, CSV, Excel, HTML, or XML.

What data can you extract from TikTok Creative Center?

FieldDescription
ad_titleThe ad's copy (caption)
brand_nameThe advertiser's brand, when Creative Center shows one
likesLikes on the ad video
ctr, ctr_tierCTR percentile rank from Creative Center; 0.06 / Top 6% means the ad's click-through rate is in the top 6%
budget, cost_tierCreative Center's budget level: Low (0), Medium (1), or High (2)
objective, objectivesCampaign objective, such as Conversions, Traffic, or Reach
industry, industry_groupSpecific industry (such as Skincare) and its top-level group (such as Beauty & Personal Care)
is_spark_ad, ad_formatWhether the ad is a Spark Ad (a boosted post from a TikTok account)
landing_pageWhere the ad sends clicks, when TikTok shows it
countriesMarkets the ad ran in, as listed on its Creative Center page
comments, sharesComments and shares on the ad
video_url, video_url_hd, cover_urlLinks to the video (720p and highest available) and cover image; TikTok media links expire after a while
video_duration_seconds, video_width, video_heightCreative length and size
market, period_days, source_urlWhere and over what window the ad was ranked, and its Creative Center page

How to scrape TikTok Top Ads

  1. Open TikTok Ads Scraper and click Try for free or Start.
  2. In Country, enter a two-letter market such as US, GB, or DE. Leave it empty for all markets.
  3. Choose a Period: last 7, 30, or 180 days.
  4. Optionally pick an Industry, Campaign objective, Ad format, or type a Keyword.
  5. Choose Sort by and set Max ads (1 to 500).
  6. Pick Detailed for landing pages, markets, comments, and HD video, or Concise for the core fields only.
  7. Click Start, then open the Output tab or export the ads as JSON, CSV, or Excel.

Input parameters

ParameterTypeRequiredDefaultDescription
countrystringNoempty (all markets)Two-letter market code, such as US, GB, or DE. The form pre-fills US.
periodstringNo7Time window in days: 7, 30, or 180.
industrystringNoallOne of 21 Creative Center industries, such as Beauty & Personal Care, Games, or E-Commerce (Non-app).
objectivestringNoallTraffic, App Installs, Conversions, Video Views, Reach, Lead Generation, or Product Sales.
adFormatstringNobothSpark Ads or Non-Spark Ads.
keywordstringNoβ€”Keeps ads whose copy or brand name contains all of these words (whole words, any order).
orderBystringNoFor YouFor You, Likes, CTR, Impressions, CVR, 2s View Rate, or 6s View Rate.
maxResultsintegerNo50Ads to return, from 1 to 500. The form pre-fills 20.
responseFormatstringNodetaileddetailed or concise.
proxyConfigurationobjectNono proxyNetwork settings. If TikTok blocks a request, the actor switches to Apify Proxy on its own.

Input / Output

Example input, top conversion ads in the US over 30 days sorted by CTR:

{
"country": "US",
"period": "30",
"objective": "Conversions",
"orderBy": "CTR",
"maxResults": 50
}

A real output row from that input (detailed format; long video and cover links are shortened):

{
"ad_id": "7679096403545178120",
"brand_name": "",
"ad_title": "Experience an adventure that will live in your heart forever. See Disney’s THE LION KING.",
"likes": 310,
"ctr_tier": "Top 7%",
"ctr": 0.07,
"budget": "Medium",
"is_spark_ad": true,
"industry": "Live Events",
"objective": "Conversions",
"market": "US",
"period_days": 30,
"video_duration_seconds": 30.016,
"video_url": "https://v16m-default.tiktokcdn.com/4154fdb918f243dce92ce4277aee30e4/...",
"cover_url": "https://p19-common-sign.tiktokcdn.com/tos-alisg-p-0051c001-sg/...",
"industry_group": "News & Entertainment",
"objectives": ["Conversions", "Traffic"],
"ad_format": "Spark Ads",
"cost_tier": 1,
"comments": 1,
"shares": 5,
"countries": ["US", "JP", "BR", "PH", "CL", "CA", "ES", "ID", "MX", "KR", "FR", "AR", "IT"],
"landing_page": "https://lionking.com/tickets/?utm_source=tiktok&utm_medium=paid&utm_campaign=tlk-30-tv-spot",
"ad_source": "TikTok Ads Manager",
"keywords": [],
"tags": [],
"video_url_hd": "https://v16m-default.tiktokcdn.com/aafc3d343c2c9eef4f96324649fe880f/...",
"video_width": 720,
"video_height": 1280,
"video_id": "v14033g50000da8qkmvog65nf8mb88ag",
"source_url": "https://ads.tiktok.com/business/creativecenter/topads/7679096403545178120/pc/en?period=30&countryCode=US",
"scraped_at": "2026-09-30T12:05:17.040Z"
}

With "responseFormat": "concise", each row stops at cover_url and adds source_url and scraped_at. Download results in JSON, CSV, Excel, HTML, or XML.

Python API example

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parsebird/tiktok-ads-scraper").call(run_input={
"country": "GB",
"period": "30",
"industry": "Beauty & Personal Care",
"orderBy": "Likes",
"maxResults": 30,
})
for ad in client.dataset(run["defaultDatasetId"]).iterate_items():
print(ad["likes"], ad["ctr_tier"], ad["objective"], ad["ad_title"][:60])

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('parsebird/tiktok-ads-scraper').call({
country: 'US',
period: '7',
adFormat: 'Spark Ads',
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const landingPages = items.filter((ad) => ad.landing_page).map((ad) => ad.landing_page);
console.log(`${items.length} ads, ${landingPages.length} with a landing page`);

See the Python client and JavaScript client docs for more options.

Use cases

  • Creative research: collect winning TikTok ad hooks, captions, and video lengths in your industry.
  • Competitor ad monitoring: track which brands and landing pages appear in Top Ads for your market each week.
  • Media buying benchmarks: compare CTR rank and budget level by objective, industry, or market.
  • Agency pitch decks: pull top ads for a client's industry with cover images and video links.
  • Ad creative datasets: build a library of top-performing ad videos and copy for analysis or AI training.

How it works

  1. The actor asks TikTok Creative Center for Top Ads that match your market, period, industry, objective, ad format, and sort order.
  2. Creative Center shows only 20 ads per list to visitors who are not logged in. To return more, the actor also queries narrower slices of the same filters (by ad format, objective, industry, and sort order) and removes duplicates.
  3. If you set a keyword, it keeps ads whose copy or brand name contains every word.
  4. If TikTok blocks a request, the actor retries through Apify Proxy automatically.
  5. In detailed mode, it opens each ad's Creative Center detail record for landing page, markets, comments, and shares, then saves one row per ad.

How much does it cost to scrape TikTok ads?

What is the price per TikTok ad?

The actor uses pay-per-event pricing: you pay per ad saved, and platform usage is included.

EventFree planBronzeSilverGold
ad-scraped$0.00179 ($1.79 / 1,000)$0.00159 ($1.59 / 1,000)$0.00139 ($1.39 / 1,000)$0.00119 ($1.19 / 1,000)

One ad-scraped event is one ad saved to the dataset. The prefilled 20-ad test costs about $0.04 on the Free plan, and 500 ads cost $0.90. Runs that find no ads are not charged for results. Apify's free plan includes monthly platform credits you can use to try the actor.

Is scraping TikTok ads data legal?

The actor reads only the Top Ads data that TikTok Creative Center shows publicly to visitors who are not logged in. Scraping public data is generally legal in many jurisdictions, but ad videos and copy are protected by copyright, so don't republish creatives as your own. Respect TikTok's Terms of Service and consult your lawyer if unsure. Read more in Apify's guide: Is web scraping legal?

ActorBest for
TikTok Live Search ScraperTikTok LIVE rooms broadcasting now, with viewers and stream URLs
TikTok Shop Reviews ScraperTikTok Shop product reviews and ratings
TikTok Story ViewerActive TikTok stories with no-watermark video links
TikTok Slideshow DownloaderSaving every photo from TikTok photo-mode posts

FAQ

How many ads can I get per run? Up to 500. Creative Center reports how many Top Ads match your filters (for example about 130 for the US over 30 days, and up to a few hundred for all markets over 180 days). Narrow filters, such as one industry in one market over 7 days, can have only a handful of ads. The run log and status message tell you when Creative Center had fewer ads than you asked for.

What does ctr mean? Is it the real click-through rate? No. Creative Center publishes a CTR percentile rank, not the raw rate. ctr: 0.06 is shown on Creative Center as "Top 6%", so lower values are better. Sorting by CTR puts the best-ranked ads first.

What is budget / cost_tier? Creative Center's budget level for the ad (the money spent running the ad video): Low (0), Medium (1), or High (2). TikTok does not publish exact spend.

How does the keyword filter work? TikTok Creative Center only runs keyword search for logged-in users. The actor instead collects Top Ads for your other filters and keeps ads whose copy or brand name contains all of your keyword's words as whole words, in any order and ignoring case. For example, free matches "Free shipping" but not "FreeStyle". A multi-word keyword also matches its hashtag form, so skincare routine matches #skincareroutine. Broad filters (all markets, 180 days) give a keyword more ads to match.

Why is is_spark_ad null for some ads? Creative Center doesn't list the format on each ad. The actor works it out from Spark and Non-Spark filtered lists, and leaves null when an ad doesn't appear in either list.

Why do video links stop working? TikTok's media links are signed and expire after a while. Download the videos soon after the run, or run the actor again for fresh links.

Which countries are supported? The Creative Center Top Ads filter lists 28 markets, including US, GB, DE, FR, IT, ES, NL, SE, CA, MX, BR, AU, JP, KR, ID, TH, VN, and AE. Other codes, such as PE, also returned ads in our tests. Codes Creative Center doesn't cover return no ads.

Can I schedule runs or use the API? Yes. Use Apify schedules for recurring runs, and the API tab on the actor page for endpoints and client code.

Where can I report issues? Open the Issues tab on the actor page with your input and run ID.