Skip to content
scrapeatlas.Dashboard

Get related products

Try in Playground

Read what a product page recommends: creator videos tagged with the product, more products from the same store and similar products from other stores.

GET/v1/tiktok/product/relatedx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
3
product_idstringquery

TikTok Shop product ID (15-22 digits); provide either product_id or url.

Example1729000000000000001
urlstringquery

Public product URL in any form the product endpoint accepts.

max 2048 chars

regionenumdefault: "US"query

Storefront region, US (default).

one of: US · default: "US"

Response fields
133
requestIdstring

Request correlation UUID.

Upstream calls made (storefront JSON API calls including re-requested refusals, and document reads when a fallback was needed; transient retries included), decoded bytes delivered to the parser and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsinteger

Always included.

≥ 0

successboolean

True when usable public data is returned; inspect status and coverage for omissions.

statusenum

success, partial, failed or challenged. HTTP 200 can be partial.

one of: success, partial

sourceUrlstring

Canonical public storefront URL the response describes.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Complete means every supported field was read; warnings name each cap or fallback.

coverage.sourceenum

Always included.

one of: public_page, public_api

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

product_idstring

TikTok Shop product ID (15-22 digits); provide either product_id or url.

seller_idstring

Seller (shop) ID of the product.

Always included.

up to 20 items

related_videos.item_idstring

Always included.

related_videos.heightinteger

Always included.

≥ 0

related_videos.widthinteger

Always included.

≥ 0

related_videos.durationinteger

Always included.

≥ 0

related_videos.author_idstring

Always included.

related_videos.play_countstring

Always included.

related_videos.like_countstring

Always included.

related_videos.upload_timestring

Always included.

related_videos.expiration_timestringoptional

Optional.

related_videos.titlestring

Always included.

related_videos.cover_image_urlstringnullable

Always included.

related_videos.content_urlstringnullable

Always included.

related_videos.author_namestring

Always included.

related_videos.author_avatar_urlstringnullable

Always included.

related_videos.bc_ad_label_textstringoptional

Optional.

Always included.

up to 10 items

more_from_shop.product_idstring

Always included.

more_from_shop.titlestring

Always included.

Always included.

more_from_shop.image.heightinteger

Always included.

≥ 0

more_from_shop.image.widthinteger

Always included.

≥ 0

more_from_shop.image.uristring

Always included.

more_from_shop.image.url_liststring[]

Always included.

Always included.

more_from_shop.product_price_info.sku_idstringoptional

Optional.

more_from_shop.product_price_info.symbol_positionintegeroptional

Optional.

more_from_shop.product_price_info.show_currency_spacebooleanoptional

Optional.

more_from_shop.product_price_info.currency_show_modeintegeroptional

Optional.

more_from_shop.product_price_info.currency_namestring

Always included.

more_from_shop.product_price_info.currency_symbolstring

Always included.

more_from_shop.product_price_info.sale_price_decimalstring

Always included.

more_from_shop.product_price_info.origin_price_decimalstringoptional

Optional.

more_from_shop.product_price_info.sale_price_formatstring

Always included.

more_from_shop.product_price_info.origin_price_formatstringoptional

Optional.

more_from_shop.product_price_info.discount_formatstringoptional

Optional.

more_from_shop.product_price_info.discount_decimalstringoptional

Optional.

more_from_shop.product_price_info.reduce_price_formatstringoptional

Optional.

more_from_shop.product_price_info.single_product_price_formatstringoptional

Optional.

more_from_shop.product_price_info.single_product_price_decimalstringoptional

Optional.

more_from_shop.product_price_info.sale_price_integer_part_formatstringoptional

Optional.

more_from_shop.product_price_info.sale_price_decimal_part_formatstringoptional

Optional.

more_from_shop.product_price_info.decimal_point_symbolstringoptional

Optional.

more_from_shop.product_price_info.promotion_deduction_detailsobjectoptional

Optional.

more_from_shop.product_price_info.raw_origin_price_decimalstringoptional

Optional.

more_from_shop.product_price_info.raw_origin_price_formatstringoptional

Optional.

Always included.

more_from_shop.rate_info.scorenumber

Always included.

more_from_shop.rate_info.review_countstring | integer

Always included.

Always included.

more_from_shop.sold_info.sold_countinteger

Always included.

≥ 0

Always included.

more_from_shop.seller_info.seller_idstring

Always included.

more_from_shop.seller_info.shop_namestringoptional

Optional.

Optional.

more_from_shop.seller_info.shop_logo.heightinteger

Always included.

≥ 0

more_from_shop.seller_info.shop_logo.widthinteger

Always included.

