VOOZH about

URL: https://apify.com/automly/tiktok-ads-library-scraper

โ‡ฑ Tiktok Ads Library Scraper ยท Apify


Pricing

from $0.005 / actor start

Go to Apify Store

Tiktok Ads Library Scraper

Pull every ad TikTok has shown in the EU, UK, and Turkey โ€” with filters, dates, and creative URLs โ€” straight into a dataset.

Pricing

from $0.005 / actor start

Rating

0.0

(0)

Developer

๐Ÿ‘ Automly

Automly

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

3

Monthly active users

a month ago

Last modified

Share

๐Ÿ‘ TikTok Ads Library Scraper hero

Extract ad records from the public TikTok Ads Library (EU, UK, and Turkey) โ€” no login, no cookies, no browser required. Filter by region, date range, advertiser ID, or keyword and get a flat dataset with pre-signed media URLs ready for download or analysis.


What does TikTok Ads Library Scraper do?

The TikTok Ads Library is a transparency portal mandated by the EU Digital Services Act (DSA). It exposes all ads served to EU member state audiences, UK audiences, and Turkey โ€” including video URLs, cover images, estimated audience sizes, impression counts, and flight dates.

This actor calls the library's public API, paginates through results, and delivers a clean, flat dataset for each matching ad. Use it for competitive research, brand monitoring, regulatory compliance tracking, or academic study of political advertising.


Features

  • Scrape TikTok EU Ads Library without an account or cookies
  • Filter TikTok ads by country across all EU member states, UK, and Turkey
  • Search TikTok ads by keyword against advertiser name and ad content
  • Filter by advertiser business ID to monitor specific brands
  • Extract TikTok video ad URLs and cover images with pre-signed CDN links
  • Filter TikTok ads by date range using ISO 8601 dates or unix timestamps
  • Filter by ad type โ€” video, image, or all creative formats
  • Sort results by first shown or last shown date, ascending or descending
  • Export TikTok ads data as JSON, CSV, or Excel via Apify datasets
  • Extract targeting and sponsor data โ€” per-region age/gender targeting, target audience size, advertiser sponsor name, and registered country, fetched concurrently via the detail endpoint
  • Runs on datacenter proxies โ€” no residential proxy required

How to use

  1. Open the actor in Apify Console and click Try for free.
  2. Set Regions โ€” enter one or more ISO country codes (e.g. DE, FR, GB) or leave as all to cover every supported region.
  3. Set Start date and End date to define the flight window (e.g. 2025-01-01 to 2025-12-31).
  4. Optionally enter a Search query to filter by keyword, or add Advertiser business IDs to target specific brands.
  5. Set Max results to cap total records (default 1,000).
  6. Click Save & Run. Results appear in the Dataset tab as the actor paginates.

Input parameters

ParameterTypeRequiredDefaultDescription
regionsarrayYes["all"]ISO country codes or ["all"]. Supported: EU member states, GB, TR.
startDatestringYesโ€”ISO 8601 date (2025-01-01) or unix ms. Start of the ad flight window.
endDatestringYesโ€”ISO 8601 date or unix ms. Must be after startDate.
querystringNo""Free-text search against advertiser name and ad content.
advertiserBusinessIdsarrayNo[]Limit results to these advertiser IDs.
adTypeenumNo"all"all, video, or image. Note: TikTok's image filter returns video-dominant results in practice; the actor passes the value through as-is.
sortOrderenumNo"last_shown_date,desc"One of: last_shown_date,desc ยท last_shown_date,asc ยท first_shown_date,desc ยท first_shown_date,asc.
maxResultsintegerNo1000Hard cap on total records returned. Minimum 1.
fetchDetailsbooleanNotrueWhen enabled, makes one extra request per ad to fetch sponsor, targeting, and audience size data. Adds ~60 s for a 1,000-ad run via concurrent fetching (semaphore of 10). Disable to reduce latency when targeting data is not needed.
proxyConfigurationobjectNoApify proxyStandard Apify proxy config. Datacenter proxies are sufficient.

Example input

{
"regions":["DE","FR","GB"],
"startDate":"2025-01-01",
"endDate":"2025-12-31",
"query":"skincare",
"adType":"video",
"sortOrder":"last_shown_date,desc",
"maxResults":500,
"proxyConfiguration":{"useApifyProxy":true}
}

Output example

Each record in the dataset is a flat object. Media URLs are pre-signed CDN links โ€” download them promptly, as they expire approximately 6 hours after the run.

