TikTok Top Ads Scraper avatar

TikTok Top Ads Scraper

Pricing

from $0.69 / 1,000 tiktok ads

Go to Apify Store
TikTok Top Ads Scraper

TikTok Top Ads Scraper

Scrape TikTok Creative Center Top Ads by market, period, industry, objective, language, Spark format and likes tier. Get ad copy, brand, likes, CTR tier, budget, video URLs, landing page and keywords. Export JSON, CSV, Excel.

Pricing

from $0.69 / 1,000 tiktok ads

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

3

Monthly active users

8 days ago

Last modified

Categories

Share

TikTok Top Ads Scraper

TikTok Top Ads Scraper extracts the best-performing ads from TikTok Creative Center Top Ads with ad copy, brand, likes, CTR tier, budget level, industry, objective, Spark ad flag and video links, filtered by market, period, industry, objective, language, ad format and likes tier.

Collect up to 3,000 TikTok top ads per run, far beyond the 20 that one Creative Center list shows, and optionally add each ad's landing page, comments, shares and markets for ad spy, creative research and competitor tracking.

ParseBird TikTok Suite   •  Trends, ads, LIVE, shop, stories, slideshows & videos
TikTok Trends Scraper
Trending hashtags, sounds, creators
TikTok Ads Scraper
Creative Center Top Ads
TikTok Top 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
TikTok Video Downloader
MP4 videos to your cloud storage

Copy to your AI assistant

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

TikTok Top Ads Scraper (Apify actor parsebird/tiktok-top-ads-scraper) scrapes TikTok Creative Center Top Ads (ads.tiktok.com/business/creativecenter/inspiration/topads). Call it with the Apify API client: client.actor("parsebird/tiktok-top-ads-scraper").call(run_input={"maxItems": 100, "countryCode": "US", "period": "30"}). Inputs: maxItems (integer 1-3000, default 100); extractDetails (boolean, default false; adds landing page, comments, shares, markets, objectives, ad source; billed as a separate details event); countryCode (two-letter market such as US, GB, DE, FR, JP, BR, or empty for all); period ("7", "30" or "180" days, default "30"); industry (Creative Center industry name such as "Beauty & Personal Care", "Apps", "Games", "E-Commerce (Non-app)"); objective (campaign_objective_traffic, campaign_objective_app_install, campaign_objective_conversion, campaign_objective_video_view, campaign_objective_reach, campaign_objective_lead_generation, campaign_objective_product_sales); adLanguage (two-letter code such as en, es, ja); adFormat ("Spark ads" or "Non-Spark ads"); likeTier ("1" = Top 1-20% ... "5" = Top 81-100%); orderBy (for_you, like, ctr, impression, cvr, play_2s_rate, play_6s_rate); keyword (matched against ad text and brand). Output: one row per ad with adId, adTitle, brandName, ctr, ctrTier, likes, costScore, budgetLevel, industryName, industryGroup, objectiveName, isSparkAd, adFormatLabel, isSearch, videoId, durationSec, width, height, coverUrl, videoUrl720p (and other resolutions), rank, the filters used, detailUrl, creativeCenterUrl, scrapedAt, and with details: landingPageUrl, comments, shares, countries, objectives, adSource, keywords, tags. API docs: https://apify.com/parsebird/tiktok-top-ads-scraper/api. Get a token: https://console.apify.com/settings/integrations

What is TikTok Top Ads Scraper?

TikTok Top Ads Scraper turns TikTok's Creative Center Top Ads library into structured data. Top Ads is TikTok's public gallery of high-performing ads, ranked by reach, likes, CTR, conversion rate and view rates. The scraper returns every ad's copy, brand, likes, CTR tier, budget level, industry, campaign objective, Spark ad flag, video duration, cover image and video URLs, and with details on, the landing page, comments, shares and the markets where it ran.

It works as a TikTok Creative Center API alternative: no TikTok account and no browser. The easiest way to try it is to keep the example settings (US, last 30 days), click Start, and download the ads as JSON, CSV or Excel a few seconds later.

What can TikTok Top Ads Scraper do?

  • 🎯 Every Creative Center filter: market, period (7, 30 or 180 days), industry, campaign objective, ad language, Spark or non-Spark format and likes tier.
  • ↕️ Seven sort orders: For You, Likes, CTR, Reach, CVR, 2-second and 6-second view rate.
  • 📦 Up to 3,000 ads per run: one Creative Center list stops at 20 ads, so the scraper splits your filters into narrower lists and merges them without duplicates.
  • 🔗 Full ad details (optional): landing page URL, comments, shares, markets, all campaign objectives and ad source.
  • 🎬 Video assets: cover image, video URLs per resolution, duration and size.
  • 🔍 Keyword filter: keep only ads whose text or brand mentions your keyword.

