SocialCrawl

Product schema

The unified SocialCrawl product schema. Every field, its type, per-platform availability, and a machine-readable JSON Schema, generated from the canonical Zod source.

Product schema

Every SocialCrawl endpoint that returns a product gives you this exact shape, whatever the source platform. Write your parser once and the same code reads product data from every platform below. That is the unified schema: one contract instead of a dozen raw upstream formats.

Field reference

FieldTypeNullableDescription
idstringNoPlatform product ID (Amazon ASIN / Google Shopping product id)
urlstringYesDirect URL to the product page
titlestringYesProduct title
descriptionstringYes
sellerstringYes
brandstringYesBrand name (cleaned). Null when the platform exposes a seller instead.
price.currentintegerYes
price.originalintegerYes
price.currencystringYes
rating.averageintegerYes
rating.countintegerYes
image_urlsstring or string[]YesPrimary image URL, or an array of image URLs for products with a gallery.
availabilitystringYesStock/availability string when surfaced
reviews_countintegerYes
featuresstring[]Yes
specificationsobject[]Yes
variationsobject[]Yes

Extension fields (ext)

Platform-specific passthrough. Each field is present only on the platforms that expose it and is absent everywhere else, so treat every ext.* field as optional. These carry the richer, per-platform signals the unified leaves cannot hold, and the join keys that chain endpoints together.

FieldTypeNullableDescription
ext.gidstringYes
ext.data_docidstringYes
ext.pvfstringYes
ext.seller_idstringYes
ext.sold_countintegerYes
ext.catalog_idstringYes
ext.requested_idstringYes
ext.rating_distribution.star_1integerYes
ext.rating_distribution.star_2integerYes
ext.rating_distribution.star_3integerYes
ext.rating_distribution.star_4integerYes
ext.rating_distribution.star_5integerYes
ext.store_inventoryobject[]Yes
ext.conditionstringYes
ext.available_quantityintegerYes
ext.watchersintegerYes
ext.sold_atstringYes
ext.sold_captionstringYes
ext.buying_formatstringYes
ext.seller_reputation.feedback_percentageintegerYes
ext.seller_reputation.feedback_countintegerYes
ext.seller_reputation.top_ratedbooleanYes
ext.seller_reputation.items_soldintegerYes
ext.seller_reputation.joinedstringYes
ext.seller_reputation.urlstringYes
ext.seller_reputation.detailed_ratings.accurate_descriptionintegerYes
ext.seller_reputation.detailed_ratings.reasonable_shipping_costintegerYes
ext.seller_reputation.detailed_ratings.shipping_speedintegerYes
ext.seller_reputation.detailed_ratings.communicationintegerYes

Platform availability

7 platforms return the Product shape. id are never null on any platform. The fields below vary: yes means the platform populates it (the value may still be null); a blank means the platform never provides it, so it is always null.

Platformimage_urlssellerreviews_countavailabilityfeaturesprice.currencyspecificationsvariations
Amazonyesyes
eBayyesyesyes
Google Shoppingyesyesyes
Home Depotyesyesyesyes
Targetyes
TikTok Shopyesyesyesyes
Walmartyesyesyesyesyesyes

Machine-readable schema

Validate responses programmatically against the JSON Schema (2020-12):

/schemas/product.json

Point a validator (Ajv, jsonschema, or your framework's) at that URL, or hand it to an agent so it can check the shape without a live call.

Returned by

Endpoints with the Product / ProductList archetype return this shape:

Amazon · eBay · Google Shopping · Home Depot · Target · TikTok Shop · Walmart

See how the same fields map to each platform's raw upstream names in the cross-platform field equivalence table.