TikTok Ad Library Scraper: Ads, Targeting & Spend
Pricing
from $0.90 / 1,000 results
TikTok Ad Library Scraper: Ads, Targeting & Spend
Extract ad creatives, advertisers, targeting and audience estimates from the TikTok Ad Library across 33 EU/EEA regions. Search by keyword or advertiser, discover advertisers, or pull commercial content. No login, JSON/CSV/Excel.
Pricing
from $0.90 / 1,000 results
Rating
5.0
(1)
Developer
Rastriq — Structured data from the world
Maintained by CommunityActor stats
0
Bookmarked
74
Total users
24
Monthly active users
a day ago
Last modified
Categories
Share
TikTok Ad Library Scraper — Ads, Targeting & Spend Data
TikTok Ad Library Scraper extracts paid ads from the official TikTok Ad Library (Commercial Content Library): ad creatives, advertiser names and business IDs, first/last shown dates, estimated audience, impressions and full targeting breakdowns by country, age and gender. Search by keyword or advertiser across 33 EU/EEA regions — no TikTok account, no login, no API key. Export to JSON, CSV, Excel or straight into your BI stack.
🔍 What is TikTok Ad Library Scraper?
TikTok publishes every ad shown in the EU/EEA in its Ad Library to comply with the Digital Services Act. The site is built for manual browsing: one ad at a time, no export, no bulk access. TikTok Ad Library Scraper turns that library into a structured dataset you can query, schedule and compare over time.
Use it as a TikTok ads scraper for competitor research, a TikTok ad spy tool for creative inspiration, or an ad-transparency feed for compliance monitoring.
- 🎯 Search ads by keyword ("running shoes") or advertiser name ("Nike")
- 🏢 Discover advertisers in bulk with prefix enumeration — build a list of every brand advertising in a market
- 🤝 Commercial content — branded partnerships and sponsored creator posts
- 📊 Detailed mode — targeting by location, age group and gender, audience size, paying entity
- 🌍 33 regions — all EU/EEA countries plus CH, GB, NO, IS, LI and TR
- 🔗 Direct input — paste any TikTok Ad Library URL, a list of ad IDs or advertiser business IDs
📋 What data does TikTok Ad Library Scraper extract?
| Group | Fields |
|---|---|
| 🎬 Creative | adId, adTitle, adType, adVideoUrl, adVideoCover, adImageUrls, adLibraryUrl |
| 📅 Timing | adStartDate, adEndDate, scrapedAt |
| 📈 Reach | adEstimatedAudience, adImpressions, adSpent, targetingAudienceSize, adTotalRegions |
| 🏢 Advertiser | advertiserId, advertiserName, advertiserLocation, advertiserPaidForBy |
| 🎯 Targeting | targetingCountries, targetingByAge, targetingByGender, targetingByLocation, targetingInterest, targetingLanguages |
| 🛒 Campaign | callToAction, advertisingObjective, externalUrl |
| 🤝 Branded content | contentId, creatorUsername, contentLabel, brandNames, postedTime, videoViews, contentViews |
| 🧾 Run metadata | recordType, sourceRegion, detailsFetched, auditStatus, rawData (full TikTok payload) |
Targeting, advertiser and campaign fields are filled when Include details is enabled. When TikTok does not publish a value, the field is returned empty rather than guessed.
🚀 How to use TikTok Ad Library Scraper
- Open TikTok Ad Library Scraper and click Try for free.
- Choose a mode: Search Ads, Discover Advertisers or Search Commercial Content.
- Enter a keyword or advertiser name, or paste a URL from the TikTok Ad Library.
- Pick a region (or "All regions") and a date range such as
31 days→0 days. - Turn on Include details if you need targeting and advertiser data.
- Click Start and download the results as JSON, CSV or Excel — or fetch them via the API.
⚙️ Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search_ads | search_ads, discover_advertisers or search_commercial_content |
startUrl | string | — | Any TikTok Ad Library URL; overrides the search fields |
searchQuery | string | — (prefill running shoes) | Keyword or advertiser name. Empty = browse all ads in the region |
queryType | string | keyword | keyword or advertiser |
region | string | all | ISO country code or all (33 regions) |
maxResults | integer | 100 | Maximum results to return |
startDate / endDate | string | 31 days / 0 days | Relative (7 days) or absolute dates |
includeDetails | boolean | false | Fetch targeting, advertiser and audience data |
sortBy | string | last_shown_date,desc | Sort by first/last shown date |
adIds | string | — | Comma-separated ad IDs to fetch directly |
advertiserIds | string | — | Comma-separated advertiser business IDs |
discoveryPrefixes | string | — | Prefixes for Discover Advertisers mode (empty = A–Z and 0–9) |
requestDelay | integer | 500 | Milliseconds between requests; raise it if you see HTTP 429 |
proxyConfiguration | object | Apify Proxy | Managed automatically: datacenter first, residential fallback |
Example input:
{"mode": "search_ads","searchQuery": "nike","queryType": "keyword","region": "ES","maxResults": 20,"startDate": "31 days","endDate": "0 days","includeDetails": true}
📦 Output example
{"recordType": "ad","adId": "1874222521081922","adTitle": "Vuelta al cole con Nike","adLibraryUrl": "https://library.tiktok.com/ads/detail/?ad_id=1874222521081922","adType": "video","adStartDate": "2026-08-22","adEndDate": "2026-09-13","adEstimatedAudience": "10K-100K","callToAction": "Shop now","advertisingObjective": "Sales","advertiserId": "6876453864464188162","advertiserName": "NIKE Retail B.V.","advertiserPaidForBy": "INITIATIVE MEDIA B.V.","targetingAudienceSize": "11.1M-13.6M","targetingCountries": ["ES"],"targetingByAge": [{ "region": "ES", "13-17": false, "18-24": true, "25-34": true, "35-44": true, "45-54": false, "55+": false }],"targetingByGender": [{ "region": "ES", "female": true, "male": true, "unknown": true }],"sourceRegion": "ES","scrapedAt": "2026-10-01T16:42:27Z"}
🧪 Ready-made examples
Start from a pre-configured task and adapt it:
- Monitor Nike TikTok ads in Spain
- Track competitor TikTok ad targeting and audience data
- Discover fitness advertisers on TikTok
- Shop Now e-commerce ads in the UK
⏱️ Speed, limits and what to expect
- Without details: about 1.5 ads per second (~20 ads in 20 s, ~360 ads in under 4 minutes).
- With details: about 6 extra seconds per ad. Raise Run options → Timeout for large detailed runs; if the timeout is reached the actor stops cleanly and returns everything scraped so far (remaining ads come without details,
detailsFetched: false). - TikTok caps each search at about 3,600 ads. Split bigger jobs by region or date range.
- No matches is not an error: the run finishes successfully with 0 results and a status message.
- Commercial Content mode covers EU/EEA countries only (not GB, CH or TR) and matches the exact creator username.
- Advertiser name searches pick the closest advertiser; if none is found the actor falls back to a keyword search.
💰 How much does it cost to scrape the TikTok Ad Library?
TikTok Ad Library Scraper uses pay-per-event pricing: $0.90 per 1,000 ads plus a small start fee per run. You only pay for results delivered.
- 20 ads (quick test) → about $0.02
- 100 ads → about $0.09
- 1,000 ads → about $0.90
- 10,000 ads → about $9 (run it in several searches, see limits above)
The free Apify plan includes monthly credit, enough to test thousands of ads. 💡 Run a 20-result test first, then scale up and schedule.
💡 Use cases
- Competitor monitoring — see which creatives, CTAs and objectives your rivals run, and where
- Creative research — download ad videos and covers to study formats and hooks
- Media planning — compare audience sizes and age/gender targeting by country
- Lead generation — build lists of brands actively advertising on TikTok in a market
- Ad transparency & compliance — track paying entities and targeting under the DSA
🔗 Integrations & scheduling
Schedule TikTok Ad Library Scraper daily or weekly to track new ads, and connect results to Google Sheets, Slack, Make, Zapier, n8n or webhooks. Call it from Python, JavaScript or cURL through the Apify API, or use it from AI agents via the Apify MCP server.
More about tracking competitor ads on TikTok: rastriq.es/en/competitor-ad-tracking/tiktok-ads.
🧩 Related Rastriq Actors
- TikTok Top Ads Scraper — best-performing ads from TikTok Creative Center
- TikTok Trending Videos Scraper — viral videos and creator metrics
- TikTok Brand Monitor — track brand accounts, follower growth and new videos
- Facebook Ad Library Scraper — Meta ads (Facebook & Instagram)
- LinkedIn Ad Library Scraper — B2B ads on LinkedIn
- Google Ads Transparency Scraper — ads from Google's Ads Transparency Center
❓ FAQ
Is it legal to scrape the TikTok Ad Library? The Ad Library is a public transparency database that TikTok publishes under the EU Digital Services Act. The actor only collects publicly available ad data and no personal data from private users. Make sure your use complies with TikTok's terms and applicable laws in your jurisdiction.
Does TikTok Ad Library Scraper cover the US? No. TikTok's Ad Library only publishes ads shown in the EU/EEA, Switzerland, the UK, Norway, Iceland, Liechtenstein and Turkey.
Why are spend or impressions empty for some ads? TikTok only publishes spend and impression ranges for some ads. Empty fields mean TikTok did not disclose the value.
Do I need a TikTok account or proxies? No. Apify Proxy is configured automatically, starting on datacenter IPs and falling back to residential when needed.
Why did my run finish with 0 results?
No ad matched the filters. Widen the date range (default is the last 31 days), try another region or a shorter keyword. The run status message and the RUN_SUMMARY record in the key-value store explain the reason.
Why did I get fewer ads than maxResults?
TikTok returned fewer matches, the 3,600-ad search cap was reached, or the run timeout stopped the run (the log says so). Increase the timeout or narrow the search.
Something is not working? Open an issue in the Issues tab with your input and run ID.