TikTok Ads Library Scraper - EU Ads, Targeting & Top Ads avatar

TikTok Ads Library Scraper - EU Ads, Targeting & Top Ads

Pricing

from $1.02 / 1,000 ad delivereds

Go to Apify Store
TikTok Ads Library Scraper - EU Ads, Targeting & Top Ads

TikTok Ads Library Scraper - EU Ads, Targeting & Top Ads

Scrape the TikTok Ad Library (EU, EEA, UK, Switzerland, Turkey) by keyword, advertiser, country and dates: advertiser, video, first and last shown, audience, plus landing page, targeting and impressions per country. Top Ads mode adds US best performers with CTR. Error rows are free.

Pricing

from $1.02 / 1,000 ad delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

TikTok Ads Library Scraper: EU ads by keyword or advertiser, with targeting, landing pages and Top Ads

TikTok Ads Library Scraper collects ads from TikTok's public Ad Library (the Commercial Content Library that TikTok keeps for the EU, the EEA, Switzerland, the UK and Turkey), without a TikTok account, cookies or a browser. Search by keyword or advertiser name, pick a country and a date range, and each ad comes back as one clean row: the advertiser, the ad text, the first and last day it was shown, the estimated audience, the video and images. Turn on details to add the landing page, the call to action, the campaign objective, the advertiser's country, business id and TikTok account, who paid for the ad, impressions per country and the targeting (age, gender, audience size, interests).

A second mode reads the Creative Center Top Ads gallery: TikTok's own list of best-performing ads for the United States and 27 more countries, with CTR, likes, industry, objective, the video in up to 1080p and the landing page.

It is used for competitor research and ad spying, for finding winning creatives and hooks in a niche, for following what a brand runs in Europe week by week, for agency pitch decks, and for building ad datasets for AI and analytics.

At a glance

WhatPrice
Ad delivered (Ad Library or Top Ads)US$ 1.20 per 1,000 ads (US$ 0.0012 each)
Ad details (only with includeDetails on)US$ 1.00 per 1,000 ads (US$ 0.001 each)
Run startUS$ 0.005 per run
  • 100 ads without details = US$ 0.125. 100 ads with details = US$ 0.225.
  • Error rows, duplicates and ads from other advertisers skipped by the advertiser filter are never charged. The details charge only applies to ads whose detail was actually added.
  • maxItems is a hard cap per search, and a spending limit set on the run stops it cleanly with everything delivered so far.
  • Speed: about 50 ads in 6 seconds without details; with details about 1 to 2.5 seconds per ad.

Quick start

Ads that mention a keyword in all covered countries, shown in the last 30 days:

{
"searchTerms": ["skincare"],
"maxItems": 50
}

One advertiser in Germany over the last 90 days, with landing pages and targeting:

{
"advertisers": ["Nike"],
"country": "DE",
"lastDays": 90,
"includeDetails": true,
"maxItems": 100
}

Top Ads in the United States, ranked two ways, with landing pages:

{
"mode": "topAds",
"topAdsCountries": ["US"],
"topAdsSortBy": ["for_you", "ctr"],
"topAdsPeriod": "30",
"includeDetails": true
}

Input

FieldWhat it does
modelibrary (default): the Ad Library. topAds: the Creative Center Top Ads gallery.
searchTermsKeywords, one per line. TikTok matches the ad text and the advertiser name. Each keyword is searched in each country.
advertisersAdvertiser names, one per line (see "How the advertiser search works" below).
countryA covered country code (DE, FR, GB, ES, IT, NL, PL, SE, TR...) or all (default).
lastDaysAds shown at any time in the last N days (default 30).
startDate, endDateExact date range (YYYY-MM-DD, UTC). startDate wins over lastDays.
includeDetailsAdds the detail fields listed below (default off).
maxItemsCap for each keyword or advertiser and country (Top Ads: for each country). Default 50; 0 = as many as the source gives.
topAdsCountriesTop Ads countries (default US).
topAdsPeriod7, 30 (default) or 180 days.
topAdsSortByOne or more rankings: for_you, like, ctr, impression, play_2s_rate, play_6s_rate, cvr.
topAdsIndustriesOptional industries, for example Beauty & Personal Care, Apps, Games, Food & Beverage.
topAdsObjectivesOptional objectives: traffic, app_installs, conversions, video_views, reach, lead_generation, product_sales.
proxyConfigurationApify datacenter proxy by default.

