TikTok Ad Library

TikTok Ad Library API

Ads from TikTok's Ad Library by keyword or advertiser, with video, caption, run dates, reach per country, targeting and who paid.

Coverage
TikTok's library holds ads delivered in the EU and EEA, the UK, Switzerland and Turkey (33 regions). There are no US or other global ads.
Price
1 credit per ad. 1 credit per delivered ad. A live search page costs at most 5 credits, however many ads it returns. Ads last shown more than 12 months ago cost double. Empty, cached and failed results are free.
Status
TikTok's ad record has no active flag. Search with status=active or status=inactive and the ads carry that status; otherwise status is unknown with last_shown.

Find ads by

  • Keyword in the ad text (q)
  • Advertiser name (advertiser=…), fuzzy
  • Advertiser id (advertiser=tiktok:…)
  • Ad id (GET /v1/ads/tiktok:{id})
  • Our archive (source=history)

Filters

  • country: one of the 33 regions (GB for the UK)
  • from / to: default the last 30 days for keyword and name searches, 365 days for an advertiser id
  • format: video, image or text
  • status: active or inactive

What you get for each ad

The same fields as every other platform, in one schema. What TikTok publishes is filled in; what it does not stays null.

Ad and advertiser

id
tiktok:<ad id>
advertiser.name, advertiser.id
The advertiser; the id is set on the ad detail and on advertiser-id searches
advertiser.verified
From the advertiser's TikTok account type
first_shown, last_shown
First and last day shown
extra.tiktok_account
Username, display name, followers and profile URL, on the ad detail

Creative

formats
video, image, carousel (several images) or text
creatives[].text
The ad caption
creatives[].cta, creatives[].landing_url
On the ad detail; app ads link to the app store
countries
On the ad detail

Moderation

extra.audit_status
TikTok's review status; ads removed for a violation or for incomplete EEA information carry extra.removed
extra.rejection_info
TikTok's rejection details, where given

Only for ads shown in the EU

Published under the Digital Services Act; see EU reach.

  • eu_data.reach_by_country: reach per country where TikTok gives a number; ranges stay raw in extra.reach_by_country_raw
  • eu_data.reach_total: only when TikTok gives an exact number; usually a range, kept in extra.reach_total_raw
  • extra.unique_reach_range: TikTok's unique users range
  • eu_data.targeting: ages, genders, locations, and in other languages, operating systems, device models, interests, video and creator interactions and audiences
  • eu_data.payer (paid for by) and eu_data.beneficiary
  • These come with the ad detail (GET /v1/ads/{id}), not in search results

What TikTok does not publish

  • Spend: spend_range is null
  • Impressions: impressions_range is null; TikTok gives reach
  • The advertiser's website: advertiser.domain is null
  • Ads outside the 33 regions

Try it

Active video ads in Germany that mention protein. GET /v1/ads/{id} adds reach per country and targeting.

Media: Videos with their cover image, and images. TikTok's media links expire after hours; images are copied to media.adlibapi.com under stable URLs, and videos are archived for advertisers on a watchlist.

curl "https://api.adlibapi.com/v1/search?platform=tiktok&q=protein&country=DE&status=active&format=video" \
  -H "X-API-Key: $ADLIB_API_KEY"

What to do with it

  • Collect a brand's TikTok videos with captions and transcripts for a creative review.
  • See in which European countries a competitor's TikTok ad reached the most people.
  • Get an alert when a competitor launches new TikTok ads.

Limits

  • No native domain search: resolve the domain with GET /v1/advertisers/resolve, then search by advertiser id.
  • An advertiser-id search needs the advertiser's name, which AdLib knows once the advertiser came up in a resolve or an ad lookup.
  • format=carousel cannot be filtered.
  • Reach, targeting and payer need the ad detail, one call per ad.

Questions

Does the TikTok Ad Library have an API?
AdLib returns TikTok Ad Library data through a REST API: search by keyword or advertiser, then fetch each ad with reach, targeting and payer. It uses the same schema as the other platforms.
Which countries does the TikTok Ad Library cover?
The EU and EEA, the UK, Switzerland and Turkey: 33 regions. US ads are not in it.
Can I see spend for TikTok ads?
No. TikTok publishes reach per country and a unique-users range, but no spend and no impressions.
How do I find a TikTok advertiser from a domain?
Call GET /v1/advertisers/resolve?domain=nike.com. AdLib checks whether the candidates' newest ads land on the domain and scores them, then you search by the advertiser id.

Read more

Other platforms

Questions about TikTok data? [email protected]