Retrieve a public TikTok Shop product from a PDP URL, returning identity, seller, price, visible ratings and sales, media, categories, and SKUs in one normalized record.
Try TikTok Shop Product API · Get an API key · Documentation · All SocQ examples
- Search or catalog result enrichment: Use a known PDP URL to add seller, price, rating, media, category, and SKU fields to a selected search or shop-catalog product.
- Product signal snapshot comparison: Compare collected sale price, original price, discount, rating, review count, and sold count across point-in-time product records.
- Category and variant review: Inspect exposed category, image, and SKU structures to review how a public product is organized and presented.
- Prepare review collection: Validate a selected public product URL and product identity before starting a focused Product Reviews workflow.
- Submit one public TikTok Shop PDP URL using
/shop/pdp/{numeric_id}or/shop/pdp/{slug}/{numeric_id}. - One task accepts one URL, does not accept
results_limit, and can produce at most one normalized product record. - The selected
regioncontrols market availability; a valid but unavailable product can complete without a result record. - Seller, price, discount, rating, sales, media, category, and SKU fields are optional public snapshot values.
All requests use the shared asynchronous flow:
submit -> task_id -> poll task -> read every cursor page -> save results
cp .env.example .env
export SOCQ_API_KEY="your-api-key"Run the complete Node.js workflow:
cd node
npm startRun the complete Python workflow:
python3 -m pip install -r python/requirements.txt
python3 python/main.pyBoth examples load payload.example.json, retry transient API responses, wait
for task completion, read every cursor page, and save an enriched public product record with seller, price, media, category, SKU, and visible commerce signals to
output/results.json.
Never expose SOCQ_API_KEY in browser code, mobile apps, public repositories,
screenshots, fixtures, or logs.
POST https://api.socq.ai/v1/tiktok-shop/product
Authorization: Bearer <SOCQ_API_KEY>
Content-Type: application/json{
"url": "https://www.tiktok.com/shop/pdp/example-product/1700000000000000000",
"region": "US"
}The submit response contains data.task_id. Poll the task endpoint until
data.status becomes succeeded or failed, then continue with
data.results.next_cursor while data.results.has_more is true.
The Node.js and Python programs implement the production-shaped happy path:
- Load and validate configuration.
- Submit the endpoint-specific payload.
- Retry rate-pressure and transient server responses with bounded backoff.
- Poll the asynchronous task with a ten-minute application timeout.
- Stop cleanly on a failed task and surface the public error message.
- Read all cursor pages instead of silently returning only the first page.
- Write a stable JSON artifact containing task metadata and normalized records.
Use the synthetic files in fixtures/ for tests and documentation. They do
not contain customer, account, or production data.
See docs/production-notes.md for validation,
retry, timeout, pagination, deduplication, logging, and endpoint-specific
guidance.
- Use only publicly accessible TikTok Shop products, stores, reviews, showcases, and fields supported by the selected endpoint.
- Do not use the examples to access restricted content, login-only surfaces, authentication controls, private orders, or non-public customer information.
- SocQ is not an official API of the represented social platform and is not affiliated with or endorsed by that platform.
- Before production use, assess the laws, platform terms, privacy obligations, and retention requirements that apply to your organization and use case.
- Collect only the fields needed for a defined purpose, restrict access, set retention periods, and support correction or deletion workflows where required.
- Platform names and trademarks belong to their respective owners.
This section describes the public-data boundary; it is not legal advice or a guarantee that every use case is permitted in every jurisdiction.
| Path | Purpose |
|---|---|
curl/request.md |
Copy-paste submit, poll, and pagination requests |
node/index.mjs |
Complete Node.js workflow |
python/main.py |
Complete Python workflow |
payload.example.json |
Safe endpoint-specific request body |
fixtures/ |
Synthetic submit and task response shapes |
docs/production-notes.md |
Production integration guidance |