SocialToAIStart freeConsole
POST/v1/call/tiktok.seller_productsPreview

TikTok Shop seller products API

Only on TikTok.

The TikTok Shop seller products API returns a page of the products a TikTok Shop seller in the United States has on sale by the seller's ID: title, current and original price, rating, reviews, units sold. 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.

100 credits on sign-up, no card needed
2 creditsper call
Up to 20 per pageone page per call
2026-10-17last tested
980 Bsample response, 1 item

Last updated:

Preview: this interface is not marked stable yet, so its parameters and fields may still change. It is charged like any other call, and a failed call is not charged.

Request and response

curl https://api.socialtoai.com/v1/call/tiktok.seller_products \  -H "Authorization: Bearer $SOCIALTOAI_KEY" \  -H "Content-Type: application/json" \  -d '{    "id": "8651645720603103776"  }'
import osimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/call/tiktok.seller_products",    headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"},    json={        "id": "8651645720603103776",    },)print(response.json())
# Connected over MCP? Ask in plain words.Use the TikTok Shop seller products interface (tiktok.seller_products) with id: 8651645720603103776.# Your AI calls the call tool with:{  "id": "8651645720603103776"}
Sign in to run2 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK980 B2 credits
{  "op": "tiktok.seller_products",  "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": null,        "price": "26",        "original_price": "29",        "currency": "…",        "images": ["https://example.com/…"],        "rating": 4.6,        "sold": 3911,        "reviews_count": 379,        "shop": {          "id": "…",          "name": "…"        }      }    }  ],  "unavailable": ["fields.description"],  "page": {    "has_more": true,    "cursor": "cur_…",    "cursor_expires_at": "2026-10-12T22:16:06.000Z"  },  "cost_credits": 2}
entry_type
product
description
null
price
26
original_price
29
currency
…
rating
4.6
sold
3911

Names and text were removed from the sample; the numbers are as recorded.

Sample data1 of the 20 items recorded

2 parameters.
1 required.

Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.

NameTypeRequiredDefaultDescription
idstringRequired—Seller ID, a string of digits (the last segment of the shop's link)
cursorstringOptional—Pass page.cursor from the last response to get the next page.

Where to get what you send.

id

Seller ID, a string of digits (the last segment of the shop's link) (e.g. 8651645720603103776)

No other interface of the platform returns it: take it from the web page or link as described above.

The fields of each item.
What TikTok cannot give is marked.

FieldTypeMeaning
items[].titlestringThe entry's title or name.
items[].urlstringA link that opens it; null where the platform's list has none.
items[].rankintegerPosition on a board, from 1.
items[].heatintegerThe platform's heat score.
items[].fields.descriptionstringalways nullThe product description.
items[].fields.pricestringThe current price, as a decimal string in fields.currency.
items[].fields.original_pricestringThe price before discount.
items[].fields.currencystringThe currency of the prices.
items[].fields.imagesstring[]Image addresses.
items[].fields.ratingnumberThe rating.
items[].fields.soldintegerUnits sold.
items[].fields.reviews_countintegerHow many reviews it has.
items[].fields.shop.idstringThe shop's ID.
items[].fields.shop.namestringThe shop's name.
nullFields TikTok cannot give

Read null as “TikTok did not give this”, not as zero. These are always null on this call:

  • fields.descriptionThe product description.

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.

One call returns a page of up to 20 items. When page.has_more is true, send page.cursor back as cursor for the next page; each page costs 2 credits and a cursor works for 30 minutes.
A call that runs and finds nothing is a successful call: status is "empty", items is empty, and it costs 2 credits.

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.

  1. Get a page of the products a TikTok Shop seller in the United States has on sale by the seller's ID: 8651645720603103776.
    call {"op":"tiktok.seller_products","id":"8651645720603103776"}
    2 credits

Questions.
Short answers.

Everything on TikTok
Do I need a TikTok account or TikTok's own API access?
No. You only need a SocialToAI key. The call returns content and account information publicly visible on TikTok; you never sign in to TikTok or apply for anything there.
What does “Preview” mean here?
Preview: this interface is not marked stable yet, so its parameters and fields may still change. It is charged like any other call, and a failed call is not charged.

Your AI is one URL away
from all of social media.

100 credits on sign-up, no card needed