TikTok Ad Library Scraper avatar

TikTok Ad Library Scraper

Pricing

from $0.90 / 1,000 results

Go to Apify Store
TikTok Ad Library Scraper

TikTok Ad Library Scraper

Scrape the TikTok Commercial Content Library for ad creatives, advertiser info, and campaign metadata. Monitor competitor ad strategies on TikTok.

Pricing

from $0.90 / 1,000 results

Rating

5.0

(1)

Developer

Actor stats

0

Bookmarked

41

Total users

20

Monthly active users

3 days ago

Last modified

Categories

Share

✅ Update — 2026-08-22: "system busy" / 421 error fixed (v0.1.40)

Over the past few weeks, some runs failed with 421 "system busy" errors. TikTok tightened their security and started blocking all non-browser connections to the Ad Library API.

This is now fixed. The Actor has been reworked to use a real browser engine internally, so it connects to TikTok exactly the way a normal browser does. No input changes needed on your side — just re-run as usual.

One change: minimum memory is now 2048 MB (the browser engine needs it). Runs started from the console use this automatically. If you set memory manually in a schedule or API call, update it to at least 2048 MB.

If you still see errors, please open an issue on the Actor's Issues tab.


What data can you scrape from TikTok Ad Library?

Extract ad creatives, advertiser data, and campaign intelligence from the TikTok Ad Library — TikTok's official transparency platform for paid ads across 33 EU/EEA regions.

  • Three scraping modes — Search ads by keyword, look up specific advertisers, or discover new advertisers via brute-force prefix search
  • Full ad details — Video URLs, thumbnails, audience estimates, impressions, spend, targeting by age/gender/location
  • Export anywhere — JSON, CSV, Excel, or via the Apify API and integrations

Output: TikTok Ad Library data structure

FieldLabelFormat
adIdAd IDtext
adTypeAd typetext
adVideoUrlVideo URLlink
adVideoCoverVideo coverimage
adImageUrlsImage URLsarray
adStartDateFirst showndate
adEndDateLast showndate
adEstimatedAudienceAudiencetext
adSpentAd spendtext
adImpressionsImpressionstext
advertiserNameAdvertisertext
advertiserIdAdvertiser IDtext
advertiserLocationLocationtext
advertiserPaidForByPaid for bytext
advertisingObjectiveObjectivetext
targetingAgeRangeAge targetingtext
targetingGenderGender targetingtext
targetingLocationsLocation targetingarray

Example output (one record)

{
"adId": "1848459287600130",
"adType": "video",
"adVideoUrl": "https://library.tiktok.com/api/v1/cdn/...",
"adVideoCover": "https://p21-ad-sg.ibyteimg.com/...",
"adStartDate": "2026-06-15",
"adEndDate": "2026-07-10",
"adEstimatedAudience": "100K-200K",
"adImpressions": "500K-1M",
"advertiserName": "Nike",
"advertiserId": "7345893407476285441",
"advertiserLocation": "United States",
"advertiserPaidForBy": "Nike Inc.",
"advertisingObjective": "Traffic",
"targetingAgeRange": "18-34",
"targetingGender": "All",
"targetingLocations": ["Spain", "France", "Germany"]
}

🚀 Quick start

  1. Click Start with the default input to test with a small sample (~20 Nike ads, under 30 seconds).
  2. Open the Output tab to preview results.
  3. Export as CSV / Excel / JSON, or connect via API.

How to scrape TikTok Ad Library — input options

Option 1: Paste a URL (easiest)

Copy a URL from your browser at library.tiktok.com and paste it in TikTok Ad Library URL. The Actor extracts all parameters (region, keyword, dates) automatically.

Example:

  • https://library.tiktok.com/ads?region=ES&search_key=nike&query_type=1

When you paste a URL, the filter fields below are skipped.

Option 2: Use filters

FieldDescriptionDefault
Scraping modesearch_ads — search by keyword/advertiser. discover_advertisers — brute-force discover advertisers.search_ads
Search queryKeyword (e.g. running shoes) or advertiser name (e.g. Nike).nike
Query typekeyword — searches ad text and titles. advertiser — finds by advertiser name.keyword
RegionCountry filter. Select all for all 33 EU/EEA regions.all
Max resultsHard cap on results. TikTok limits searches to ~3,600 per query.100
Start / End dateDate range. Accepts YYYY-MM-DD or relative like 31 days.Last 31 days
Include ad detailsFetch targeting, audience, spend data. Slower (1 extra request per ad).false
Ad IDsDirect lookup by comma-separated ad IDs. Skips search.
Advertiser IDsFilter by advertiser business IDs.
Request delayDelay between API requests (ms). Increase to 1000–2000 if rate-limited.500

How much does it cost to scrape TikTok Ad Library?

This Actor uses Pay-Per-Event pricing — you pay only for results delivered, not for compute time.

PlanWhat you get
Free tier$5/month of platform credits — enough for thousands of ad results
Paid plansScale to tens of thousands of results per run

Use cases

  • Competitive ad intelligence — Monitor what ads your competitors are running, their creatives, messaging, and targeting across EU markets.
  • Brand protection — Detect unauthorized use of your brand name or trademarks in TikTok ads.
  • Market research — Analyze ad spend, audience targeting, and creative trends for any industry or category.
  • Influencer marketing — Discover which brands are running paid partnerships and sponsored content on TikTok.
  • Compliance monitoring — Track ad transparency data for regulatory compliance across EU/EEA regions.

🔄 Integrations & scheduling

  • Schedule daily/weekly runs from the Apify Console for automated data collection.
  • Push results to Google Sheets, Slack, Zapier, Make, webhooks or any database.
  • Fetch datasets via the Apify REST API or the official JavaScript/Python clients.

This Actor collects only publicly available data from TikTok's official Ad Library transparency platform. The Ad Library was created specifically to provide public access to advertising data for transparency purposes. You are responsible for using the extracted data in compliance with TikTok's Terms of Service and applicable data protection laws (including GDPR where relevant).


About the data

This actor is part of Rastriq's ad libraries coverage. See the full source list, the normalised output fields and the use cases behind it: ad library datasets.


❓ FAQ

Can I access the data via API? Yes. Every run stores its dataset on Apify. Fetch it via REST API or use the official JavaScript/Python clients.

What export formats are supported? JSON, CSV, Excel (XLSX), XML, and HTML table. You can also push data directly to Google Sheets or any webhook endpoint.

Do I need proxies? Yes — residential proxies are recommended. The Actor uses Apify's residential proxy pool by default, which works reliably. If you provide your own proxy, make sure it is a residential (not datacenter) proxy, as TikTok blocks datacenter IP ranges.

What regions are supported? All 33 EU/EEA regions available in TikTok's Ad Library: Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, and the United Kingdom.

Can I download the ad videos? Yes. The adVideoUrl field contains a direct link to the ad video file. You can download videos programmatically using the URLs from the dataset.