Product data API
A product data API returns the full attribute set of a marketplace listing — title, price, currency, availability, seller, rating, review count, variants, images, category, shipping and identifiers — as a single structured JSON object. ShopAPIS is a product data API that returns 40+ normalized fields per product across 70+ marketplaces in 30+ countries, so the same query shape works whether you ask about Amazon, eBay or Alibaba.
One product, one record, every field. Instead of stitching together a price scraper, a review scraper and a variant scraper, you get the whole product object in a single response — typed, normalized and ready to store.
The full field schema
A product data API is only as useful as its schema, so ShopAPIS normalizes every marketplace to the same 40+ fields. The core groups:
| Group | Fields |
|---|---|
| Core | title, brand, description, category (path), url |
| Pricing | price.current, price.list, price.currency, price.discount_pct, Buy-Box price |
| Availability | availability.in_stock, availability.stock, ships_from |
| Social proof | rating, review_count, review/Q&A text where exposed |
| Variants | per-variant sku, title, price, in_stock |
| Seller | seller.name, seller.id, seller.fulfillment, seller.rating |
| Media | images[] (up to dozens), video URLs where present |
| Shipping | shipping.cost, shipping.currency, shipping.estimated_days |
| Identifiers | asin, sku, gtin, ean, upc, mpn |
| Meta | marketplace, country, fetched_at |
Identifiers follow the GS1 GTIN standard , so a barcode (GTIN/EAN/UPC) is the universal key to match the same product across stores.
Sample response
{
"marketplace": "walmart",
"country": "US",
"identifiers": { "sku": "967150826", "gtin": "0850047009197", "upc": "850047009197" },
"title": "Ninja AF101 Air Fryer, 4 Qt, Black/Grey",
"brand": "Ninja",
"description": "4-quart ceramic-coated basket air fryer with 4 cooking programs.",
"category": ["Home", "Kitchen", "Air Fryers"],
"price": { "current": 79.00, "list": 129.99, "currency": "USD", "discount_pct": 39 },
"availability": { "in_stock": true, "stock": 214, "ships_from": "Walmart.com" },
"seller": { "name": "Walmart.com", "id": "F55... ", "fulfillment": "WFS", "rating": 4.6 },
"rating": 4.7,
"review_count": 28411,
"variants": [
{ "sku": "967150826", "title": "4 Qt — Black/Grey", "price": 79.00, "in_stock": true },
{ "sku": "967150827", "title": "5.5 Qt — Black", "price": 99.00, "in_stock": false }
],
"images": [
"https://i5.walmartimages.com/asr/abc-front.jpeg",
"https://i5.walmartimages.com/asr/abc-angle.jpeg"
],
"shipping": { "cost": 0.00, "currency": "USD", "estimated_days": 3 },
"url": "https://www.walmart.com/ip/967150826",
"fetched_at": "2026-06-05T11:58:44Z"
}What the fields power
Each field maps to a job a data team actually does. Price and availability feed price monitoring; rating, review count and seller feed competitive analysis; identifiers and variants feed catalog enrichment, where you resolve your own SKUs and GTINs to live marketplace listings and backfill the missing attributes. Because every marketplace returns the same schema, you join across sites without a per-source mapping layer.