How do I search TikTok's Ad Library in bulk? (2026)

50 keywords at 5 pages each come to $0.50 for about 3,000 ads: tiktok.ads.search gives 12 ads a page at $0.0020, tiktok.ads.get adds an ad's landing page, and tiktok.creative_center.ads.search shows a country's Top Ads. The library covers ads shown in Europe; Top Ads is a separate set. DataXAPI reads TikTok with 18 endpoints, from $0.0020 a call; a failed call is not charged.

Open in ChatGPTOpen in Claude

Updated 2026-11-04

Two different sets of ads

The library is a transparency record of what ran. Top Ads is a showcase of what did well. Choose by what you want to know.

CompareAd LibraryTop Ads
Endpointtiktok.ads.searchtiktok.creative_center.ads.search
WhereAds shown in EuropeOne country a call, by region; the US when left out
How to narrow itquery, newest first, 12 a pagequery, window (7d, 30d, 180d), sort (relevance, or popular for likes), 20 a page
Datesfirst_shown_at, last_shown_atNone
In a resultAdvertiser, headline, pictures, link. view=full adds videos, ext.audience_range and ext.categoryCaption, brand name, link. view=full adds videos, ext.likes, ext.duration and ext.objective

What TikTok itself offers

The library's FAQ says you need no TikTok account to search it, that it holds ads published on or after 2022-10-01 with at least one impression, and that an ad stays for a year after it was last shown. Its page takes one search at a time.

For bulk, TikTok has the Commercial Content API. You apply with a form and should hear back within 2 working days, and its page says it holds data from EU countries in this phase. The Creative Center's page, read without logging in, showed a few ads and asked us to log in for all of them, and it notes that the ads shown are limited to those their advertisers authorised. All read on 2026-11-04.

Bulk, in three steps

1. Search. dataxapi call tiktok.ads.search query=sneakers --pages 5 --max-spend 0.01 --out ads.json, repeated for each word. As a table: dataxapi run ads platforms=tiktok query=sneakers pages=3 --out ads.csv, 3 calls, $0.006.

2. Open the ones that matter. tiktok.ads.get takes the ad's id or its library link and adds landing_url; view=full adds videos, ext.regions and ext.objective.

3. See what did well. tiktok.creative_center.ads.search with region, window=30d, sort=popular and view=full, once per country and word. tiktok.creative_center.ads.get adds the landing page; view=full adds ext.comments, ext.shares and ext.regions.

JobCallsComes to
50 keywords, 5 pages each in the library250 × $0.0020$0.50
The details of 100 of those ads100 × $0.0020$0.20
10 words in 5 countries' Top Ads, one page each: about 1,000 ads50 × $0.0020$0.10

Good to know

There is no spend here. With view=full, ext.audience_range is a bracket of people reached, as the library words it, and null where it gives none; videos addresses expire, so use them soon after you read them; ext.objective is the platform's own code. Library results have no body text. To ask in plain words: “Search TikTok's ad library for these 5 brands, sort by last shown, and group their headlines by what they promise.”

Endpoints

Each with its price; every page has the parameters, the fields and a recorded response.

Sources

What this page says of other services is from their own pages and documents, read on 2026-11-04. Prices and features change: check the source before you decide.