As an Apify Actor it also gives you scheduling for weekly ad monitoring, a REST API, integrations with Google Sheets, Zapier, Make, Slack and webhooks, and exports to JSON, CSV, Excel, XML and HTML.

What data can you extract from TikTok Top Ads?

FieldDescription
adId, adTitle, brandNameCreative Center ad ID, ad text and brand
likesLikes on the ad
ctr, ctrTierCTR percentile from Creative Center (0.15 = "Top 15%"; lower is better)
costScore, budgetLevelBudget level 0/1/2 = Low/Medium/High
industryName, industryGroup, objectiveNameIndustry, parent industry and campaign objective
isSparkAd, adFormatLabel, isSearchSpark ad flag and search placement flag
videoId, durationSec, width, heightVideo metadata
coverUrl, videoUrl720p (and other resolutions)Cover image and video file links
rankPosition in your results
countryCode, periodDays, orderBy, industryLabel, filterObjective, adLanguage, adFormat, likeTier, keywordThe filters used for the row
detailUrl, creativeCenterUrlAd page and list page on Creative Center
landingPageUrl, comments, shares, countries, objectives, adSourceFull ad details (with Fetch full ad details)

How to scrape TikTok Top Ads

  1. Open TikTok Top Ads Scraper in Apify Console.
  2. Set Max top ads and pick a Market and Period.
  3. Optionally narrow by Industry, Campaign objective, Ad language, Ad format or Likes, and choose Sort by.
  4. Turn on Fetch full ad details if you need landing pages, comments and shares.
  5. Click Start.
  6. Download the ads from the Output tab as JSON, CSV, Excel, XML or HTML, or read them through the API.

Input parameters

ParameterTypeRequiredDefaultDescription
maxItemsintegerNo100Top ads to save, up to 3,000
extractDetailsbooleanNofalseAdd landing page, comments, shares, markets, objectives and ad source
countryCodestringNoall marketsMarket, e.g. US, GB, DE, FR, JP, BR
periodstringNo307, 30 or 180 days
industrystringNoallCreative Center industry, e.g. Beauty & Personal Care, Games, Apps
objectivestringNoalle.g. campaign_objective_conversion, campaign_objective_traffic
adLanguagestringNoallTwo-letter language code, e.g. en, es, ja
adFormatstringNoallSpark ads or Non-Spark ads
likeTierstringNoall1 (Top 1-20%) to 5 (Top 81-100%)
orderBystringNofor_youfor_you, like, ctr, impression, cvr, play_2s_rate, play_6s_rate
keywordstringNo—Keep ads whose text or brand contains these words
proxyConfigurationobjectNooffSwitches to Apify Proxy automatically if TikTok blocks requests

Input examples

Quick start (US, last 30 days):

{ "maxItems": 100, "countryCode": "US", "period": "30" }

UK beauty Spark ads in English, best CTR first, with details:

{
"maxItems": 100,
"extractDetails": true,
"countryCode": "GB",
"period": "30",
"industry": "Beauty & Personal Care",
"adLanguage": "en",
"adFormat": "Spark ads",
"orderBy": "ctr"
}

Output example

{
"adId": "7678457872176676872",
"adTitle": "AD adding a little extra collagen support to my routine with @Kiehlsuki 1cc Collashot Plump Serum ✨💗 ...",
"brandName": "kiehl's",
"ctr": 0.15,
"ctrTier": "Top 15%",
"likes": 2707,
"costScore": 2,
"budgetLevel": "High",
"industryName": "Beauty & Personal Care",
"industryGroup": "Beauty & Personal Care",
"objectiveKey": "campaign_objective_reach",
"objectiveName": "Reach",
"isSparkAd": true,
"adFormatLabel": "Spark ads",
"isSearch": true,
"videoId": "v24044gl0000da65e5vog65tf8ro28pg",
"durationSec": 19.367,
"width": 576,
"height": 1024,
"coverUrl": "https://p16-common-sign.tiktokcdn.com/...",
"videoUrl720p": "https://v16m-default.tiktokcdn.com/...",
"rank": 2,
"countryCode": "GB",
"periodDays": 30,
"orderBy": "ctr",
"industryLabel": "Beauty & Personal Care",
"adLanguage": "en",
"adFormat": "1",
"filterAdFormatLabel": "Spark ads",
"detailUrl": "https://ads.tiktok.com/business/creativecenter/topads/7678457872176676872/pc/en?period=30&countryCode=GB",
"creativeCenterUrl": "https://ads.tiktok.com/business/creativecenter/inspiration/topads/pc/en?period=30&region=GB&order_by=ctr",
"detailFetched": true,
"landingPageUrl": "https://www.kiehls.co.uk/skin-care/category/facial-oils-serums/1cc-collashot-plump-serum/WW0368KIE.html?...",
"comments": 7,
"shares": 12,
"countries": ["GB"],
"objectives": ["Reach", "Video Views", "Traffic"],
"adSource": "Others",
"scrapedAt": "2026-10-05T13:43:37.457Z"
}

