TikTok Ad transparency search API
Search TikTok's EU Commercial Content Library by keyword or advertiser ID.
- Category SocialRequests / mo 2Routing 1 lane · no failover
Pricing
One price, in dollars
pay per request · no subscription · fallbacks added as the catalog growsTry it
Make your first request
run it free, no key · same shape for every API{
"data": {
"ads": [
{
"advertiserName": "Example title",
"firstShownUtc": 12.5,
"format": "example",
"id": "a1b2c3d4",
"image": "https://example.com/image.jpg",
"lastShownUtc": 12.5,
"status": "active",
"videoUrl": "https://example.com/page"
}
],
"hasMore": true,
"nextCursor": "example",
"offset": 42,
"region": "CA",
"total": 12500
},
"found": true
}interface TiktokAdTransparencySearchResponse {
data: {
ads: {
advertiserName?: string;
firstShownUtc?: number;
format?: string;
id: string;
image?: string;
lastShownUtc?: number;
status?: string;
videoUrl?: string;
}[];
hasMore: boolean;
nextCursor: string | null;
offset: number;
region: string;
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-08-23 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/tiktok.ad_transparency_search \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"days":30,"limit":20,"query":"nike","region":"DE"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| advertiserId | string | TikTok Commercial Content Library advertiser ID. Provide advertiserId or query. |
| cursor | string | Search cursor from a previous response's nextCursor. |
| days | integer | 30Number of days of Commercial Content Library history to search, from 1 to 365. Defaults to 30. |
| limit | integer | 20Maximum number of ads to return, from 1 to 50. Defaults to 20. Billing is flat per request. |
| offset | integer | Zero-based result offset. Defaults to 0. |
| query | string | "nike"Keyword to search in TikTok's EU Commercial Content Library. Provide query or advertiserId. |
| region | string | "DE"Region code for the transparency search. Defaults to DE. |
| sort | string | Upstream sort expression. Defaults to last_shown_date,desc. |
| Response | ||
| data | object | Ad transparency search results and pagination, or null when no ads were found. |
| data.ads | object[] | Commercial Content Library ad records returned for the search. Populated whenever the provider has data for the entity. |
| data.ads[].advertiserName | string | Advertiser display name associated with the ad. Populated whenever the provider has data for the entity. |
| data.ads[].firstShownUtc | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the ad was first shown. Populated whenever the provider has data for the entity. |
| data.ads[].format | string | Commercial Content Library creative format code for the ad. Populated whenever the provider has data for the entity. |
| data.ads[].id | string | TikTok Commercial Content Library ad identifier. Populated whenever the provider has data for the entity. |
| data.ads[].image | string | Signed cover image URL exactly as returned by the Commercial Content Library. Populated whenever the provider has data for the entity. |
| data.ads[].lastShownUtc | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the ad was last shown. Populated whenever the provider has data for the entity. |
| data.ads[].status | string | Commercial Content Library audit status code for the ad. Populated whenever the provider has data for the entity. |
| data.ads[].videoUrl | string | Signed video asset URL exactly as returned by the Commercial Content Library. Populated whenever the provider has data for the entity. |
| data.hasMore | boolean | Whether the Commercial Content Library reports more matching ads. Populated whenever the provider has data for the entity. |
| data.nextCursor | string | Search cursor to pass as cursor on a subsequent request, or null when there is no next page. Populated whenever the provider has data for the entity. |
| data.offset | integer | Zero-based result offset reported for this page. |
| data.region | string | Region code applied to this transparency search. Populated whenever the provider has data for the entity. |
| data.total | integer | Total number of matching ads reported by the Commercial Content Library. Populated whenever the provider has data for the entity. |
| found | boolean | True when TikTok's EU Commercial Content Library returned at least one ad. |
| Price | ||
| Price per request | USD | $0.0009 |
| Price /1k req | USD | $0.90 |
FAQ
About the TikTok Ad transparency search API
The AnyAPI TikTok Ad transparency search API returns TikTok ad transparency search data as normalized JSON from one POST call to /v1/run/tiktok.ad_transparency_search. Search TikTok's EU Commercial Content Library by keyword or advertiser ID. AnyAPI returns one normalized schema whichever source serves it. It costs from $0.90 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 50.0% of TikTok ad transparency search calls through AnyAPI succeeded, with a median response time of 2.5 seconds across 2 measured calls.
More to call
Other TikTok endpoints
Get started
Two ways to start on AnyAPI
Humans fund a USD wallet and pay per request. Agents point a coding agent at one URL and onboard themselves.