query, keyword, searchQuery, searchQueries, advertiser, countries, days, dateFrom, dateTo, fetchDetails, maxResults and limit are accepted too, so inputs written for other TikTok ads tools keep working. countries takes a list, to search several countries in one run.

Output

Ad Library row (type: ad):

FieldWhat it is
adId, adUrlAd id and its page in the TikTok Ad Library
advertiserNameAdvertiser as registered with TikTok
adTitleAd text
firstShownDate, lastShownDate, daysShownFirst and last day the ad was shown (UTC) and the days between them
estimatedAudienceUnique users reached, as a range (10K-100K)
hasVideo, videoUrl, videoUrlsThe ad video (mp4)
coverImageUrl, imageUrlsCover frame and images of the ad
country, searchQuery, advertiserFilterThe search that found the ad

With includeDetails, the same row also has:

FieldWhat it is
landingPageUrl, landingDomainWhere the ad sends people, with the UTM tags as published
callToAction, objective, subjectButton text (Shop now), campaign objective (Traffic, Sales, Reach...) and topic when TikTok shows one (Health, Food & Beverage)
advertiserCountry, advertiserBusinessIdCountry where the advertiser is registered and TikTok's business id
sponsorWho paid for the ad (often a media agency)
tiktokUsername, tiktokDisplayName, tiktokProfileUrl, tiktokFollowers, tiktokFollowersText, tiktokAccountTypeThe TikTok account that ran the ad, when the advertiser linked one
totalImpressions, countriesShown, impressionsByCountryImpressions in total and per country, as TikTok publishes them
targetCountries, targetAge, targetGender, targetAudienceSize, targetLanguages, targetInterests, targetOperatingSystemsTargeting set by the advertiser
usesCustomAudience, excludesCustomAudience, targetsHighSpendingPowerAudience switches, true or false
detailsIncludedtrue when the detail was added (and charged); false if TikTok refused it after 4 attempts

Rarer targeting options (provinces, cities, device models, video and creator interactions) appear only on ads that use them.

Top Ads row (type: topAd): adId, adUrl (Creative Center page), adTitle, brandName (when TikTok shows it), objective, industry, industryId, ctr, likes, videoUrl (highest quality), videoUrls (by quality, up to 1080p), videoDurationSeconds, videoWidth, videoHeight, coverImageUrl, country, periodDays, sortBy, plus industryFilter and objectiveFilter when you used them. With includeDetails: landingPageUrl, landingDomain, comments, shares, targetCountries, objectives, hasVoiceOver.

One real Ad Library row with details (links and lists shortened):

{
"type": "ad",
"source": "library",
"adId": "1879008267714690",
"adUrl": "https://library.tiktok.com/ads/detail/?ad_id=1879008267714690",
"advertiserName": "NIKE Retail B.V.",
"adTitle": "Trainiere ohne Kompromisse - im Nike Hybrid RN.",
"firstShownDate": "2026-10-14",
"lastShownDate": "2026-10-18",
"daysShown": 5,
"estimatedAudience": "10K-100K",
"imageUrls": ["https://p16-common-sign.tiktokcdn.com/ad-site-i18n-sg/..."],
"landingPageUrl": "https://www.nike.com/de/w/hybrid-training-8wvhh?cp=...",
"landingDomain": "nike.com",
"callToAction": "Shop now",
"objective": "Traffic",
"advertiserCountry": "Netherlands",
"advertiserBusinessId": "6876453864464188162",
"sponsor": "INITIATIVE MEDIA B.V.",
"tiktokUsername": "nike",
"tiktokFollowers": 9300000,
"tiktokAccountType": "VERIFIED_BA",
"totalImpressions": "10K-100K",
"impressionsByCountry": [{"country": "DE", "impressions": "76K"}],
"targetAge": ["18-24", "25-34"],
"targetGender": ["female", "male", "unknown"],
"targetAudienceSize": "4.3M-5.2M",
"targetInterests": "Health & Fitness, Sports & Fitness, Exercise & Fitness, Physical Fitness, Sports",
"detailsIncluded": true
}

