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=activeorstatus=inactiveand the ads carry that status; otherwisestatusisunknownwithlast_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 (GBfor the UK)from/to: default the last 30 days for keyword and name searches, 365 days for an advertiser idformat:video,imageortextstatus:activeorinactive
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) ortext- 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 inextra.reach_by_country_raweu_data.reach_total: only when TikTok gives an exact number; usually a range, kept inextra.reach_total_rawextra.unique_reach_range: TikTok's unique users rangeeu_data.targeting: ages, genders, locations, and inotherlanguages, operating systems, device models, interests, video and creator interactions and audienceseu_data.payer(paid for by) andeu_data.beneficiary- These come with the ad detail (
GET /v1/ads/{id}), not in search results
What TikTok does not publish
- Spend:
spend_rangeis null - Impressions:
impressions_rangeis null; TikTok gives reach - The advertiser's website:
advertiser.domainis 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=carouselcannot 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]