TikTok Ads Library Scraper – EU/UK Ads, Targeting & Reach
Pricing
from $2.00 / 1,000 ad scrapeds
TikTok Ads Library Scraper – EU/UK Ads, Targeting & Reach
Scrape the official TikTok Ads Library (EU/EEA, UK, CH, TR): ad text, video/image URLs, advertiser, first/last shown, reach, impressions by country/age/gender, targeting. Search by keyword or advertiser. Optional Creative Center top ads.
Pricing
from $2.00 / 1,000 ad scrapeds
Rating
0.0
(0)
Developer
Fern Crawl
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Security
Limited permissionsShare
Extract ads from the official TikTok Ads Library (TikTok's commercial content repository for the EU/EEA, United Kingdom, Switzerland and Türkiye): ad text, video and image URLs, advertiser, first/last shown dates, unique-user reach, impressions by country, age and gender, and the targeting TikTok discloses (age, gender, location, interests, audience size, custom audiences).
Search by keyword or by advertiser (name or ID), pick countries and a date range, and get clean JSON / CSV / Excel. Optionally add TikTok Creative Center Top Ads (worldwide best-performing ads with CTR and likes).
What you can use it for
- Competitor research – see every ad a brand ran in Europe, which creatives it is using now, and how long each one ran.
- Creative inspiration – collect top-performing TikTok video ads in your niche, with landing pages and CTAs.
- Targeting intelligence – learn which age groups, genders, countries and interests competitors target, and how many impressions each country received.
- Monitoring & compliance – schedule daily runs to track new ads from advertisers or keywords.
Input
| Field | Description |
|---|---|
searchTerms | Keywords, e.g. nike, protein powder. Each term is a separate search. With a completely empty input the actor runs a small demo search (nike, 20 ads). |
advertiserNames | Advertiser legal names, e.g. Adidas AG (exact match preferred, otherwise up to 3 containing the name). |
advertiserIds | TikTok business IDs (the advertiserId from earlier results) – most precise. |
regions | all (default) or any of AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SE, SI, SK, TR. |
lastNDays / dateFrom / dateTo | Date range of when ads were shown (default: last 30 days). |
maxAds | Maximum ads per search term / advertiser (default 20). |
fetchDetails | Adds landing page, CTA, objective, TikTok account, impressions breakdown and targeting (default on). |
daySlicing | Deep search: TikTok only lets you page ~100 results deep per search, so for large maxAds the actor also searches day by day (default on). |
includeCreativeCenter | Add-on: Creative Center Top Ads for ccCountries (default off). |
Example:
{"searchTerms": ["nike"],"advertiserNames": ["Adidas AG"],"regions": ["DE", "FR", "GB"],"lastNDays": 30,"maxAds": 100,"fetchDetails": true}
Output
One dataset item per ad. Field names match our Google Ads Transparency Scraper, so you can merge both datasets.
{"source": "tiktok-ads-library","adId": "1880398616261842","advertiserName": "Example Brand GmbH","advertiserId": "7560696377014026257","format": "VIDEO","adText": "New season drop – shop now #sneakers","firstShown": "2026-10-20T00:00:00Z","lastShown": "2026-10-29T00:00:00Z","daysShown": 10,"estimatedAudience": "10K-100K","regions": ["DE", "AT"],"previewUrl": "https://library.tiktok.com/ads/detail/?ad_id=1880398616261842","videoUrls": ["https://library.tiktok.com/api/v1/cdn/..."],"videoCoverUrls": ["https://p16-common-sign.tiktokcdn.com/..."],"imageUrls": [],"searchQuery": "sneakers","landingPageUrl": "https://example.com/...","callToAction": "Shop now","objective": "Traffic","impressions": "100K-1M","regionImpressions": [{"region": "DE", "impressions": "100K-1M", "breakdowns": [{"age": "18-24", "gender": "FEMALE", "impressions": "10K-100K"}]}],"targetAudienceSize": "20.5M-25.1M","targetingAges": {"DE": ["18-24", "25-34"]},"targetingGenders": {"DE": ["female", "male"]},"targetingCountries": ["DE", "AT"],"customAudience": false,"tiktokUsername": "examplebrand"}
(Values above are illustrative.) A run summary (ads per search, resolved advertisers, warnings, HTTP stats) is saved as the OUTPUT record of the key-value store.
Creative Center items have "source": "tiktok-creative-center" and add ctr, likes, comments, shares, industry, ccCountry, ccOrderBy.
Pricing
Pay per result: you are charged per ad returned (see the Pricing tab). No proxy or subscription needed – the actor works without a proxy, and Apify datacenter proxy also works.
Performance
- ~20 ads with full details in about 1–2 minutes; without details ~10x faster per ad.
- Runs fine with 512 MB memory. Use 1024 MB when the Creative Center add-on is enabled (it opens a headless browser once).
Limitations – please read
- Coverage: the TikTok Ads Library only contains ads shown in the EU/EEA, UK, Switzerland and Türkiye. US-only ads are not there (use the Creative Center add-on for worldwide top ads).
- Data delay: TikTok's Library typically lags ~2 days; the last 1–2 days may look empty.
- Ranges, not exact numbers: reach and impressions are published by TikTok as ranges (e.g.
10K-100K). - Media URLs expire: video/image URLs are signed and expire after some time – download them soon if you need the files.
- Creative Center without login shows only the first page (~20 ads) per country and sort order; the actor combines 4 sort orders.
- If a search returns 0 ads the run is marked failed with a hint (check spelling, widen dates/regions), so monitoring setups notice.
- This actor reads publicly available transparency data. It does not log in or access private information. You are responsible for using the data in line with applicable law and TikTok's terms.
FAQ
Why do I get fewer ads than the total shown on library.tiktok.com? TikTok caps how deep you can page. Keep Deep search (day slicing) on and use a longer date range or more specific regions.
Can I track an advertiser over time? Yes – run with advertiserIds on a schedule; each ad has a stable adId for de-duplication.
Issues or feature requests? Open an issue on the Issues tab and we will take a look.