TikTok Ad Library API — FetchLayer Docs
Documentation menu
FetchLayer FetchLayer API

TikTok Ad Library API v1

Search public TikTok ads, read the advertisers behind them, and download the video creative, from https://api.fetchlayer.dev/tiktok-ad-library. No TikTok developer account or access token required — just your FetchLayer key.

OpenAPI JSON

Available endpoints

What the library publishes

  • It covers 33 countries. TikTok publishes its library for the 27 EU member states — Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Spain and Sweden — plus the United Kingdom (GB), Switzerland (CH), Norway (NO), Iceland (IS), Liechtenstein (LI) and Turkey (TR). Any other country, including the US, Canada and Australia, is rejected. Pass one of AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MT NL NO PL PT RO SE SI SK TR, or ALL for every covered country.
  • Reach and targeting are European. The reach and targeting breakdowns — impressions by region, age bracket and gender, plus the audience size the targeting could reach — are published for European countries. Ads from elsewhere come back with the fields the library does publish for them and targeting null.
  • Figures are bands, not counts. estimatedAudience arrives as "10K-100K", follower counts as "150.2K". Treat them as ranges. spend is published only where the law requires it, so it is null for ordinary commercial ads.
  • No political ads, and no political filter. TikTok prohibits political advertising outright, so there is no ad-type switch to restrict a search to political and issue ads. If you have come from another ad library looking for one, it is absent by design rather than missing.
  • Advertiser profiles are assembled. The library publishes identity per ad rather than as a profile page, so /advertiser-profile reads it off the advertiser's latest matching ad and tells you which one in sampledAdId.
  • Every response carries notes. It reports what this particular result could not do — a walk that stopped short of the pages you asked for, an upstream cap, a filter the library would not honour. Read it before treating a result set as complete.