TikTok Ad library search API
Search TikTok's ad library by keyword (top ads with brand, title, spend, CTR, likes, and video info).
Try it
Make your first request
{
"data": {
"ads": [
{
"adId": "a1b2c3d4",
"adTitle": "Example title",
"brandName": "Acme Inc",
"cost": 19.99,
"coverUrl": "https://example.com/page",
"ctr": 12.5,
"industry": "general",
"likes": 12500,
"objective": "example",
"videoUrl": "https://example.com/page"
}
],
"hasMore": true,
"nextCursor": "example",
"total": 12500
},
"found": true
}interface TiktokAdLibrarySearchResponse {
data: {
ads: {
adId: string;
adTitle: string;
brandName: string;
cost: number;
coverUrl: string;
ctr: number;
industry: string;
likes: number;
objective: 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-12 · 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 '{"limit":20,"objective":"conversions","period":30,"query":"spotify"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| query | string | "spotify"Keyword to search ad titles and content (e.g. spotify). |
| adFormat | enum | Ad format filter. |
| adLanguage | enum | Ad language filter. |
| advertiserName | string | Filter to a specific advertiser by name (searches the public TikTok Ads Library by advertiser). |
| cursor | string | Page number for pagination (defaults to 1). |
| duration | enum | Video duration bucket filter. |
| industry | enum | Advertiser industry filter. |
| likes | enum | Likes percentile bucket filter (top_1_20 is the top-performing 20 percent). |
| limit | integer | 20Results per page, with an existing maximum of 50 (default 20). Use a canonical JSON integer; legacy numeric strings remain accepted. |
| objective | enum | "conversions"Campaign objective filter. |
| orderBy | string | Sort metric: for_you, impression, play_2s_rate, play_6s_rate, cvr, ctr, or like. |
| period | enum | 30Time window for top ads. Use the canonical JSON integer 7, 30, or 180; legacy numeric strings remain accepted. |
| region | string | Country code (defaults to US). |
| Response | ||
| data | object | |
| data.ads | object[] | Populated whenever the provider has data for the entity. |
| data.ads[].adId | string | Populated whenever the provider has data for the entity. |
| data.ads[].adTitle | string | Populated whenever the provider has data for the entity. |
| data.ads[].brandName | string | |
| data.ads[].cost | number | |
| data.ads[].coverUrl | string | Populated whenever the provider has data for the entity. |
| data.ads[].ctr | number | |
| data.ads[].industry | string | Populated whenever the provider has data for the entity. |
| data.ads[].likes | integer | |
| data.ads[].objective | string | Populated whenever the provider has data for the entity. |
| data.ads[].videoUrl | string | 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.0012 |
| Price /1k req | USD | $1.20 |
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 ad library by keyword (top ads with brand, title, spend, CTR, likes, and video info). AnyAPI returns one normalized schema whichever source serves it. It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 50.0% of TikTok ad library search calls through AnyAPI succeeded, with a median response time of 2.6 seconds across 12 measured calls.