/v1/call/tiktok.product_detailPreviewTikTok Shop product detail API
Only on TikTok.
The TikTok Shop product detail API returns a TikTok Shop product in the United States by its ID: title, description, pictures, rating, reviews, units sold, shop; its price comes from the product search. 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.product_detail \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "id": "1732488007561286228" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/call/tiktok.product_detail", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "id": "1732488007561286228", },)print(response.json())# Connected over MCP? Ask in plain words.Use the TikTok Shop product detail interface (tiktok.product_detail) with id: 1732488007561286228.# Your AI calls the call tool with:{ "id": "1732488007561286228"}{ "op": "tiktok.product_detail", "platform": "tiktok", "status": "ok", "items": [ { "platform": "tiktok", "id": "…", "ref": "…", "approx": [], "type": "entry", "entry_type": "product", "title": "…", "url": "https://example.com/…", "rank": null, "heat": null, "fields": { "description": "…", "price": null, "original_price": null, "currency": null, "images": ["https://example.com/…", "https://example.com/…"], "rating": 4.1, "sold": 233, "reviews_count": 18, "shop": { "id": "…", "name": "…" } } } ], "unavailable": ["fields.price", "fields.original_price", "fields.currency"], "cost_credits": 2}- entry_type
- product
- description
- …
- price
null- original_price
null- currency
null- rating
- 4.1
- sold
- 233
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 | — | Product ID, a string of digits (the last segment of the product's link) |
Where to get what you send.
idProduct ID, a string of digits (the last segment of the product's link) (e.g. 1732488007561286228)
Every item these return carries its ref; send it as it is:
product_searchShop product searchseller_productsShop seller products
The fields of each item.
What TikTok cannot give is marked.
| Field | Type | Meaning |
|---|---|---|
| items[].title | string | 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.description | string | The product description. |
| items[].fields.price | stringalways null | The current price, as a decimal string in fields.currency. |
| items[].fields.original_price | stringalways null | The price before discount. |
| items[].fields.currency | stringalways null | The currency of the prices. |
| items[].fields.images | string[] | Image addresses. |
| items[].fields.rating | number | The rating. |
| items[].fields.sold | integer | Units sold. |
| items[].fields.reviews_count | integer | How many reviews it has. |
| items[].fields.shop.id | string | The shop's ID. |
| items[].fields.shop.name | string | The shop's name. |
nullFields TikTok cannot giveRead null as “TikTok did not give this”, not as zero. These are always null on this call:
fields.priceThe current price, as a decimal string in fields.currency.fields.original_priceThe price before discount.fields.currencyThe currency of the prices.
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 a TikTok Shop product in the United States by its ID: 1732488007561286228.
2 creditscall {"op":"tiktok.product_detail","id":"1732488007561286228"}Search the products of TikTok Shop in the United States by terms: yoga mat, then for the first 3: get a TikTok Shop product in the United States by its ID.
8 creditscall {"op":"tiktok.product_search","query":"yoga mat"}call {"op":"tiktok.product_detail","id":"<ref>"} × 3
The interface of the same name on other platforms.
All platforms and prices/v1/call/tiktok.product_detail{ "id": "1732488007561286228" }2 creditsper call