≥ 0

more_from_shop.seller_info.shop_logo.uristring

Always included.

more_from_shop.seller_info.shop_logo.url_liststring[]

Always included.

Always included.

more_from_shop.seo_url.updated_atstringnullable

Always included.

more_from_shop.seo_url.canonical_urlstring

Always included.

absolute HTTPS URL

more_from_shop.seo_url.slugstring

Always included.

more_from_shop.seo_url.typeinteger

Always included.

more_from_shop.seo_url.versioninteger

Always included.

Optional.

more_from_shop.brand_info.brand_namestring

Always included.

Always included.

up to 30 items

you_may_like.product_idstring

Always included.

you_may_like.titlestring

Always included.

Always included.

you_may_like.image.heightinteger

Always included.

≥ 0

you_may_like.image.widthinteger

Always included.

≥ 0

you_may_like.image.uristring

Always included.

you_may_like.image.url_liststring[]

Always included.

Always included.

you_may_like.product_price_info.sku_idstringoptional

Optional.

you_may_like.product_price_info.symbol_positionintegeroptional

Optional.

you_may_like.product_price_info.show_currency_spacebooleanoptional

Optional.

you_may_like.product_price_info.currency_show_modeintegeroptional

Optional.

you_may_like.product_price_info.currency_namestring

Always included.

you_may_like.product_price_info.currency_symbolstring

Always included.

you_may_like.product_price_info.sale_price_decimalstring

Always included.

you_may_like.product_price_info.origin_price_decimalstringoptional

Optional.

you_may_like.product_price_info.sale_price_formatstring

Always included.

you_may_like.product_price_info.origin_price_formatstringoptional

Optional.

you_may_like.product_price_info.discount_formatstringoptional

Optional.

you_may_like.product_price_info.discount_decimalstringoptional

Optional.

you_may_like.product_price_info.reduce_price_formatstringoptional

Optional.

you_may_like.product_price_info.single_product_price_formatstringoptional

Optional.

you_may_like.product_price_info.single_product_price_decimalstringoptional

Optional.

you_may_like.product_price_info.sale_price_integer_part_formatstringoptional

Optional.

you_may_like.product_price_info.sale_price_decimal_part_formatstringoptional

Optional.

you_may_like.product_price_info.decimal_point_symbolstringoptional

Optional.

you_may_like.product_price_info.promotion_deduction_detailsobjectoptional

Optional.

you_may_like.product_price_info.raw_origin_price_decimalstringoptional

Optional.

you_may_like.product_price_info.raw_origin_price_formatstringoptional

Optional.

Always included.

you_may_like.rate_info.scorenumber

Always included.

you_may_like.rate_info.review_countstring | integer

Always included.

Always included.

you_may_like.sold_info.sold_countinteger

Always included.

≥ 0

Always included.

you_may_like.seller_info.seller_idstring

Always included.

you_may_like.seller_info.shop_namestringoptional

Optional.

Optional.

you_may_like.seller_info.shop_logo.heightinteger

Always included.

≥ 0

you_may_like.seller_info.shop_logo.widthinteger

Always included.

≥ 0

you_may_like.seller_info.shop_logo.uristring

Always included.

you_may_like.seller_info.shop_logo.url_liststring[]

Always included.

Always included.

you_may_like.seo_url.updated_atstringnullable

Always included.

you_may_like.seo_url.canonical_urlstring

Always included.

absolute HTTPS URL

you_may_like.seo_url.slugstring

Always included.

you_may_like.seo_url.typeinteger

Always included.

you_may_like.seo_url.versioninteger

Always included.

Optional.

you_may_like.brand_info.brand_namestring

Always included.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
13
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, ambiguous or unsupported parameters, unsupported URL forms, regions, sorts or cursors.
401unauthorizedInvalid API key.
404not_foundUnknown or removed product, or a store the storefront does not serve.
429upstream_rate_limitedTikTok Shop rate limited the request.
502upstream_challengedTikTok Shop answered its Security Check page, an HTTP 401/403, or kept refusing the call after its re-requests (status challenged).
502unsafe_redirectTikTok Shop redirected outside the requested product or store (for example to a regional storefront or the login page).
502unsupported_pageLayout, identity or JSON-envelope checks failed, or an unexpected document type was served.
502response_too_largeThe upstream response exceeded 4 MiB.
502payload_too_complexThe upstream JSON exceeded parsing limits.
502request_limitThe upstream call budget was exhausted.
502upstream_errorNetwork failure, an unexpected upstream status after one retry, or an unexpected feed code.
503busyAll retrieval slots are occupied.
504timeoutThe 40-second deadline elapsed.