TikTok Ads Scraper avatar

TikTok Ads Scraper

Pricing

from $3.00 / 1,000 tiktok ad scrapeds

Go to Apify Store
TikTok Ads Scraper

TikTok Ads Scraper

Scrape TikTok Creative Center Top Ads. Get video URLs, brands, CTR tiers, Spark Ads, likes & creative intel. Filter 50+ countries, 19 industries, 7 objectives. No login. PPE: $0.003/ad.

Pricing

from $3.00 / 1,000 tiktok ad scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

๐ŸŽฏ TikTok Ads Scraper โ€” Creative Center Top Ads Spy

Extract competitor TikTok ad creatives, video URLs, brand names, CTR tiers, likes, CTAs & landing pages from TikTok Creative Center. Filter by 50+ countries, 19 industries, 7 objectives, and ad formats. No login or TikTok API key required.

Stop wasting hours scrolling through competitor ads manually. This actor intercepts TikTok's internal Top Ads API, returning structured JSON you can drop straight into a swipe file, creative brief, or spreadsheet โ€” with direct video download links, advertiser metadata, and performance signals.


What You Get

FieldExample
ad_id7613813410505555976
brand_name"pacificmilllofts" (may be empty for Spark Ads)
ad_title"Love the space you're in with loftโ€‘style apartmentsโ€ฆ"
video_urlhttps://v16m-default.tiktokcdn.com/... (720p, signed โ€” 24-48h expiry)
video_url_hd1080p version when available
cover_urlStatic thumbnail (longer expiry)
video_idv10033g50000d7g424fog65u2g23hrg0
video_duration_seconds15.034
video_width / video_height720 / 1280
likes2,360
ctr0.61 (normalized 0-1)
ctr_tiertop_10% / top_25% / top_50% / below_50%
cost_tier0-5 (relative spend signal)
favoritetrue/false (TikTok-featured creative)
is_spark_adtrue/false (boosted organic post?)
industryBeauty & Personal Care
industry_keylabel_17103000000 (raw sub-industry ID)
objectiveConversion / Reach / Video View / Traffic
countries["US", "CA", "GB"]
period_days7 / 30 / 180
ad_format"Spark Ads" / "All Formats" (filter echo)
tagsWhen TikTok exposes them
scraped_atISO 8601
source_urlFull Creative Center URL with filters

Use responseFormat: "concise" for a 14-field agent-friendly output (~250 tokens/ad) โ€” drops video_id, dimensions, raw CTR number, cost_tier, favorite flag, industry_key, ad_format, tags, source_url.


๐Ÿ’ฐ Pricing

Pay per event โ€” you only pay for ads actually scraped.

EventPrice
Actor start$0.00005 per GB RAM
TikTok ad scraped$0.003 per ad

Typical cost: A 50-ad run is ~$0.15. A 500-ad swipe-file build is ~$1.50.

Compare that to:

  • Buying a competitor ad-spy SaaS at $99โ€“199/month
  • Hiring a VA to manually screenshot creatives ($10+/hour)

๐ŸŽฏ Who This Is For

  • Performance marketers building swipe files before launching DTC campaigns
  • Creative agencies doing client research and pitch decks
  • E-commerce brands spotting winning ad angles before competitors do
  • Affiliate marketers & dropshippers finding viral product creatives
  • Market researchers tracking ad trends across markets
  • AI agents (Claude/GPT/Cursor) that need structured TikTok ad data

โšก Quickstart

1. Apify Console (UI)

  1. Set Country (e.g. ๐Ÿ‡บ๐Ÿ‡ธ United States)
  2. Set Industry (e.g. Beauty & Personal Care)
  3. Set Period (e.g. Last 7 Days)
  4. Set Max Results (e.g. 50)
  5. Click Start

2. Via API

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~tiktok-ads-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"country": "US",
"industry": "Beauty & Personal Care",
"period": "7",
"orderBy": "CTR",
"maxResults": 50
}'