{
"id":"1863026687376529",
"advertiser":"WONDERSKIN EUROPE LTD",
"type":"video",
"first_shown":"2026-04-19T08:30:06+00:00",
"last_shown":"2026-04-19T08:30:06+00:00",
"video_urls":[
"https://library.tiktok.com/api/v1/cdn/.../a780febf-11a7-411c-b8b0-0913254efa91?VExpiration=1776744539&VSignature=..."
],
"cover_urls":[
"https://p16-common-sign.tiktokcdn.com/tos-no1a-p-0037-no/sample.jpg?x-expires=1776744539&x-signature=..."
],
"image_urls":[],
"estimated_audience":"0-1K",
"spent":"",
"impression":0,
"audit_status":"1",
"region":"DE",
"scraped_at":"2026-04-21T10:00:00+00:00",
"ad_detail_url":"https://library.tiktok.com/ads/detail/?ad_id=1863026687376529",
"sponsor":"WONDERSKIN EUROPE LTD",
"registry_location":"Germany",
"advertiser_business_id":"7228917820455878658",
"target_audience_size":"22.0M-26.9M",
"audience_interest":"",
"age_targeting":[
{"region":"DE","13-17":false,"18-24":true,"25-34":true,"35-44":true,"45-54":true,"55+":true}
],
"gender_targeting":[
{"region":"DE","female":true,"male":true,"unknown":true}
],
"location_impressions":[
{"region":"DE","impressions":"0-1K"}
]
}

Output fields

FieldTypeDescription
idstringUnique ad identifier from TikTok
advertiserstringAdvertiser business name
typestringCreative category: video, image, or unknown
first_shownstringISO 8601 UTC โ€” when the ad first ran
last_shownstringISO 8601 UTC โ€” when the ad last ran
video_urlsarrayPre-signed video CDN URLs (expires ~6 h)
cover_urlsarrayPre-signed cover image URLs for video ads
image_urlsarrayPre-signed image URLs for image-only ads
estimated_audiencestringTikTok's audience size bucket (e.g. "1K-10K")
spentstringSpend range if disclosed by TikTok (often empty)
impressionintegerImpression count if disclosed
audit_statusstringTikTok internal audit status code
regionstringISO country code the record was fetched under
scraped_atstringISO 8601 UTC timestamp of the scrape
ad_detail_urlstringDirect link to the ad's detail page on TikTok Ads Library
sponsorstringSponsor name declared by the advertiser (from detail endpoint)
registry_locationstringAdvertiser's registered country/location (from detail endpoint)
advertiser_business_idstringTikTok advertiser business ID (from detail endpoint)
target_audience_sizestringEstimated target audience size range, e.g. "22.0M-26.9M"
audience_intereststringInterest-based targeting categories, if disclosed
age_targetingarrayPer-region age group targeting booleans
gender_targetingarrayPer-region gender targeting booleans
location_impressionsarrayPer-region impression bucket breakdown

How much does it cost?

This actor runs on Apify's Pay-Per-Event or subscription plans. A typical run scraping 1,000 ads from three countries completes in under two minutes and consumes minimal compute units โ€” well within the free trial allocation.

For volume workloads, the Scale plan is recommended. Scraping 10,000 ads across all EU regions costs approximately $0.10โ€“0.30 in compute units depending on API response latency.

The fetchDetails option (enabled by default) makes one additional lightweight request per ad to the TikTok detail endpoint. These requests run concurrently (up to 10 at a time) and have minimal cost impact โ€” typically adding less than 10% to total compute for most run sizes.

Tips to control costs:

  • Set maxResults to cap the run before it starts.
  • Narrow regions to the specific countries you need โ€” covering "all" fetches from 29 regions sequentially.
  • Use startDate / endDate to limit the time window rather than relying solely on maxResults.

FAQ

Which regions are supported?

All EU member states (Austria, Belgium, Bulgaria, Croatia, Cyprus, Czechia, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden), plus the United Kingdom (GB) and Turkey (TR). This matches TikTok's own transparency scope under the EU Digital Services Act.

Does it need login, cookies, or an API key?

No. The TikTok Ads Library endpoint is publicly accessible without authentication. The actor makes standard HTTPS requests โ€” no browser, no session tokens, no cookies required.

Can it scrape US ads or other regions?

No. TikTok's Ads Library is limited to EU/UK/TR by TikTok's own policy. The US, Asia-Pacific, and other markets are not included in the transparency portal and cannot be scraped through this interface.

How fresh are the media URLs?

Video and image URLs returned by the API are pre-signed CDN links that expire approximately 6 hours after generation. If you need the media files, download them during or immediately after the run. The actor stores the raw URLs in the dataset โ€” it does not download or re-host media.

What about rate limits?

TikTok's Ads Library API is relatively lenient. The actor paginates in series (one page at a time per region) with brief delays between requests. For large result sets, use maxResults to cap the run rather than relying on the API to throttle gracefully.

Why does the image ad type filter return mostly video results?

