TikTok Ads EU — Library Scraper with Demographics
Pricing
from $2.50 / 1,000 top ad fetched (creative center)s
TikTok Ads EU — Library Scraper with Demographics
Scrape TikTok's EU Ad Library (library.tiktok.com) at scale. Get ads by keyword, advertiser name, or biz ID across 33 DSA regions. Per-region targeting drill-down. Uncapped advertiser deep-drill. Pay per ad scraped, no subs. $0.80 per 1,000 ads — 68% cheaper than competitors.
Pricing
from $2.50 / 1,000 top ad fetched (creative center)s
Rating
5.0
(1)
Developer
Omar Eldeeb
Maintained by CommunityActor stats
3
Bookmarked
41
Total users
6
Monthly active users
3 days ago
Last modified
Categories
Share
TikTok Ads — Global Creative Center + EU Library
Two TikTok ad-intelligence surfaces in one actor:
- 🌍 Creative Center (global Top Ads) — the best-performing TikTok ads across 81 countries including the US and all of MENA, ranked by CTR, likes, and hook-rate, with the full video creative, the advertiser's landing page, and ad keywords. This is the default mode.
- 🇪🇺 EU Ad Library (DSA) — every public ad TikTok serves across 33 EU/EEA/UK/CH/TR regions, with per-region × age × gender × reach targeting transparency.
Pure-Node, no headless browser, no login. Pay per ad, no subscription.
What it does
Creative Center mode taps TikTok's official Creative Center "Top Ads" leaderboard (ads.tiktok.com). For any country (US, Saudi Arabia, UAE, Egypt, UK, Brazil, Japan… 81 in total) you get the top-performing ads ranked by CTR, likes, 2-second hook rate, trending ("For You"), or impressions, filtered by industry, campaign objective, ad language, and time window (7/30/180 days). Each ad returns the title, brand, engagement metrics, the HD video + cover, and — with detail enrichment — the advertiser's landing-page URL, ad keywords, share/comment counts, and campaign objectives.
ℹ️ The Creative Center is a curated Top-Ads leaderboard, not an exhaustive archive: TikTok serves ~20 ads per filter query and disables deep pagination on this surface. To surface more distinct ads, widen the filter fan-out (more countries × sorts × industries × objectives × languages) — the actor walks every combination and de-duplicates automatically.
EU Ad Library mode taps TikTok's DSA transparency portal (library.tiktok.com) for regulator-grade ad data across the EU/EEA/UK/CH/TR, including per-region demographic targeting that is richer than Meta's Ad Library for commercial ads.
Why use it
- Performance media buyers & creative strategists — find winning TikTok creatives and hooks in any market, study competitor angles, and pull the landing pages behind top ads.
- DTC & e-commerce brands — spot trending products and ad formats by industry and objective before they saturate.
- MENA / global agencies — full Gulf coverage (SA, AE, EG, QA, KW, BH, OM, JO, IQ, LB, MA, DZ) and Arabic-language ad filtering — most TikTok ad scrapers are US/EU-only.
- DSA & compliance researchers — regulator-grade per-region targeting transparency from the EU library.
- Ad-tech & dashboards — clean JSON, scheduled monitoring, pay-as-you-go pricing.
How to use
- Choose a mode — Creative Center (global, default) or EU Ad Library.
- Creative Center: pick countries, time window(s), and sort(s); optionally narrow by industry / objective / ad language.
- EU Ad Library: pick keywords or advertiser names or biz IDs, and the EU regions.
- Click Run and export JSON / CSV / Excel.
First 10 chargeable events per run are FREE — validate the output before paying.
Input examples
🌍 Creative Center — top US ads by CTR, last 30 days (default mode)
{"mode": "creative_center","ccCountries": ["US"],"ccPeriods": ["30"],"ccOrderBy": ["ctr"],"ccIncludeDetail": true,"maxItems": 100}
🌍 Creative Center — MENA beauty ads, multiple sorts (wide fan-out)
{"mode": "creative_center","ccCountries": ["SA", "AE", "EG"],"ccIndustries": ["14000000000"],"ccPeriods": ["30"],"ccOrderBy": ["ctr", "like", "for_you"],"ccAdLanguages": ["ar"],"maxItems": 300}
Each
country × sortcombination returns its own top-20 leaderboard; the actor de-duplicates across all combinations. Widen the filters to collect more distinct ads.
🌍 Creative Center — e-commerce conversions across 5 markets
{"mode": "creative_center","ccCountries": ["US", "GB", "BR", "MX", "ID"],"ccObjectives": ["3", "15"],"ccPeriods": ["7", "30"],"ccOrderBy": ["for_you"],"maxItems": 500}
🇪🇺 EU Ad Library — advertiser deep-drill (uncapped)
{"mode": "eu_dsa_library","advertiserNames": ["Temu", "Sephora"],"regions": ["DE", "FR", "ES", "IT", "GB", "NL", "PL"],"includeTargetingDetail": true,"maxItems": 10000}
🇪🇺 EU Ad Library — keyword search with targeting detail
{"mode": "eu_dsa_library","keywords": ["skincare", "supplements"],"regions": ["DE", "FR", "NL"],"includeTargetingDetail": true,"maxItems": 500}
⚠️ EU keyword search is hard-capped at 1,000 results per (keyword, region) by TikTok. For deeper drills use advertiser names.
Output sample — Creative Center
{"surface": "creative_center","adId": "7641228329165635602","adTitle": "Microneedling at Home: Start Skincare Journey Now","brandName": null,"costIndex": 1,"ctr": 0.01,"likes": 16,"comments": 0,"shares": 2,"industryKey": "label_14103000000","objectiveKey": "campaign_objective_conversion","objectives": ["campaign_objective_conversion"],"keywords": null,"videoId": "v10033g50000d85hvuvog65iv8lnei00","videoDurationSec": 58.9,"coverImage": "https://p16-common-sign.tiktokcdn.com/.../cover.image","videoUrl": "https://v16m-default.tiktokcdn.com/.../video.mp4","landingPage": "https://www.qureskincare.com/pages/micro-infusion-faq?utm_source=tiktok","adSource": "TikTok Ads Manager","queryCountry": "US","countryCodes": ["US"],"queryPeriodDays": 30,"queryOrderBy": "ctr","url": "https://ads.tiktok.com/business/creativecenter/topads/7641228329165635602/pc/en","scrapedAt": "2026-06-15T11:27:57.808Z"}
The EU Ad Library mode returns a different (richer-targeting) row shape — advertiser identity,
queryRegion, andtargetingLocations / targetingAgePerRegion / targetingGenderPerRegionper-region demographic trees. See the "EU Library" dataset views.
Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.01 | Per run |
top-ad-fetched | $0.0025 ($2.50/1K) | Creative Center: per Top Ad emitted (PRIMARY) |
top-ad-detail-fetched | $0.0015 ($1.50/1K) | Creative Center: per ad when ccIncludeDetail=true (landing page, keywords, share/comment) |
ad-scraped | $0.0008 ($0.80/1K) | EU Library: per ad emitted |
ad-details-fetched | $0.0005 | EU Library: per ad when includeTargetingDetail=true |
advertiser-resolved | $0.001 | EU Library: once per advertiser name |
proxy-fetch | $0.002 | Only when useProxy=true, per request |
First 10 chargeable events per run are FREE.
Typical Creative Center costs
| Scenario | Cost |
|---|---|
| 100 top ads, no detail | $0.25 |
| 100 top ads with detail | $0.40 |
| 500 top ads with detail | $2.00 |
| 1,000 top ads with detail | $4.00 |
Why this is cheaper & more reliable than the alternatives
Every other Creative Center scraper drives a headless Chromium browser (Playwright) to let the page compute TikTok's request signature — slow, flaky, and compute-heavy. This actor reproduces the signature in pure Node (no browser), so it's cheaper to run and doesn't break on browser/UI changes. If TikTok rotates the signing salt, the actor self-heals by re-extracting it from the live bundle.
FAQ
Q: Creative Center vs EU Ad Library — which do I want? A: Use Creative Center for global creative research (US + worldwide + MENA, best-performing ads, landing pages). Use EU Ad Library when you specifically need DSA per-region age/gender/reach targeting (EU/EEA/UK/CH/TR only).
Q: How many ads can I get from the Creative Center per country? A: TikTok caps each filter query at ~20 ads and disables deep pagination on this surface. The actor maximizes distinct ads by fanning out across your selected countries × time windows × sorts × industries × objectives × languages and de-duplicating. Think of it as a curated Top-Ads leaderboard / trend feed, not a full archive.
Q: Which countries are supported in Creative Center mode? A: 81, including the US, UK, Germany, France, Spain, Italy, Brazil, Mexico, Japan, Korea, Indonesia, and the full MENA set (Saudi Arabia, UAE, Egypt, Qatar, Kuwait, Bahrain, Oman, Jordan, Iraq, Lebanon, Morocco, Algeria). India is not available (TikTok is banned there).
Q: What does the detail enrichment add?
A: The advertiser's landing-page URL, ad keywords, share/comment counts, campaign objectives, and ad source. Toggle with ccIncludeDetail (adds $1.50/1K).
Q: Video URLs stop working after a few hours.
A: TikTok signs creative URLs with a ~6-hour expiry. Each row records fetchedAt; re-run to refresh.
Q: Why is the EU library EU-only?
A: It scrapes library.tiktok.com, TikTok's DSA transparency portal, which only covers regions where DSA-class disclosure is required. For US/global ads, use Creative Center mode.
Q: Should I enable the residential proxy?
A: Default OFF — both surfaces work cookie-free. Enable useProxy=true for very large fan-outs or many concurrent runs (IP-rotation safety). Adds proxy-fetch ($0.002/request).
Changelog
- 0.2.6 — EU Ad Library is more forgiving of a flaky-but-recovering TikTok. A "system busy" rejection (HTTP 421, or the same text in a 200) now gets a short retry (2–2.5 s; two retries once the run has fetched any EU ads), so a single hiccup no longer drops a region or the rest of its pages. The early stop now needs 3 rejected EU searches in a row spanning at least 15 s with no EU success, so a dead EU library still stops in about 15–20 s. Failed advertiser-name lookups no longer count toward it. Redirects are treated as a block instead of being retried for 25 s. Short run timeouts work: the safety margin before the timeout is now 15% of the run (between 5 s and 60 s) instead of a fixed 60 s, and runs that finish normally no longer report
stoppedReason: "deadline". - 0.2.5 — EU Ad Library fails fast when TikTok is rejecting requests. HTTP 421 ("system busy") and equivalent blocked-connection errors are no longer retried; after 3 rejected EU searches in a row with no EU success in the run, the actor stops the remaining EU combos, exits successfully with the status "TikTok's EU library is rejecting requests right now — 0 EU rows; Creative Center mode works", and writes
stoppedReason: "upstream_blocked"toOUTPUT. EU runs also stop 60 s before the run timeout and save results (stoppedReason: "deadline"). A working EU library is unaffected, and Creative Center mode is unchanged. - 0.2.4 —
regionsdefaults toDEagain when omitted (EU Ad Library API callers who skipregionsget a single-region run, as in 0.1.x). Creative Center ad links (url) fixed: they now use the workinghttps://ads.tiktok.com/business/creativecenter/topads/<adId>/pc/enform instead of a link that returned 404.
Legal & ethical use
- All data comes from TikTok's public Creative Center and EU DSA transparency portal. No login, no auth, no de-obfuscation of private data.
- This actor is not affiliated with TikTok or ByteDance.
- For competitive research, creative inspiration, brand monitoring, academic study, and DSA-compliance auditing. Not for harassing advertisers or any purpose prohibited by TikTok's terms.
- Creative URLs are TikTok-hosted CDN links with expiring signatures.
Built by constructive_calm. Sibling actor: Facebook Ad Library Pro.