Endpoints
9 endpoints return products on Amazon, Facebook Marketplace and TikTok Shop.
- GETAmazon Deals API
/v1/amazon/deal_products - GETAmazon Product API
/v1/amazon/product - GETAmazon Product Search API
/v1/amazon/search_products - GETAmazon Best Sellers API
/v1/amazon/top_products - GETFacebook Marketplace Listing API
/v1/facebook/listing - GETFacebook Marketplace Search API
/v1/facebook/search_listings - GETTikTok Shop Product API
/v1/tiktokshop/product - GETTikTok Shop Store Products API
/v1/tiktokshop/products - GETTikTok Shop Search API
/v1/tiktokshop/search_products
Schema
Single-item endpoints return this object as data; list endpoints return an array of them as data with a page object. The standard meta comes with every response.
platformstringPlatform ID (tiktokshop, facebook, …).
idstringPlatform-native product or listing ID (string).
urlstring uriCanonical product page URL.
typestringproduct: a catalog product a shop sells in many units, often in variants (TikTok Shop, Instagram and YouTube shopping); listing: a single item a person or business lists for sale (Facebook Marketplace). New values may be added; treat unknown values as product.
One ofproductlisting
titlestringProduct name or listing title, as the seller wrote it.
descriptionstringnullableDescription as plain text (paragraphs separated by blank lines); null when it has none or the source does not show it (lists and search results).
categorystringnullableThe platform's most specific category label (Bicycles, Vitamins & Supplements), as shown; not normalized across platforms.
category_idstringnullableThe platform's ID of that category (what its category browsing and filters take).
sellerobjectnullableThe shop or account selling it; null only when the source does not show it.
ShowHide 6 child fields
idstringnullablePlatform-native account ID; null when only the handle is known.
usernamestringnullableHandle without the @; null when the account has none.
display_namestringnullableDisplay name shown on the profile.
urlstring urinullableCanonical profile URL.
avatar_urlstring urinullableProfile picture URL. Platform CDN URLs can expire within hours.
is_verifiedbooleannullablePlatform verification badge; null where the platform has no badge.
pricenumbernullableCurrent price in major units of currency (58.47), discounts applied; for a product whose variants cost different amounts, the lowest (the platform's "from" price). Coupons and shipping excluded. 0 = free; null when not shown.
max_pricenumbernullableHighest current variant price, in major units of currency; equal to price when every variant costs the same; null when unknown (a source that shows one price).
original_pricenumbernullablePrice before the discount (the struck-through list price), in major units of currency; null when the platform shows no earlier price (not discounted, or not shown).
currencystringnullableISO 4217 code of every amount of this product (USD); null when no amount is shown.
availabilitystringnullablein_stock: can be bought now; out_of_stock: sold out for now (a product can be restocked); pre_order: ships later; pending: a listing with a sale pending; sold: a listing marked sold. Null when the platform does not say. New values may be added; treat unknown values as null.
One ofin_stockout_of_stockpre_orderpendingsold
conditionstringnullableItem condition, coarse: new, used (any grade) or refurbished; null when the platform does not say. The platform's own grade is condition_label. New values may be added; treat unknown values as used.
One ofnewusedrefurbished
condition_labelstringnullableThe condition as the platform labels it (Used - Like New, Used - Good, Pre-owned).
thumbnail_urlstring urinullableMain product image URL. Platform CDN URLs can expire within hours.
mediaobject[]Product images in the platform's order (main image first), then any product video; [] when none.
ShowHide 8 child fields
typestringKind of file. New values may be added; treat unknown values as other.
One ofimagevideoaudiogif
urlstring urinullableDirect file URL; null when the platform withholds it, or when the link would only work from SocialTap's network or with a login. Often signed and expiring: see expires_at.
expires_atstring date-timenullableWhen url stops working, RFC 3339 UTC, read from the platform's signed URL; null when unknown or when it does not expire.
thumbnail_urlstring urinullablePoster or preview image URL.
widthintegernullableWidth in pixels.
heightintegernullableHeight in pixels.
duration_msintegernullableDuration in milliseconds (video and audio only).
alt_textstringnullableAccessibility text provided by the author or platform.
attributesobject[]The product's specifications as name/value pairs, in the platform's order; [] when none.
ShowHide 2 child fields
namestringSpecification name, as shown (Brand, Material, Condition).
valuestringIts value, as shown.
shippingobjectDelivery terms as shown to a buyer in the product's market; each null when not shown.
ShowHide 2 child fields
is_offeredbooleannullableThe seller ships it (false: local pickup only).
feenumbernullableStandard shipping fee in major units of the product's currency; 0 = free shipping.
country_codestringnullableISO 3166-1 alpha-2 market the product is offered in; prices, stock and shipping are that market's.
platform_specificobjectFields only this platform has, under its ID (platform_specific.<platform>): TikTok Shop's brand, rating, variants, stock and units sold; Marketplace's location and listing date. Each null when unknown.
ShowHide 3 child fields
amazonobjectnullableAn Amazon product's own fields.
ShowHide 14 child fields
brandstringnullableBrand name, as Amazon shows it; null when it shows none (most books: their authors are contributors).
contributorsobject[]The people the byline credits (a book's authors, narrators and translators), in Amazon's order; [] when the byline names none.
ShowHide 2 child fields
namestringThe contributor's name, as the byline shows it.
rolestringnullableTheir role, as Amazon words it (Author, Narrator, Translator); null when the byline gives none.
ratingnumbernullableAverage customer rating out of 5 (metrics.rating_count ratings behind it), as Amazon shows it, to one decimal; null when unrated.
metricsobjectCounts at fetch time; null = not shown, 0 = zero.
ShowHide 4 child fields
rating_countintegernullableCustomer ratings behind rating (with or without a written review), exact.
bought_past_month_countintegernullableUnits bought in the past month as Amazon's badge rounds them (10K+ is 10000): a lower bound; null when the page shows no badge.
offer_countintegernullableOffers from every seller, new and used, as the other sellers box counts them; null when the page shows no such box.
rating_distributionobjectnullableRatings per star, from the histogram's whole percentages times rating_count (so each can be off by half a percent of rating_count); null when unrated.
ShowHide 5 child fields
one_star_countintegernullableReviews rating 1 star.
two_star_countintegernullableReviews rating 2 stars.
three_star_countintegernullableReviews rating 3 stars.
four_star_countintegernullableReviews rating 4 stars.
five_star_countintegernullableReviews rating 5 stars.
featuresstring[]The "About this item" bullet points, in Amazon's order; [] when the page has none (books, most media).
is_sponsoredbooleannullableThe product is a paid placement among a search's results (Amazon labels it Sponsored); null outside search results.
categoriesobject[]The product's category path, from the department down to category (the last one); [] when the page shows none.
ShowHide 2 child fields
idstringnullableAmazon's browse node ID of the category (what its category pages take as node=); null when the link names none.
namestringCategory name, as shown.
best_sellers_ranksobject[]The product's sales rank in each category Amazon ranks it in (#49 in Electronics, #7 in Earbud & In-Ear Headphones), department first; [] when the page shows none.
ShowHide 3 child fields
rankintegerThe product's sales rank in the category (1 is the best seller).
categorystringCategory name, as shown.
category_idstringnullableAmazon's ID of the ranking: a browse node ID, or a department's slug (electronics) for a department's rank; null when the row links none.
rankintegernullablePosition in the requested Best Sellers or other ranked list (1 = top); null off a list.
parent_asinstringnullableASIN of the variation family this product belongs to (every color and size of it shares it); null for a product without variations.
variantsobject[]Every variation of the product (its colors, sizes, styles), each an ASIN with its options, in Amazon's order; prices and stock are this product's only, so they are null on variants. [] for a product without variations.
ShowHide 8 child fields
idstringPlatform-native variant (SKU) ID; review.variant_id names it.
titlestringnullableVariant name as shown, else its options joined (Color: Black, Size: M).
optionsobject[]The option values that make this variant (Color: Black); [] for a product's only variant.
ShowHide 2 child fields
namestringOption name, as shown (Color, Size).
valuestringThe variant's value of it (Black, M).
pricenumbernullableCurrent price of this variant, in major units of the product's currency.
original_pricenumbernullableThis variant's price before the discount; null when no earlier price is shown.
availabilitystringnullableWhether this variant can be bought now; null when not shown. New values may be added; treat unknown values as null.
One ofin_stockout_of_stockpre_order
stock_countintegernullableUnits in stock as the platform reports them (platforms may cap the number they show); null when hidden.
image_urlstring urinullableImage of this variant (its color swatch or photo). Platform CDN URLs can expire within hours.
availability_labelstringnullableThe buy box's stock line, as Amazon words it (Only 1 left in stock - order soon.); null when the page shows none.
ships_fromstringnullableWho ships the featured offer (Amazon, or the seller), as the buy box says; null when not shown.
dealobjectnullableThe deal Amazon's deals list shows the product with: its type, badge, end time, share claimed and coupon; null outside a deals list.
ShowHide 11 child fields
idstringnullableAmazon's ID of the deal; null for a product listed for its coupon alone.
typestringThe kind of deal, as Amazon names it, lowercased: lightning_deal (a limited number of units for a few hours), best_deal (a limited time deal), others as Amazon adds them; coupon when the product is listed for its coupon alone.
statusstringnullableThe deal's state, as Amazon names it, lowercased (available: it can be bought at the deal price now); null for a coupon alone.
badgestringnullableThe deal's badge, as shown (23% off, Up to 40% off); null when it shows none.
labelstringnullableThe deal's label, as shown (Limited time deal, Early Black Friday Deal, Limited Prime deal); null when the badge shows a countdown instead (see ends_at) or nothing.
ends_atstring date-timenullableWhen the deal ends, RFC 3339 UTC, from the badge's countdown; null when the badge shows none (most deals but lightning deals).
claimed_percentnumbernullableShare of the deal's units already claimed, in percent (0 to 100) as Amazon rounds it; null when Amazon shows none (most deals but lightning deals).
original_price_labelstringnullableWhat original_price is: list (the list price), typical (the typical price of the last 90 days), rrp (the recommended retail price) or was (the price before the deal); null when no earlier price is shown or Amazon labels it otherwise. New values may be added; treat unknown values as null.
One oflisttypicalrrpwas
department_idsstring[]The browse nodes Amazon's deals list files the deal under, in no particular order (one to several, from a department down to a sub-category): each is a category the Amazon Deals API takes. Empty when it names none.
coupon_pricenumbernullableThe price after the product's clippable coupon, in major units of the product's currency; null when it has no coupon or the coupon shows no price.
coupon_idstringnullableAmazon's ID of the coupon's promotion (its page is amazon.com/promo/<id>); null when the product has no coupon.
facebookobjectnullableA Facebook Marketplace listing's own fields.
ShowHide 13 child fields
locationstringnullableWhere the item is (a city or area, Austin, TX), as Marketplace shows it; null when not shown.
location_idstringnullableMarketplace's ID of the city the item is in: a Marketplace search takes it as its location; null when not shown.
published_atstring date-timenullableWhen it was listed, RFC 3339 UTC; null when not shown.
is_local_pickupbooleannullableThe buyer can pick it up from the seller in person.
latitudenumbernullableWGS 84 latitude of the listing's area in degrees (Facebook shows an area, not the seller's address: always listed in approximate_fields); set together with longitude.
longitudenumbernullableWGS 84 longitude of the listing's area in degrees (always listed in approximate_fields); set together with latitude.
delivery_typesstring[]How the item changes hands, as Marketplace lists it: in_person (local pickup), shipping, door_pickup, door_dropoff, public_meetup. [] when not shown (listed in unknown_fields). New values may be added.
is_buy_now_enabledbooleannullableThe item can be bought on Facebook with Marketplace checkout (Buy now); false: the buyer arranges payment with the seller.
seller_ratingnumbernullableThe seller's average Marketplace rating as a seller, 1 to 5 stars; null when the seller's ratings are private or there are none.
seller_rating_countintegernullableRatings behind seller_rating; null when the seller's ratings are private.
price_periodstringnullableThe period price pays for: month for a property rental's monthly rent (Marketplace shows $914 / Month); null for a sale price. New values may be added.
One ofmonth
postal_codestringnullablePostal code of the listing's area, as Marketplace shows it (homes and rentals); null when not shown.
seller_joined_atstring date-timenullableWhen the seller joined Facebook, RFC 3339 UTC; null when not shown.
tiktokshopobjectnullableA TikTok Shop product's own fields.
ShowHide 7 child fields
brandstringnullableBrand name, as TikTok Shop shows it; null when it shows none.
ratingnumbernullableAverage review score out of 5 (metrics.review_count reviews behind it); null when unrated.
variantsobject[]The purchasable variants (SKUs: a color, a size, a bundle), in TikTok Shop's order; [] for a product without variants (listed in unknown_fields when the source cannot see them).
ShowHide 8 child fields
idstringPlatform-native variant (SKU) ID; review.variant_id names it.
titlestringnullableVariant name as shown, else its options joined (Color: Black, Size: M).
optionsobject[]The option values that make this variant (Color: Black); [] for a product's only variant.
ShowHide 2 child fields
namestringOption name, as shown (Color, Size).
valuestringThe variant's value of it (Black, M).
pricenumbernullableCurrent price of this variant, in major units of the product's currency.
original_pricenumbernullableThis variant's price before the discount; null when no earlier price is shown.
availabilitystringnullableWhether this variant can be bought now; null when not shown. New values may be added; treat unknown values as null.
One ofin_stockout_of_stockpre_order
stock_countintegernullableUnits in stock as the platform reports them (platforms may cap the number they show); null when hidden.
image_urlstring urinullableImage of this variant (its color swatch or photo). Platform CDN URLs can expire within hours.
delivery_min_daysintegernullableFewest days TikTok Shop estimates delivery takes in the product's market.
delivery_max_daysintegernullableMost days TikTok Shop estimates delivery takes in the product's market.
metricsobjectCounts at fetch time; null = hidden or not exposed, 0 = zero.
ShowHide 4 child fields
sold_countintegernullableUnits sold across every market since the product was listed, as TikTok Shop counts them; null when not shown.
review_countintegernullableReviews behind rating.
stock_countintegernullableUnits in stock across every variant, as TikTok Shop reports them (it may cap the number it shows); null when hidden.
rating_distributionobjectnullableReviews per star rating; null when TikTok Shop does not show the breakdown.
ShowHide 5 child fields
one_star_countintegernullableReviews rating 1 star.
two_star_countintegernullableReviews rating 2 stars.
three_star_countintegernullableReviews rating 3 stars.
four_star_countintegernullableReviews rating 4 stars.
five_star_countintegernullableReviews rating 5 stars.
shopobjectnullableThe selling shop's rating and counts (seller names the shop); null when the page shows none.
ShowHide 2 child fields
ratingnumbernullableThe shop's average review score out of 5, shown to one decimal; null when the shop is unrated.
metricsobjectThe shop's counts at fetch time; null = not shown, 0 = zero.
ShowHide 4 child fields
follower_countintegernullableAccounts following the shop.
sold_countintegernullableUnits the shop has sold across all its products and markets, as TikTok Shop counts them.
product_countintegernullableProducts the shop has on sale.
review_countintegernullableReviews of the shop's products, behind its rating.
approximate_fieldsstring[]JSON paths of values rounded by the platform or parsed from display text ("10K+ sold"), and of Facebook's coarse listing coordinates. [] when all exact.
unknown_fieldsstring[]JSON paths of lists whose [] means unknown rather than none (a list or search result that does not show attributes or variants); null already means unknown for every other field. [] when every list is known.
Item errors
Besides the request-level errors every endpoint can return, product endpoints return:
| Code | HTTP | Retry | Meaning | What to do |
|---|---|---|---|---|
not_found | 404 | No | The item does not exist or was deleted. On GET /v1/requests/{id}/response: the response was not kept (details.reason says why). | Check the link or ID. Do not retry. |
private_or_unavailable | 403 | No | The item exists but is not public: it is private, age- or region-restricted, or needs a login to view. It shares 403 with forbidden (which is about the key), so branch on the code. | Only public items can be fetched. Do not retry. |