Long URLs are shortened above. Video and cover links are signed by TikTok and expire after a while, so download files you need soon after the run.

How to use the TikTok Top Ads API

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("parsebird/tiktok-top-ads-scraper").call(run_input={
"maxItems": 500,
"countryCode": "US",
"period": "30",
"industry": "Games",
"orderBy": "like",
})
for ad in client.dataset(run["defaultDatasetId"]).iterate_items():
print(ad["likes"], ad["ctrTier"], ad["adTitle"][:60])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('parsebird/tiktok-top-ads-scraper').call({
maxItems: 200,
countryCode: 'GB',
period: '7',
extractDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((ad) => [ad.brandName, ad.landingPageUrl]));

Get your token in Apify Console → Integrations. Full endpoint reference is on the API tab.

Use cases

  • TikTok ad spy: see which ads perform best in your industry and market, and how competitors pitch.
  • Creative research: study hooks, durations and Spark vs non-Spark formats of high-CTR ads.
  • Landing page and offer research: collect where top ads send traffic and which offers they promote.
  • Trend monitoring: schedule a weekly run per market and track how the top ads change.
  • Agency reporting: export top ads by industry into Google Sheets for client pitches.

How it works

  1. Your filters are sent to Creative Center's Top Ads list, the same data the website shows.
  2. Because one list shows at most 20 ads, the scraper splits the filters into narrower lists (format, objective, likes tier, industry, market, language and sort order) and merges the results without duplicates.
  3. With details on, each ad's detail page data is added.
  4. Rows are saved in the order of your Sort by choice, up to Max top ads.

How much does it cost to scrape TikTok Top Ads?

TikTok Top Ads Scraper uses pay-per-event pricing with two events:

EventFreeBronzeSilverGold
result, per 1,000 ads$0.99$0.89$0.79$0.69
details, per 1,000 ads with full details$1.99$1.79$1.59$1.39

details is charged only when Fetch full ad details is on and the details were fetched. For example, 1,000 ads cost $0.99 on the Free plan, or $2.98 with full details. Compute and proxy costs are included in the event price, and you can set a maximum spend per run in Apify Console.

FAQ

How many ads can I get? Up to 3,000 per run. Broad filters reach that: a global 180-day run collected 3,000 ads in about 70 seconds in our tests. Narrow filter combinations can have far fewer ads on Creative Center; the run then saves all it finds and says how many were listed.

How does the keyword filter work? Creative Center's own keyword search is only available to logged-in users, so the scraper collects top ads for your other filters and keeps those whose ad text or brand name contains your keyword. Keyword runs search more lists, so they take longer, and matches can be rare: "nike" matched 3 ads out of about 4,500 global 180-day top ads.

What does ctr mean? Creative Center shows CTR as a percentile among top ads, not a raw click rate. 0.15 means "Top 15%", and lower values are better.

Are keywords and tags included? The keywords and tags fields are filled when Creative Center provides them for an ad. In our tests on 1,000 ads with details they were empty for every ad, while landing pages were available for about 70% of them.

Why are some isSparkAd values null? Spark status comes from Creative Center's Spark / non-Spark lists. A few ads appear in neither list during a run, and their status stays unknown.

Do I need a TikTok account or proxy? No. Runs start without a proxy and switch to Apify Proxy automatically if TikTok blocks the requests.

Something is missing or not working? Open an issue on the Issues tab and we will look into it.

Our scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You can also read our blog post on the legality of web scraping.

Other TikTok scrapers

ActorWhat it scrapes
TikTok Ads ScraperCreative Center Top Ads with concise or detailed output
TikTok Trends ScraperTrending hashtags, sounds, creators and videos
TikTok Live Search ScraperTikTok LIVE rooms by keyword
TikTok Shop Reviews ScraperTikTok Shop product reviews
TikTok Slideshow DownloaderPhotos from TikTok slideshow posts
TikTok Story ViewerActive public TikTok stories by username