fetchproof.

/v1/tiktok/shop/search

GET

Shop Search

Search TikTok Shop products by keyword.

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
query

Term you want to search for

query / required

string

region

Search region. Non-US regions are unreliable and may return limited or inconsistent results.

query / optional

string

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

page

Page number to retrieve

query / optional

number

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/search?query=YOUR_QUERY' \
  --header 'x-api-key: YOUR_API_KEY'
JavaScript
const response = await fetch("https://api.fetchproof.com/v1/tiktok/shop/search?query=YOUR_QUERY", {
  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/search?query=YOUR_QUERY",
    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

queryrequired

string

total_productsrequired

integer

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_idoptional

string

symbol_positionrequired

integer

show_currency_spacerequired

boolean

currency_show_moderequired

integer

currency_namerequired

string

currency_symbolrequired

string

sale_price_decimalrequired

string

sale_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_deductionoptional

string

seller_subtotal_deduction_decimaloptional

string

origin_price_decimaloptional

string

origin_price_formatoptional

string

discount_formatoptional

string

discount_decimaloptional

string

reduce_price_formatoptional

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

product_descriptionoptional

null

ship_fromoptional

null

trust_labeloptional

string

product_labeloptional

string

product_label_infooptional

array

Array items

object

textrequired

string

label_typerequired

integer

search_metaoptional

object

search_result_idrequired

string

search_idrequired

string

entrance_formrequired

string

videooptional

object

url_listrequired

array

Array items

string

img_urlsrequired

null

aweme_idrequired

string

descrequired

string

create_timerequired

integer

share_urlrequired

string

duration_msrequired

integer

authorrequired

object

uidrequired

string

nicknamerequired

string

unique_idrequired

string

sec_uidrequired

string

follower_countrequired

integer

musicrequired

object

idrequired

integer

id_strrequired

string

titlerequired

string

authorrequired

string

statisticsrequired

object

comment_countrequired

integer

digg_countrequired

integer

play_countrequired

integer

share_countrequired

integer

collect_countrequired

integer

cha_listrequired

array

Array items

object

cidrequired

string

cha_namerequired

string

descrequired

string

category_breadcrumboptional

null

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