TikTok Shop Product Search
Use the TikTok Shop Product Search API for ecommerce API integration. Review request parameters, response fields, and runnable examples.
/v1 /tiktok /shop /products /searchAPI data samples
Inspect the request body and complete response shape used by this endpoint.
{
"marketplace": "US",
"keyword": "yoga pants"
}{
"request_id": "8fb43e59-4ff9-4dc8-a4b7-2ed164e45ab8",
"data": {
"products": [
{
"product_id": "1732307789426299610",
"title": "【Black Friday】Women's Solid-Color Yoga Pants, Comfortable Casual Activewear for Daily Wear, Exercise, Gym Workouts, and Outdoor Activities",
"price": 22.25,
"original_price": 22.25,
"currency": "USD",
"sold_count": 11725,
"rating": 4.4,
"review_count": 744,
"seller_id": "8647465511174509274",
"shop_name": "Poping yoga",
"image_url": "https://p19-oec-general.ttcdn-us.com/tos-maliva-i-o3syd03w52-us/b50bedd5cf9c44aa994730320d391a17~tplv-fhlh96nyum-crop-webp:1350:1800.webp",
"product_url": "https://shop.tiktok.com/us/pdp/womens-solid-color-sporty-yoga-pants-comfortable-leggings/1732307789426299610"
},
{
"product_id": "1731795774080652206",
"title": "YEOREO Women's Ease Everyday Active Leggings - High Waist, No Front Seam, Buttery Fabric, V-Back Contour, Booty Lifting, Wide Straight Leg, 29\"/31.5\"/33\"/35\" Inseam for Gym Yoga",
"price": 32.99,
"original_price": 32.99,
"currency": "USD",
"sold_count": 242102,
"rating": 4.6,
"review_count": 19770,
"seller_id": "7495567402787376046",
"shop_name": "YEOREO",
"image_url": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/18828332a34240f28849fa3173a3649f~tplv-fhlh96nyum-crop-webp:1800:1800.webp",
"product_url": "https://shop.tiktok.com/us/pdp/womens-high-waisted-straight-leg-leggings-ultra-soft-breathable/1731795774080652206"
}
],
"has_more": true,
"next_cursor": "eyJvZmZzZXQiOjMwLCJwYWdlX3Rva2VuIjoiLi4uIn0"
}
}Availability: Available
This endpoint is active in the v1 gateway, OpenAPI, and subscription catalog. A successful call consumes 1 billing unit.
POST /v1/tiktok/shop/products/search
The request and response fields below match the current public contract.
MCP
| Item | Value |
|---|---|
| MCP Code | tiktok_shop_products_search |
Quick call
First create an API key, then store it in a server-side environment variable:
export ECOMMERCE_DATA_API_KEY="your_api_key"curl --request POST \
--url https://ecommercedataapi.com/v1/tiktok/shop/products/search \
--header "Content-Type: application/json" \
--header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
--data '{
"marketplace": "US",
"keyword": "yoga pants"
}'Integrate with an AI CLI
Copy for your AI CLI
Paste this task into Codex, Claude Code, Gemini CLI, or another coding agent.
Integrate the "TikTok Shop Product Search" endpoint from Ecommerce Data API into the current repository. Make the changes directly instead of only returning sample code.
API documentation: https://ecommercedataapi.com/en/docs/tiktok/shop/product-search
Endpoint: POST https://ecommercedataapi.com/v1/tiktok/shop/products/search
API key environment variable: ECOMMERCE_DATA_API_KEY
Example request:
{
"marketplace": "US",
"keyword": "yoga pants"
}
Requirements:
1. Read the API documentation first, then inspect the repository's language, framework, HTTP client, directory structure, and environment-variable conventions.
2. Reuse the existing API client and error-handling patterns. If none exist, add the smallest reusable Ecommerce Data API client and an endpoint-specific wrapper.
3. Read the key from the server-side ECOMMERCE_DATA_API_KEY environment variable and send Content-Type: application/json plus the X-API-Key header. Never write a real key into source code, browser code, logs, test snapshots, or Git.
4. If the environment variable is missing, tell me to configure ECOMMERCE_DATA_API_KEY myself. Do not request, print, or invent the real key, and continue implementing code and tests that do not require a live request.
5. Implement request and response types from the documentation. Handle non-2xx responses, request_id, error.code, error.message, and 429 rate limits.
6. Add a minimal usage example or test that follows the repository's conventions. Run one minimal live request only when the key is already configured and external requests are allowed; otherwise use mocks or static validation.
7. Run the relevant formatter, type checker, and tests. Report changed files, usage, verification results, and any environment variable I still need to configure.Open this request in Postman
Download the preconfigured collection for this endpoint, then import it into Postman.
Node.js example
const response = await fetch(
'https://ecommercedataapi.com/v1/tiktok/shop/products/search',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': process.env.ECOMMERCE_DATA_API_KEY,
},
body: JSON.stringify({
marketplace: 'US',
keyword: 'yoga pants',
}),
}
);
const result = await response.json();
if (!response.ok) {
throw new Error(`${result.error?.code}: ${result.error?.message}`);
}
console.log(result.data);Python example
import os
import requests
response = requests.post(
"https://ecommercedataapi.com/v1/tiktok/shop/products/search",
headers={
"Content-Type": "application/json",
"X-API-Key": os.environ["ECOMMERCE_DATA_API_KEY"],
},
json={
"marketplace": "US",
"keyword": "yoga pants",
},
timeout=30,
)
response.raise_for_status()
print(response.json()["data"])Request body
Send the fields below directly in the JSON body without an extra wrapper. Undefined fields are rejected.
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
marketplace | String | No | Marketplace. Supported: US, SG, MY. Available values (Table 1.2): US, JP, UK, DE, FR, IT, ES, CA, IN, MX, BR, AU, AE | US |
keyword | String | Yes | Search keyword. | yoga pants |
cursor | String | No | Opaque cursor from the previous response's next_cursor. Omit for the first page. | eyJvZmZzZXQiOjMwLCJwYWdlX3Rva2VuIjoiLi4uIn0 |
Response structure
| Field | Type | Description |
|---|---|---|
request_id | String | Unique identifier for this request. |
data | Object | Endpoint business data. |
The fields below are inside data. For array endpoints they describe one array item; for paginated endpoints they describe one record in items[].
Response fields
| Field | Type | Description | Example |
|---|---|---|---|
products.product_id | String | Product ID. | 1732307789426299610 |
products.title | String | Product title. | - |
products.price | Number | Current selling price of the lead SKU. | 22.25 |
products.original_price | Number | List price before discounts. | 22.25 |
products.currency | String | Currency code. | USD |
products.sold_count | Integer | Cumulative units sold as shown on the listing. | 11725 |
products.rating | Number | Average rating, 0–5. | 4.4 |
products.review_count | Integer | Number of reviews. | 744 |
products.seller_id | String | Seller ID; pass it to Seller Products. | 8647465511174509274 |
products.shop_name | String | Shop name. | Poping yoga |
products.image_url | String | Main image URL. | - |
products.product_url | String | Product page URL. | - |
has_more | Boolean | Whether another page is available. | true |
next_cursor | String | Pass as cursor to get the next page; null on the last page. | - |
Response example
{
"request_id": "8fb43e59-4ff9-4dc8-a4b7-2ed164e45ab8",
"data": {
"products": [
{
"product_id": "1732307789426299610",
"title": "【Black Friday】Women's Solid-Color Yoga Pants, Comfortable Casual Activewear for Daily Wear, Exercise, Gym Workouts, and Outdoor Activities",
"price": 22.25,
"original_price": 22.25,
"currency": "USD",
"sold_count": 11725,
"rating": 4.4,
"review_count": 744,
"seller_id": "8647465511174509274",
"shop_name": "Poping yoga",
"image_url": "https://p19-oec-general.ttcdn-us.com/tos-maliva-i-o3syd03w52-us/b50bedd5cf9c44aa994730320d391a17~tplv-fhlh96nyum-crop-webp:1350:1800.webp",
"product_url": "https://shop.tiktok.com/us/pdp/womens-solid-color-sporty-yoga-pants-comfortable-leggings/1732307789426299610"
},
{
"product_id": "1731795774080652206",
"title": "YEOREO Women's Ease Everyday Active Leggings - High Waist, No Front Seam, Buttery Fabric, V-Back Contour, Booty Lifting, Wide Straight Leg, 29\"/31.5\"/33\"/35\" Inseam for Gym Yoga",
"price": 32.99,
"original_price": 32.99,
"currency": "USD",
"sold_count": 242102,
"rating": 4.6,
"review_count": 19770,
"seller_id": "7495567402787376046",
"shop_name": "YEOREO",
"image_url": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/18828332a34240f28849fa3173a3649f~tplv-fhlh96nyum-crop-webp:1800:1800.webp",
"product_url": "https://shop.tiktok.com/us/pdp/womens-high-waisted-straight-leg-leggings-ultra-soft-breathable/1731795774080652206"
}
],
"has_more": true,
"next_cursor": "eyJvZmZzZXQiOjMwLCJwYWdlX3Rva2VuIjoiLi4uIn0"
}
}See Errors and rate limits for error payloads, request tracing, and rate-limit headers.