How the advertiser search works

TikTok's own "search by advertiser" returns no ads today for logged-out visitors. So the Actor searches the advertiser name as a keyword and keeps only ads whose advertiser name contains what you typed (ignoring upper and lower case): Nike keeps NIKE Retail B.V. and leaves out a creator who mentions Nike. Skipped ads are not charged. Use the name as the advertiser appears in the library; a short, distinctive part of it works best. The Actor reads up to 40 pages (480 ads) per advertiser and stops earlier after 8 pages in a row without a match.

Errors you may see

Every error is a row with errorCode and is never charged:

errorCodeMeaning
INVALID_INPUTA field has a wrong value, a country the source does not cover, or an unknown industry
NO_RESULTSNo ad for this keyword, advertiser, country and dates
REFUSEDThe library refused the search parameters (check the country and the dates)
BLOCKEDTikTok refused every attempt for this search; run it again in a few minutes
UNEXPECTEDSomething else stopped the run; what was delivered before it stays

Integrations, scheduling and AI agents

  • Schedule the same advertiser or keyword every day or week in Apify schedules with lastDays: 7 to follow new creatives.
  • Export as JSON, CSV, Excel or XML, or read the dataset from the Apify API.
  • Connect it to Make, n8n, Zapier, Google Sheets or Slack through Apify integrations.
  • AI agents: call it as a tool through the Apify MCP server in Claude, ChatGPT, Cursor or any MCP client, for example "get the last 30 days of TikTok ads for protein powder in Germany with landing pages, and group them by advertiser".

FAQ

Do I need a TikTok account? No. Both sources are public pages that TikTok serves without login.

Why only Europe and Turkey in the Ad Library? TikTok publishes the library to meet the EU Digital Services Act and similar rules, so it covers ads shown in the EU, the EEA, Switzerland, the UK and Turkey. An ad that only ran in the United States is not there. For the US, use Top Ads mode.

How many ads can one search return? The library counts up to 5,000 ads per search (the count stops there). Narrow by country or dates to reach deeper. Top Ads gives 20 ads per country, period, ranking, industry and objective to logged-out visitors; pick several rankings, industries or objectives for more distinct ads.

How long do the video links work? Video and image links are signed by TikTok and expire after about two days. Download the files you want to keep soon after the run, or run again for fresh links.

Are impressions and audience exact? No. TikTok publishes them as ranges (10K-100K, 4.3M-5.2M), and the Actor keeps them as published.

Is it legal? The Actor reads public ad transparency data only. It returns no emails or phone numbers and no profile pictures. You are responsible for how you use the data under the laws that apply to you.

Something broke or a field is missing? Open an issue on the Actor page; issues are answered within a day.

Limitations

  • The Ad Library returns ads from the last year only, and only ads shown in its covered countries.
  • Ad spend is not published by TikTok for commercial ads, so there is no spend field.
  • With details on, each ad needs one more request, and TikTok sometimes answers "system busy": the Actor waits and retries up to 4 times; an ad that still fails is delivered without details and without the details charge.
  • Top Ads brandName is empty for many ads, and some Top Ads have no landing page.

Changelog

  • 19 Oct 2026: first version: Ad Library by keyword, advertiser, country and dates, optional details with landing page, advertiser account, impressions per country and targeting; Creative Center Top Ads mode with rankings, industries, objectives and details.