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.
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.
| Compare | Ad Library | Top Ads |
|---|---|---|
| Endpoint | tiktok.ads.search | tiktok.creative_center.ads.search |
| Where | Ads shown in Europe | One country a call, by region; the US when left out |
| How to narrow it | query, newest first, 12 a page | query, window (7d, 30d, 180d), sort (relevance, or popular for likes), 20 a page |
| Dates | first_shown_at, last_shown_at | None |
| In a result | Advertiser, headline, pictures, link. view=full adds videos, ext.audience_range and ext.category | Caption, 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.
| Job | Calls | Comes to |
|---|---|---|
| 50 keywords, 5 pages each in the library | 250 × $0.0020 | $0.50 |
| The details of 100 of those ads | 100 × $0.0020 | $0.20 |
| 10 words in 5 countries' Top Ads, one page each: about 1,000 ads | 50 × $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.