3. Node.js / TypeScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('khadinakbar/tiktok-ads-scraper').call({
country: 'US',
industry: 'E-commerce & Shopping',
period: '30',
objective: 'Conversions',
orderBy: 'CTR',
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} top TikTok ads`);

4. Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("khadinakbar/tiktok-ads-scraper").call(run_input={
"country": "GB",
"industry": "Fashion & Apparel",
"period": "30",
"adFormat": "Spark Ads",
"maxResults": 100,
})
for ad in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{ad['brand_name']}: {ad['ad_title']}")

5. Claude Desktop / MCP

Add to your Claude Desktop or any MCP client:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=khadinakbar/tiktok-ads-scraper",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}

Then ask Claude: "Find me the top 20 beauty ads on TikTok in the US this week with spark ads only."


๐ŸŽจ Use Cases

Creative Swipe Files

Pull the top 50 ads in your vertical every week. Save video URLs + landing pages to a Notion database. Study CTA patterns, hook structures, and CTR-tier performers.

Competitor Intelligence

Filter by brand_name in your dataset post-processing to track a specific competitor's TikTok ad output over time.

Winning Product Research

E-commerce? Filter by Conversions objective + E-commerce & Shopping industry + top_10% CTR tier. These are the proven-selling creatives.

Spark Ads Partner Research

Set adFormat: "Spark Ads" to find creators brands are partnering with โ€” great for influencer outreach shortlists.

Agency Pitch Decks

Show prospects the actual top-performing ads in their vertical with real CTR data. Instant credibility.

Ad Trend Reports

Run monthly across 5 countries in your category. Track format shifts (Spark โ†’ Non-Spark), CTA evolution, and emerging themes.


๐Ÿ”Œ Complements Your Ad Intelligence Stack

Khadin's ad trilogy โ€” cross-reference across platforms:

Run all three for the same brand or keyword to get a full picture of their paid media strategy.

Also useful:


โš™๏ธ Filter Reference

Country (50+)

US, GB, CA, AU, DE, FR, JP, KR, BR, IN, MX, IT, ES, NL, SE, NO, DK, FI, PL, RU, TR, SA, AE, EG, ZA, NG, ID, TH, VN, MY, PH, SG, TW, HK, AR, CL, CO, PE, IL, AT, BE, CH, CZ, HU, RO, UA, KZ, PK, BD, NZ. Leave blank for global.

Industry (19)

All Industries ยท Gaming ยท E-commerce & Shopping ยท Beauty & Personal Care ยท Food & Beverage ยท Health & Fitness ยท Entertainment ยท Sports & Outdoors ยท Finance ยท Education ยท Travel ยท Business Services ยท Fashion & Apparel ยท Technology ยท Home & Dรฉcor ยท Parenting & Kids ยท Media & Entertainment ยท News & Information ยท Music

Campaign Objective (7)

All Objectives ยท Traffic ยท App Install ยท Conversions ยท Reach ยท Video Views ยท Lead Generation ยท Engagement

Ad Format (3)

All Formats ยท Spark Ads (boosted organic posts) ยท Non-Spark Ads (paid creative) ยท Collection Ads (multi-product shopping)

Sort Order (5)

For You ยท Likes ยท CTR ยท Impressions ยท Cost

Period (3)

Last 7 Days ยท Last 30 Days ยท Last 180 Days


๐Ÿ›ก๏ธ Reliability

  • Residential proxies by default โ€” bypasses TikTok's datacenter blocks
  • Session consistency โ€” one proxy + one cookie jar across related requests
  • API response interception โ€” high-fidelity data capture from TikTok's internal creative_radar_api/v1/top_ads endpoint
  • Graceful degradation โ€” partial results pushed with _summary record if blocks occur
  • Auto-scroll pagination โ€” keeps loading more ads until maxResults or no more available
  • Retry discipline โ€” 403/429 triggers session rotation; 5xx triggers exponential backoff
  • Circuit breaker โ€” aborts cleanly when target is clearly down rather than burning your proxy budget

โ“ FAQ

Do I need a TikTok account or API key? No. TikTok Creative Center Top Ads is public. Just run the actor.

Why do some video_url links stop working after a day? TikTok CDN URLs are signed and expire in 24โ€“48h. Download immediately after the run, or re-run to get fresh URLs. The cover_url (thumbnail) lasts longer.

What's the difference between Top Ads (this actor) and the EU Ad Library? TikTok Creative Center Top Ads (this actor): global, curated highest-performing ads across 50+ countries. Public, no login. Focused on creative intel โ€” video URLs, CTR tiers, likes. TikTok EU Ad Library: DSA-compliance archive of every ad run in EU/EEA/UK with targeting & reach data. Wider coverage but EU-only and slower.

Why are landing URLs, CTA text, advertiser IDs, and exact run dates not in the output? TikTok Creative Center's list endpoint doesn't expose those fields โ€” they live behind a per-ad detail call. This V1 returns only what the list API provides (fast, cheap, reliable). A detail-enrichment mode is on the roadmap โ€” upvote it in the Issues tab.

Why is brand_name empty on some ads? Many Spark Ads (boosted organic posts from creators) don't have a registered brand name in TikTok's list API โ€” the ad surfaces under the creator's username or appears unbranded. Paid creative from registered advertisers has brand_name populated.

How many ads per filter combination can I get? Without login, TikTok Creative Center typically surfaces 20โ€“100 ads per filter combo. This actor auto-scrolls to load all available. For bigger datasets, vary filters (country ร— industry) across multiple runs.

What do CTR / impression / cost tiers mean? TikTok doesn't expose raw numbers โ€” they normalize to 0โ€“1 scores. The actor buckets CTR into top_10%, top_25%, top_50%, below_50% so you can filter on performance.

Is this legal? Yes. TikTok Creative Center is a public marketing tool TikTok themselves operates at ads.tiktok.com/business/creativecenter. This actor scrapes only publicly-available ad data. Use responsibly and comply with your jurisdiction's data and competitive-intelligence rules.

What's the typical cost per run? 50 ads = $0.15. 200 ads = $0.60. 500 ads = $1.50. A dedicated ad-spy SaaS charges $99โ€“$199/month for similar data.

Can I run this on a schedule? Yes โ€” use Apify's Scheduler tab to run daily or weekly for the same filters. Combine with a webhook to push new ads to Slack/Notion.


๐Ÿ”ง Tips & Tricks

  • Narrow filters first. A country + industry combo returns cleaner, more actionable results than global + all industries.
  • Sort by CTR when researching creative hooks โ€” these are proven click-drivers.
  • Sort by Cost to find the brands spending most (likely scaling their winners).
  • Spark Ads only is the shortcut to finding creator partnership inspiration.
  • Run across multiple periods (7 + 30 + 180) for the same filters to separate short-term trends from long-running winners.
  • Cross-reference with Meta Ad Library scraper โ€” brands running similar creative on both platforms have battle-tested that angle.

๐Ÿ“ Changelog

  • 1.0.0 (2026-04-24) โ€” Initial release. Top Ads scraping via Creative Center API interception. Residential proxies, auto-scroll pagination, concise/detailed output modes.

This actor scrapes publicly-available data from TikTok's public Creative Center at ads.tiktok.com/business/creativecenter. It does not bypass authentication, access protected content, or collect personal user data. Ad creatives remain the property of their respective advertisers. Use of scraped data is subject to TikTok's Terms of Service and applicable copyright, competitive-intelligence, and data-protection laws in your jurisdiction. The scraper is provided "as-is"; TikTok may change their Creative Center or its underlying API at any time, which may temporarily affect results. This actor is not affiliated with, endorsed by, or sponsored by TikTok / ByteDance.


Built by Khadin Akbar โ€” 50+ production Apify actors. See the full actor portfolio โ†’