fetchproof.

/v1/tiktok/shop/products

GET

Shop Products

Get products from a TikTok Shop for 1 credit per request. Paginate with cursor. Non-US catalog availability depends on the selected region.

Credit cost

Default: 1 credit

How charges are determined

Cost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns.

A call that fails costs 0 credits. A result served from cache costs 0 credits.

`default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins.

A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true).

A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute.

Cache supportNot specified in the published contract.
PaginationNo explicit pagination metadata in the published contract. Consult the parameters and response fields below.

Parameters

NameLocation / requiredSchema
url

The TikTok Shop store URL.

query / required

string

sort_by

Sort by best-selling products (top) or newest products (new_releases). Defaults to top.

query / optional

string

Allowed values ["top","new_releases"]

region

Shop region; defaults to US. Non-US regions are unreliable and may return not_found or limited catalogs even when the shop appears in search.

query / optional

string

Allowed values ["US","GB","DE","FR","IT","ID","MY","MX","PH","SG","ES","TH","VN","BR","JP","IE"]

cursor

Use cursor from the previous response for the next page. Omit for the first page.

query / optional

string

Request examples

Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.

cURL
curl --request GET 'https://api.fetchproof.com/v1/tiktok/shop/products?url=YOUR_URL' \
  --header 'x-api-key: YOUR_API_KEY'
JavaScript
const response = await fetch("https://api.fetchproof.com/v1/tiktok/shop/products?url=YOUR_URL", {
  method: 'GET',
  headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());
Python
import os
import requests

response = requests.get("https://api.fetchproof.com/v1/tiktok/shop/products?url=YOUR_URL",
    headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)

Responses

200Success. Envelope: success / credits_remaining / credits_charged.

application/json

object

successrequired

boolean

credits_remainingrequired

integer

credits_chargedrequired

integer

shopInforequired

object

seller_idrequired

string

sold_countrequired

integer

on_sell_product_countrequired

integer

review_countrequired

integer

global_seller_idrequired

string

global_sold_countrequired

string

followers_countrequired

string

video_countrequired

string

enable_followrequired

boolean

shop_namerequired

string

shop_logorequired

object

heightrequired

integer

widthrequired

integer

urirequired

string

url_listrequired

array

Array items

string

shop_ratingrequired

string

shop_linkrequired

string

format_sold_countrequired

string

regionrequired

string

display_on_sell_product_countrequired

string

format_global_sold_countrequired

string

shop_sloganrequired

string

format_followers_countrequired

string

format_video_countrequired

string

store_sub_scorerequired

array

Array items

object

scorerequired

number

typerequired

integer

score_percentagerequired

string

high_light_tagoptional

integer

platform_rate_typerequired

integer

worst_ratingrequired

string

best_ratingrequired

string

creator_namerequired

string

descrequired

string

productsrequired

array

Array items

object

product_idrequired

string

titlerequired

string

imagerequired

object

heightrequired

integer

widthrequired

integer

urirequired

string

url_listrequired

array

Array items

string

product_price_inforequired

object

sku_idrequired

string

symbol_positionrequired

integer

show_currency_spacerequired

boolean

currency_show_moderequired

integer

currency_namerequired

string

currency_symbolrequired

string

sale_price_decimalrequired

string

origin_price_decimalrequired

string

sale_price_formatrequired

string

origin_price_formatrequired

string

discount_formatrequired

string

discount_decimalrequired

string

reduce_price_formatrequired

string

single_product_price_formatrequired

string

single_product_price_decimalrequired

string

sale_price_integer_part_formatrequired

string

sale_price_decimal_part_formatrequired

string

decimal_point_symbolrequired

string

promotion_deduction_detailsrequired

object

seller_subtotal_deductionrequired

string

seller_subtotal_deduction_decimalrequired

string

rate_inforequired

object

scorerequired

number

review_countrequired

string

sold_inforequired

object

sold_countrequired

integer

seller_inforequired

object

seller_idrequired

string

shop_namerequired

string

shop_logorequired

object

heightrequired

integer

widthrequired

integer

urirequired

string

url_listrequired

array

Array items

string

seo_urlrequired

object

updated_atrequired

string

canonical_urlrequired

string

slugrequired

string

typerequired

integer

versionrequired

integer

has_morerequired

boolean

cursorrequired

string

401Invalid or missing x-api-key
402No credits remaining
403Upstream denied (age gate, audience controls)
404Resource or endpoint not found
429Rate limited