# TikTok Shop Sales API (https://www.socialcrawl.dev/platforms/tiktokshop/sales) > Runs one keyword through TikTok Shop search in each market you name and returns, per market: how many listings came back (`listings`, `listings_with_sales`), their lifetime units sold added up (`units_sold`), an estimate of sales in the market's own currency (`estimated_sales`, each listing's units times its current price, `currency`), and the top listings by units (`top_products`, each with id, title, url, price, units_sold and estimated_sales). These are lifetime units of the listings on the first search page at today's price, and TikTok can return a different first page on a repeat call, so compare markets within one call; the figures are not a period total or the whole market. For sales over a period, call it on a schedule and take the difference between two calls. Each market is one call to /v1/tiktokshop/search at that endpoint's own price, so every row behind the numbers is the row that endpoint returns; a market that found nothing or failed costs nothing and reports `status` `empty` or `failed` with null figures, never 0. `data.regions[].credits` and `request_id` show each market's own call. TL;DR: `GET /v1/tiktokshop/sales` costs Metered, 0-8 credits: each market is one /v1/tiktokshop/search page billed at that endpoint's own price (1 credit), exactly as a direct call is billed. A market whose page found nothing or failed costs nothing, and a page served from cache is free. data.regions[].credits shows each market's charge and credits_used the total. and returns SocialCrawl's unified JSON schema. Single x-api-key auth, 100 free credits on signup. ## Parameters | Parameter | Required | Description | | --- | --- | --- | | `query` | yes | Product keyword, sent unchanged to each market's search (1-200 characters). | | `regions` | no | Comma-separated markets, up to 8: US, GB, DE, FR, IT, ES, IE, ID, MY, MX, PH, SG, TH, VN, BR, JP. Default US. Each market costs one search page (1 credit) when it returns listings. | | `top` | no | How many top listings by units to return per market, 1 to 20. Default 5. | ## Code example ```bash curl -G "https://www.socialcrawl.dev/v1/tiktokshop/sales" \ --data-urlencode "query=lip gloss" \ -H "x-api-key: sc_YOUR_API_KEY" ``` ## FAQ ### What does the TikTok Shop Sales API return? Returns units sold and estimated sales per TikTok Shop market for a keyword, with the top listings by units, from each market's first search page. The response uses the same JSON envelope as every SocialCrawl endpoint, with the data, credits_used and request_id fields. ### When should I use the TikTok Shop Sales endpoint? Use it to compare how much of a product sells in each country in one call; search returns the listings themselves. ### How much does the TikTok Shop Sales API cost? The price depends on the request, from 0 to 8 credits per call. Every new account gets 100 free credits. Credits for failed or empty calls are refunded automatically, and there is no subscription. ### What parameters does the TikTok Shop Sales API need? The one required parameter is query (product keyword, sent unchanged to each market's search). It also accepts 2 optional parameters, all listed on this page. ### How do I call the TikTok Shop Sales API? Send a GET request to https://www.socialcrawl.dev/v1/tiktokshop/sales?query=lip%20gloss with your API key in the x-api-key header. An Authorization: Bearer header works too. See the full TikTok Shop API: https://www.socialcrawl.dev/platforms/tiktokshop ## Pricing - Standard endpoints: 1 credit per call - Advanced endpoints: 5 credits per call - Premium endpoints: 10 credits per call - 100 free credits on signup, no credit card required. Cached responses cost 0 credits. Credit packs never expire. - Full pricing: https://www.socialcrawl.dev/pricing ## Explore with AI Questions this API answers, phrased for an AI assistant: - What does the SocialCrawl TikTok Shop Sales API return? - How do I get TikTok Shop Sales data with the SocialCrawl API?