TikTok Ads Scraper
Pricing
from $1.19 / 1,000 tiktok ads
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
Maintained by CommunityActor 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?
| Field | Description |
|---|---|
ad_title | The ad's copy (caption) |
brand_name | The advertiser's brand, when Creative Center shows one |
likes | Likes on the ad video |
ctr, ctr_tier | CTR percentile rank from Creative Center; 0.06 / Top 6% means the ad's click-through rate is in the top 6% |
budget, cost_tier | Creative Center's budget level: Low (0), Medium (1), or High (2) |
objective, objectives | Campaign objective, such as Conversions, Traffic, or Reach |
industry, industry_group | Specific industry (such as Skincare) and its top-level group (such as Beauty & Personal Care) |
is_spark_ad, ad_format | Whether the ad is a Spark Ad (a boosted post from a TikTok account) |
landing_page | Where the ad sends clicks, when TikTok shows it |
countries | Markets the ad ran in, as listed on its Creative Center page |
comments, shares | Comments and shares on the ad |
video_url, video_url_hd, cover_url | Links to the video (720p and highest available) and cover image; TikTok media links expire after a while |
video_duration_seconds, video_width, video_height | Creative length and size |
market, period_days, source_url | Where and over what window the ad was ranked, and its Creative Center page |
How to scrape TikTok Top Ads
- Open TikTok Ads Scraper and click Try for free or Start.
- In Country, enter a two-letter market such as
US,GB, orDE. Leave it empty for all markets. - Choose a Period: last 7, 30, or 180 days.
- Optionally pick an Industry, Campaign objective, Ad format, or type a Keyword.
- Choose Sort by and set Max ads (1 to 500).
- Pick Detailed for landing pages, markets, comments, and HD video, or Concise for the core fields only.
- Click Start, then open the Output tab or export the ads as JSON, CSV, or Excel.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
country | string | No | empty (all markets) | Two-letter market code, such as US, GB, or DE. The form pre-fills US. |
period | string | No | 7 | Time window in days: 7, 30, or 180. |
industry | string | No | all | One of 21 Creative Center industries, such as Beauty & Personal Care, Games, or E-Commerce (Non-app). |
objective | string | No | all | Traffic, App Installs, Conversions, Video Views, Reach, Lead Generation, or Product Sales. |
adFormat | string | No | both | Spark Ads or Non-Spark Ads. |
keyword | string | No | β | Keeps ads whose copy or brand name contains all of these words (whole words, any order). |
orderBy | string | No | For You | For You, Likes, CTR, Impressions, CVR, 2s View Rate, or 6s View Rate. |
maxResults | integer | No | 50 | Ads to return, from 1 to 500. The form pre-fills 20. |
responseFormat | string | No | detailed | detailed or concise. |
proxyConfiguration | object | No | no proxy | Network 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 ApifyClientclient = 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
- The actor asks TikTok Creative Center for Top Ads that match your market, period, industry, objective, ad format, and sort order.
- 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.
- If you set a keyword, it keeps ads whose copy or brand name contains every word.
- If TikTok blocks a request, the actor retries through Apify Proxy automatically.
- 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.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
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 it legal to scrape TikTok Creative Center?
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?
Other TikTok scrapers and related Actors
| Actor | Best for |
|---|---|
| TikTok Live Search Scraper | TikTok LIVE rooms broadcasting now, with viewers and stream URLs |
| TikTok Shop Reviews Scraper | TikTok Shop product reviews and ratings |
| TikTok Story Viewer | Active TikTok stories with no-watermark video links |
| TikTok Slideshow Downloader | Saving 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.