/v1/call/tiktok.top_ad_searchPreviewTikTok Creative Center Top Ads search API
Only on TikTok.
The TikTok Creative Center Top Ads search API searches the Top Ads of TikTok's Creative Center by keyword. One call costs 2 credits ($0.004 to $0.0067 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP. Last tested 2026-10-17.
Last updated:
Request and response
curl https://api.socialtoai.com/v1/call/tiktok.top_ad_search \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "sneakers" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/call/tiktok.top_ad_search", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "query": "sneakers", },)print(response.json())# Connected over MCP? Ask in plain words.Use the TikTok Creative Center Top Ads search interface (tiktok.top_ad_search) with query: sneakers.# Your AI calls the call tool with:{ "query": "sneakers"}windowsort{ "op": "tiktok.top_ad_search", "platform": "tiktok", "status": "ok", "items": [ { "platform": "tiktok", "id": "…", "ref": "…", "approx": [], "type": "entry", "entry_type": "ad", "title": null, "url": "https://example.com/…", "rank": null, "heat": null, "fields": { "format": "video", "text": "…", "landing_url": null, "advertiser": { "id": null, "name": null, "url": null }, "images": null, "first_shown_at": null, "last_shown_at": null } } ], "unavailable": ["title", "fields.landing_url", "fields.images", "fields.first_shown_at", "fields.last_shown_at", "fields.advertiser.id", "fields.advertiser.url"], "page": { "has_more": true, "cursor": "cur_…", "cursor_expires_at": "2026-10-12T22:49:55.000Z" }, "cost_credits": 2}- entry_type
- ad
- format
- video
- text
- …
- landing_url
null- images
null- first_shown_at
null- last_shown_at
null
Names and text were removed from the sample; the numbers are as recorded.
5 parameters.
1 required.
Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| query | string | Required | — | Search terms |
| region | string | Optional | — | Which country's or region's Top Ads, by its two-letter code; the United States when left out |
| window | string | Optional | "180d" | Performance over this recent period"7d""30d""180d" |
| sort | string | Optional | "relevance" | In the Creative Center's own recommended order, or by likes, highest first"relevance""popular" |
| cursor | string | Optional | — | Pass page.cursor from the last response to get the next page. |
The fields of each item.
What TikTok cannot give is marked.
| Field | Type | Meaning |
|---|---|---|
| items[].title | stringalways null | The entry's title or name. |
| items[].url | string | A link that opens it; null where the platform's list has none. |
| items[].rank | integer | Position on a board, from 1. |
| items[].heat | integer | The platform's heat score. |
| items[].fields.format | string | The ad's format: text, image or video. other is a format of the platform's own. |
| items[].fields.text | string | The ad's body text. |
| items[].fields.landing_url | stringalways null | Where a click on the ad leads. |
| items[].fields.advertiser.id | stringalways null | Advertiser ID. |
| items[].fields.advertiser.name | string | Advertiser's name. |
| items[].fields.advertiser.url | stringalways null | The advertiser's page on the platform. |
| items[].fields.images | string[]always null | Addresses of the ad's images. |
| items[].fields.first_shown_at | stringalways null | When the ad was first shown. |
| items[].fields.last_shown_at | stringalways null | When the ad was last shown. For an ad still running, when the platform last saw it. |
nullFields TikTok cannot giveRead null as “TikTok did not give this”, not as zero. These are always null on this call:
titleThe entry's title or name.fields.landing_urlWhere a click on the ad leads.fields.advertiser.idAdvertiser ID.fields.advertiser.urlThe advertiser's page on the platform.fields.imagesAddresses of the ad's images.fields.first_shown_atWhen the ad was first shown.fields.last_shown_atWhen the ad was last shown. For an ad still running, when the platform last saw it.
Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format
What to expect.
1 call per second per key, 5 after a purchase; going over is not charged. Rate limits
A failed call costs 0 credits and is never retried on its own. Error codes
Once connected over MCP, these questions use it.
Search the Top Ads of TikTok's Creative Center by keyword: sneakers.
2 creditscall {"op":"tiktok.top_ad_search","query":"sneakers"}Search the Top Ads of TikTok's Creative Center by keyword: sneakers, with window set to 7d.
2 creditscall {"op":"tiktok.top_ad_search","query":"sneakers","window":"7d"}