TikTok Ad library search API
Search TikTok's public Ads Library by keyword or advertiser (advertiser, title, audience band, run dates, library link, and video).
Provider network
Providers ranked by traffic
Try it
Make your first request
{
"data": {
"ads": [
{
"adId": "a1b2c3d4",
"adTitle": "Example title",
"brandName": "Acme Inc",
"coverUrl": "https://example.com/page",
"estimatedAudience": "example",
"firstShownUtc": 42,
"lastShownUtc": 42,
"url": "https://example.com/page",
"videoUrl": "https://example.com/page"
}
],
"hasMore": true,
"nextCursor": "example",
"total": 12500
},
"found": true
}interface TiktokAdLibrarySearchResponse {
data: {
ads: {
adId: string;
adTitle: string;
brandName: string;
coverUrl: string;
estimatedAudience: string;
firstShownUtc?: number;
lastShownUtc?: number;
url?: string;
videoUrl: string;
}[];
hasMore: boolean;
nextCursor: string | null;
total: number;
} | null;
found: boolean;
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
Request, response, and price
Last verified 2026-09-16 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/tiktok.ad_library_search \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"spotify"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| advertiserName | string | Advertiser name to list ads for (e.g. Spotify). Provide advertiserName or query, never both. |
| cursor | string | Opaque cursor from a previous response's nextCursor. Omit it for the first page. |
| query | string | "spotify"Keyword to search ad titles and content (e.g. spotify). Provide query or advertiserName, never both. |
| region | string | Two-letter region code for TikTok's Commercial Content Library, such as DE, FR, GB or IT. Each region holds a different set of ads. Omit it to take the library's own default region, DE. Coverage is the EU and EEA; a non-EU code such as US is not served. |
| Response | ||
| data | object | |
| data.ads | object[] | Populated whenever the provider has data for the entity. |
| data.ads[].adId | string | TikTok ad id. Populated whenever the provider has data for the entity. |
| data.ads[].adTitle | string | Ad title as shown in TikTok's ad library. Populated whenever the provider has data for the entity. |
| data.ads[].brandName | string | Advertiser name on the ad. |
| data.ads[].coverUrl | string | Cover image URL of the ad's first video. Populated whenever the provider has data for the entity. |
| data.ads[].estimatedAudience | string | Audience size band TikTok publishes for the ad, for example "100K-200K". |
| data.ads[].firstShownUtc | integer | UTC epoch timestamp in seconds (Unix time) when TikTok first showed the ad. Multiply by 1000 for a JS Date in milliseconds. |
| data.ads[].lastShownUtc | integer | UTC epoch timestamp in seconds (Unix time) when TikTok last showed the ad. Multiply by 1000 for a JS Date in milliseconds. |
| data.ads[].url | string | Link to the ad's detail page in TikTok's public Ads Library. |
| data.ads[].videoUrl | string | Playable URL of the ad's first video. Populated whenever the provider has data for the entity. |
| data.hasMore | boolean | |
| data.nextCursor | string | Opaque cursor for the next page of ads, or null when this lane has no more. Pass it back as cursor to continue. |
| data.total | integer | |
| found | boolean | |
| Price | ||
| Price per request | USD | $0.0005 |
| Price /1k req | USD | $0.50 |
FAQ
About the TikTok Ad library search API
The AnyAPI TikTok Ad library search API returns TikTok ad library search data as normalized JSON from one POST call to /v1/run/tiktok.ad_library_search. Search TikTok's public Ads Library by keyword or advertiser (advertiser, title, audience band, run dates, library link, and video). AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $0.50 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 45.5% of TikTok ad library search calls through AnyAPI succeeded, with a median response time of 3.1 seconds across 11 measured calls.