TikTok Ad Library Scraper avatar

TikTok Ad Library Scraper

Pricing

from $1.50 / 1,000 ad scrapeds

Go to Apify Store
TikTok Ad Library Scraper

TikTok Ad Library Scraper

Extract ads from TikTok's Commercial Content Library: advertiser, ad video, run dates, reach and the targeting behind every ad shown in Europe.

Pricing

from $1.50 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

PulseData

PulseData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Extract ads from TikTok's official Commercial Content Library – the ad repository TikTok publishes for Europe. Search by advertiser or by what the ad says and get the advertiser, the ad video, the run dates, how many people saw it and the ad's category, as structured JSON.

$1.50 per 1,000 ads, plus $0.01 per run. No TikTok account, no cookies, no login.

What you get

FieldDescription
adId, urlTikTok's ad ID and a link to the ad in the library
advertiserNameThe account that runs the ad
titleThe ad's caption, hashtags included
subjectTikTok's category for the ad, e.g. "Apparel & Accessories"
firstShown, lastShown, daysShownWhen the ad ran and for how many days
estimatedAudienceTikTok's estimate of unique users who saw it, as a range (0-1K, 1K-10K, 10K-100K, …)
impressions, spentReported where TikTok publishes them
videoUrl, coverImageUrl, videoUrls, imageUrlsThe creative itself – a direct MP4 link and the cover image
adStatus, rejectionInfoWhether the ad was approved, rejected or is under review, with TikTok's reason

Example item:

{
"adId": "1876613526161602",
"url": "https://library.tiktok.com/ads/detail/?ad_id=1876613526161602&region=DE",
"advertiserName": "Unisport A/S",
"title": "#sneakers #custom #nike",
"subject": "Apparel & Accessories",
"firstShown": "2026-09-17",
"lastShown": "2026-09-19",
"daysShown": 3,
"estimatedAudience": "10K-100K",
"videoUrl": "https://library.tiktok.com/api/v1/cdn/…/video/…mp4",
"coverImageUrl": "https://p16-common-sign.tiktokcdn.com/…",
"adStatus": "approved",
"region": "DE"
}

Use cases

  • Competitor ad tracking – which videos a brand is running right now, how long each has been live and how big the audience got. Long-running ads are usually the ones that work.
  • Creative research – download the actual ad videos for a swipe file or to analyse hooks, formats and lengths.
  • Category and market overview – search a keyword and see every advertiser pushing that product type in a country.
  • Agency pitches – show a prospect what their competitors are doing on TikTok, with dates and reach.
  • Compliance and brand protection – find ads that use your brand name, including ones TikTok rejected.

Input

FieldMeaning
queriesAdvertiser names or keywords, one per line - the library matches both. Wrap in double quotes for an exact phrase
countryCodeWhich country's library to search: DE, FR, ES, IT, NL, PL, GB, …
startDate, endDateThe period an ad was shown in, YYYY-MM-DD. Defaults to the last 90 days
maxAdsPerQueryStop after N ads per query; 0 means no limit
{
"queries": ["Nike"],
"countryCode": "DE",
"startDate": "2026-06-01",
"endDate": "2026-09-20",
"maxAdsPerQuery": 200
}

What the library covers

TikTok publishes this library for the EU and EEA plus the UK and Switzerland – 33 regions in total. Ads that only ran outside those countries are not in it. Pick the country you care about with countryCode; one run searches one country.

The date filter matches the period an ad was shown, not when it was created, and TikTok only keeps ads in the library for a limited time, so a long lookback returns less than you might expect.

How it works

The library signs its own API calls in the browser, so this actor opens the library page, lets TikTok make the first search itself, and then pages through the results with that signed request. That means no fragile reverse-engineering of TikTok's signature – and it also means a run needs a browser, which is why the actor defaults to 2 GB of memory. A query of 200 ads takes roughly a minute.

FAQ

Do I need a TikTok account? No. The Commercial Content Library is public and this actor never logs in.

Can I download the videos? videoUrl is a direct MP4 link from TikTok's CDN. The links are signed and expire after a few hours, so download them soon after the run.

Does the search look at the advertiser or at the ad text? Both - TikTok's library has a single search box for "advertiser name or keyword", and so does this actor. A quoted query is matched as an exact phrase.

Why do I get fewer ads than the "total" in the log? maxAdsPerQuery caps the run, and TikTok sometimes returns the same ad on two pages – the actor removes those duplicates.

Which countries can I search? Any of the 33 EU/EEA regions plus the UK and Switzerland. Use the ISO code, e.g. DE for Germany.