/v1/call/tiktok.top_ad_detailPreviewTikTok Creative Center Top Ad detail API
Only on TikTok.
The TikTok Creative Center Top Ad detail API returns one Top Ad of TikTok's Creative Center by its ID: the ad's video, caption, brand name, landing page, likes, comments, shares, length, campaign objective and the countries it ran in. 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_detail \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "id": "7686210433094729735" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/call/tiktok.top_ad_detail", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "id": "7686210433094729735", },)print(response.json())# Connected over MCP? Ask in plain words.Use the TikTok Creative Center Top Ad detail interface (tiktok.top_ad_detail) with id: 7686210433094729735.# Your AI calls the call tool with:{ "id": "7686210433094729735"}{ "op": "tiktok.top_ad_detail", "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": "https://example.com/…", "advertiser": { "id": null, "name": "…", "url": null }, "images": null, "first_shown_at": null, "last_shown_at": null } } ], "unavailable": ["title", "fields.images", "fields.first_shown_at", "fields.last_shown_at", "fields.advertiser.id", "fields.advertiser.url"], "cost_credits": 2}- entry_type
- ad
- format
- video
- text
- …
- landing_url
- https://example.com/…
- images
null- first_shown_at
null- last_shown_at
null
Names and text were removed from the sample; the numbers are as recorded.
1 parameter.
All 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 |
|---|---|---|---|---|
| id | string | Required | — | The Top Ad's ID, a string of digits; the Top Ads search finds it |
Where to get what you send.
idThe Top Ad's ID, a string of digits; the Top Ads search finds it (e.g. 7686210433094729735)
Every item these return carries its ref; send it as it is:
top_ad_searchCreative Center Top Ads searchad_searchAds Library search
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 | string | 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.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.
Get one Top Ad of TikTok's Creative Center by its ID: 7686210433094729735.
2 creditscall {"op":"tiktok.top_ad_detail","id":"7686210433094729735"}Search the Top Ads of TikTok's Creative Center by keyword: sneakers, then for the first 3: get one Top Ad of TikTok's Creative Center by its ID.
8 creditscall {"op":"tiktok.top_ad_search","query":"sneakers"}call {"op":"tiktok.top_ad_detail","id":"<ref>"} × 3