This reflects TikTok's own API behavior โ€” the image filter does not exclusively return carousel/image ads in practice. The actor passes the filter value through as-is and derives the type field in the output from the actual media arrays present in each record (video_urls vs. image_urls).

Is this legal to use?

The TikTok Ads Library exists specifically to fulfill transparency obligations under the EU Digital Services Act (DSA) and equivalent regional regulations. The data is publicly disclosed. That said, you are responsible for ensuring your use complies with TikTok's Terms of Service, applicable data protection regulations (GDPR, UK GDPR, etc.), and any restrictions in your jurisdiction. This actor is provided for legitimate research, compliance, and journalism use cases.


Supported regions reference

CodeCountryCodeCountry
ATAustriaITItaly
BEBelgiumLVLatvia
BGBulgariaLTLithuania
HRCroatiaLULuxembourg
CYCyprusMTMalta
CZCzechiaNLNetherlands
DKDenmarkPLPoland
EEEstoniaPTPortugal
FIFinlandRORomania
FRFranceSKSlovakia
DEGermanySISlovenia
GRGreeceESSpain
HUHungarySESweden
IEIrelandGBUnited Kingdom
โ€”โ€”TRTurkey

Related actors

  • Facebook Ad Library Scraper โ€” extract ads from Meta's transparency library
  • Google Ads Transparency Scraper โ€” search Google's political and election ad reports
  • YouTube Ad Scraper โ€” collect video ad data from YouTube

You might also like

TikTok Ads Library Scraper โ€” EU Library & Creative Center

brilliant_gum/tiktok-ads-library-scraper

Scrape TikTok Ads Library (EU/EEA/UK) and Creative Center (global). Extract ad creatives, targeting data, reach estimates, CTR, video URLs, and industry insights. Dual-source coverage โ€” no login required. Residential proxies built-in.

๐Ÿ‘ User avatar

Yuliia Kulakova

246

TikTok Ads Library Scraper

codingfrontend/tiktok-ads-library-scraper

Scrapes TikTok Ads Library (library.TikTok.com/ads) for ad creatives, advertiser details, engagement metrics, and video URLs.

๐Ÿ‘ User avatar

Coding Frontned

2

Tiktok Ads Library Creative Center Scraper

coregent/tiktok-ads-library-creative-center-scraper

Extract public TikTok ads, top creatives, landing pages, advertiser data, and creative insights from TikTok Ads Library and Creative Center for competitor research and marketing intelligence.

105

Advanced TikTok Ad Library Scraper/API

practicaltools/advanced-tiktok-ad-library-scraper-api

Scrapes ads from the TikTok Commercial Content Library. Returns creative content, advertiser info, audience reach, targeting, and dates.

๐Ÿ‘ User avatar

Practical Tools

33

TikTok Ads Library Scraper โ€” Ad Library + Creative Center

aiscraperdev/tiktok-ads-library-scraper

Scrape TikTok Ads Library and Creative Center. Get video URLs, advertiser names, dates, CTR rankings, and cover images. Search by keyword, brand, or advertiser. No login required.

๐Ÿ‘ User avatar

Randeep Dhillon

38

5.0

TikTok Ads Spy

lurkapi/tiktok-ads-spy

Scrape ads from TikTok Ads Library (EU/EEA + UK + Switzerland + Turkey) and Creative Center Top Ads (global, includes US). Filter by region, advertiser, date range, industry, objective. Optional video download and landing-page resolution.

TikTok Ad Library & Creative Scraper - Spy on Competitor Ads

whoareyouanas/tiktok-ad-scraper

Scrape TikTok Ad Library + Creative Center at scale - competitor ads, video URLs, hooks, days-running, EU/EEA regions - into clean CSV/JSON. Track ads before they vanish. No $99/mo PipiAds subscription needed.

TikTok Ad Library - Free To Use

dz_omar/tiktok-ad-library-scraper

Scrape ads from the TikTok Ad Library by keyword, advertiser name, or URL. Export advertiser, creative type, first/last shown dates, audience size, video/image creatives, and download media files permanently. Full targeting data (regions, age, gender) on demand. No login required.

๐Ÿ‘ User avatar

FlowExtract API

13

TikTok Ad Library Spy & Creative Center Scraper

beyondops/tiktok-ad-library-scraper

Spy on competitor TikTok ads. Extract top-performing ad creatives, video URLs, CTR rankings, brand names, and budget data from TikTok Creative Center. Filter by country, industry, objective, and ad format. Export to JSON/CSV/Excel. No TikTok login required. Perfect for ad research & creative briefs.

312

5.0

TikTok Ads Library Scraper

fetch_cat/tiktok-ads-library-scraper

Scrape public TikTok Creative Center Top Ads by keyword, region, period, language, objective, and industry. Export ad text, media, metrics, and URLs.

Related articles

Build your own ad monitoring tool with Apify in a day
Read more