Dataspryva

Amazon Search, Category & Seller Listings Extractor

Get Amazon products from search results, categories, seller storefronts, or ASIN lookups across 20+ marketplaces, with price, rating, badges, deals, and delivery details.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
categoryUrlsarrayoptionalAmazon search, category, seller-profile, or exact product URLs. Search pages (/s?k=), browse nodes (/b?node=), seller profiles (/sp?seller=), and product pages (/dp/) are routed automatically. Combine with any other mode.
keywordsarrayoptionalPlain search keywords or phrases. Each keyword builds an Amazon search URL (/s?k={query}).
productUrlsarrayoptionalExact Amazon product URLs. Each URL is normalized to /dp/{ASIN} on its own marketplace and fetched directly (never as a search).
Show all input fields
FieldTypeRequiredDescription
categoryUrlsarrayoptionalAmazon search, category, seller-profile, or exact product URLs. Search pages (/s?k=), browse nodes (/b?node=), seller profiles (/sp?seller=), and product pages (/dp/) are routed automatically. Combine with any other mode.
keywordsarrayoptionalPlain search keywords or phrases. Each keyword builds an Amazon search URL (/s?k={query}).
productUrlsarrayoptionalExact Amazon product URLs. Each URL is normalized to /dp/{ASIN} on its own marketplace and fetched directly (never as a search).
asinsarrayoptionalAmazon ASINs to fetch exactly. Each ASIN opens its own product page (/dp/{ASIN}) directly, never a keyword search.
sellerIdsarrayoptionalAmazon seller/merchant IDs. Each ID builds that seller's storefront listing (/s?me={sellerId}).
categoryNodeIdsarrayoptionalAmazon browse-node IDs. Each node builds a real category listing (/s?rh=n:{node}&fs=true), with a merchandising fallback only when Amazon renders no listing grid.
marketplaceDomainstringoptionalAmazon marketplace used for keyword, ASIN, seller, and node modes. URLs in categoryUrls/productUrls keep their own marketplace.
maxItemsintegeroptionalGlobal cap across every source in the run. 0 means no global cap.
maxItemsPerCategoryintegeroptionalMaximum products to return from each keyword, URL, seller, or node source.
maxPagesintegeroptionalMaximum listing pages per source. Amazon keyword search itself stops at page 7; category listings go deeper.
scrapeProductDetailsbooleanoptionalIf true, visit each accepted product's own page for specs, gallery images, seller, BSR, variants, and histogram. ASIN/product-URL modes always use detail pages. If false, only listing-card fields are returned.
includeSpecificationsbooleanoptionalIf true (and detail pages are scraped), return the specifications object parsed from the overview and technical-detail tables.
sortBystringoptionalSort order applied to search and category listings.
priceMinnumberoptionalOnly return products priced at or above this amount (marketplace currency).
priceMaxnumberoptionalOnly return products priced at or below this amount (marketplace currency).
minRatingnumberoptionalOnly return products with a star rating at or above this value (0-5).
includeSponsoredbooleanoptionalIf true (default), sponsored/ad placements are included. Set false to return organic results only.
onlyDealsbooleanoptionalIf true, only return products with visible deal evidence (coupon, limited-time-deal badge, or genuine strike-through list price).
primeOnlybooleanoptionalIf true, only return products with a visible Amazon Prime badge. Badges are render-dependent in some marketplaces.
rateLimitDelayintegeroptionalBase pacing delay between live requests. Product-detail requests always add human-like jitter.

Download the published input schema

View complete JSON
{
  "properties": {
    "asins": {
      "description": "Amazon ASINs to fetch exactly. Each ASIN opens its own product page (/dp/{ASIN}) directly, never a keyword search.",
      "editor": "stringList",
      "example": [
        "B08N5WRWNW",
        "B09X7MPX8L"
      ],
      "items": {
        "type": "string"
      },
      "title": "ASINs",
      "type": "array"
    },
    "categoryNodeIds": {
      "description": "Amazon browse-node IDs. Each node builds a real category listing (/s?rh=n:{node}&fs=true), with a merchandising fallback only when Amazon renders no listing grid.",
      "editor": "stringList",
      "example": [
        "172282"
      ],
      "items": {
        "type": "string"
      },
      "title": "Category Node IDs",
      "type": "array"
    },
    "categoryUrls": {
      "description": "Amazon search, category, seller-profile, or exact product URLs. Search pages (/s?k=), browse nodes (/b?node=), seller profiles (/sp?seller=), and product pages (/dp/) are routed automatically. Combine with any other mode.",
      "editor": "stringList",
      "example": [
        "https://www.amazon.com/s?k=laptops",
        "https://www.amazon.com/dp/B08N5WRWNW"
      ],
      "items": {
        "type": "string"
      },
      "title": "Search, Category & Product URLs",
      "type": "array"
    },
    "includeSpecifications": {
      "default": true,
      "description": "If true (and detail pages are scraped), return the specifications object parsed from the overview and technical-detail tables.",
      "prefill": false,
      "title": "Include Specifications",
      "type": "boolean"
    },
    "includeSponsored": {
      "default": true,
      "description": "If true (default), sponsored/ad placements are included. Set false to return organic results only.",
      "title": "Include Sponsored Results",
      "type": "boolean"
    },
    "keywords": {
      "description": "Plain search keywords or phrases. Each keyword builds an Amazon search URL (/s?k={query}).",
      "editor": "stringList",
      "example": [
        "wireless earbuds",
        "bluetooth speaker"
      ],
      "items": {
        "type": "string"
      },
      "prefill": [
        "wireless earbuds"
      ],
      "title": "Search Keywords",
      "type": "array"
    },
    "marketplaceDomain": {
      "default": "amazon.com",
      "description": "Amazon marketplace used for keyword, ASIN, seller, and node modes. URLs in categoryUrls/productUrls keep their own marketplace.",
      "editor": "select",
      "enum": [
        "amazon.com",
        "amazon.co.uk",
        "amazon.de",
        "amazon.fr",
        "amazon.it",
        "amazon.es",
        "amazon.ca",
        "amazon.com.au",
        "amazon.co.jp",
        "amazon.in",
        "amazon.com.br",
        "amazon.com.mx",
        "amazon.nl",
        "amazon.se",
        "amazon.pl",
        "amazon.com.tr",
        "amazon.ae",
        "amazon.sa",
        "amazon.sg",
        "amazon.com.be",
        "amazon.eg"
      ],
      "enumTitles": [
        "United States (amazon.com)",
        "United Kingdom (amazon.co.uk)",
        "Germany (amazon.de)",
        "France (amazon.fr)",
        "Italy (amazon.it)",
        "Spain (amazon.es)",
        "Canada (amazon.ca)",
        "Australia (amazon.com.au)",
        "Japan (amazon.co.jp)",
        "India (amazon.in)",
        "Brazil (amazon.com.br)",
        "Mexico (amazon.com.mx)",
        "Netherlands (amazon.nl)",
        "Sweden (amazon.se)",
        "Poland (amazon.pl)",
        "Turkey (amazon.com.tr)",
        "United Arab Emirates (amazon.ae)",
        "Saudi Arabia (amazon.sa)",
        "Singapore (amazon.sg)",
        "Belgium (amazon.com.be)",
        "Egypt (amazon.eg)"
      ],
      "prefill": "amazon.com",
      "title": "Marketplace",
      "type": "string"
    },
    "maxItems": {
      "default": 0,
      "description": "Global cap across every source in the run. 0 means no global cap.",
      "editor": "number",
      "maximum": 100000,
      "minimum": 0,
      "prefill": 3,
      "title": "Maximum Items (all sources)",
      "type": "integer"
    },
    "maxItemsPerCategory": {
      "default": 10,
      "description": "Maximum products to return from each keyword, URL, seller, or node source.",
      "editor": "number",
      "maximum": 10000,
      "minimum": 1,
      "prefill": 3,
      "title": "Maximum Items Per Source",
      "type": "integer"
    },
    "maxPages": {
      "default": 1,
      "description": "Maximum listing pages per source. Amazon keyword search itself stops at page 7; category listings go deeper.",
      "editor": "number",
      "maximum": 50,
      "minimum": 1,
      "title": "Maximum Pages",
      "type": "integer"
    },
    "minRating": {
      "description": "Only return products with a star rating at or above this value (0-5).",
      "editor": "number",
      "maximum": 5,
      "minimum": 0,
      "title": "Minimum Rating",
      "type": "number"
    },
    "onlyDeals": {
      "default": false,
      "description": "If true, only return products with visible deal evidence (coupon, limited-time-deal badge, or genuine strike-through list price).",
      "title": "Only Deals",
      "type": "boolean"
    },
    "priceMax": {
      "description": "Only return products priced at or below this amount (marketplace currency).",
      "editor": "number",
      "minimum": 0,
      "title": "Maximum Price",
      "type": "number"
    },
    "priceMin": {
      "description": "Only return products priced at or above this amount (marketplace currency).",
      "editor": "number",
      "minimum": 0,
      "title": "Minimum Price",
      "type": "number"
    },
    "primeOnly": {
      "default": false,
      "description": "If true, only return products with a visible Amazon Prime badge. Badges are render-dependent in some marketplaces.",
      "title": "Prime Only",
      "type": "boolean"
    },
    "productUrls": {
      "description": "Exact Amazon product URLs. Each URL is normalized to /dp/{ASIN} on its own marketplace and fetched directly (never as a search).",
      "editor": "stringList",
      "example": [
        "https://www.amazon.com/dp/B08N5WRWNW"
      ],
      "items": {
        "type": "string"
      },
      "title": "Product URLs",
      "type": "array"
    },
    "rateLimitDelay": {
      "default": 2,
      "description": "Base pacing delay between live requests. Product-detail requests always add human-like jitter.",
      "editor": "number",
      "maximum": 30,
      "minimum": 1,
      "title": "Base Request Delay (seconds)",
      "type": "integer"
    },
    "scrapeProductDetails": {
      "default": true,
      "description": "If true, visit each accepted product's own page for specs, gallery images, seller, BSR, variants, and histogram. ASIN/product-URL modes always use detail pages. If false, only listing-card fields are returned.",
      "prefill": false,
      "title": "Scrape Product Details",
      "type": "boolean"
    },
    "sellerIds": {
      "description": "Amazon seller/merchant IDs. Each ID builds that seller's storefront listing (/s?me={sellerId}).",
      "editor": "stringList",
      "example": [
        "A1B2C3D4E5F6G7"
      ],
      "items": {
        "type": "string"
      },
      "title": "Seller IDs",
      "type": "array"
    },
    "sortBy": {
      "default": "relevanceblender",
      "description": "Sort order applied to search and category listings.",
      "editor": "select",
      "enum": [
        "relevanceblender",
        "price-asc-rank",
        "price-desc-rank",
        "review-rank",
        "date-desc-rank",
        "exact-aware-popularity-rank"
      ],
      "enumTitles": [
        "Featured/Relevance",
        "Price: Low to High",
        "Price: High to Low",
        "Avg. Customer Review",
        "Newest Arrivals",
        "Best Sellers"
      ],
      "title": "Sort By",
      "type": "string"
    }
  },
  "required": [],
  "schemaVersion": 1,
  "title": "Amazon Listings Extractor Input",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
titlestringoptionalProduct title
urlstringrequiredDirect Amazon URL for the product page
marketplacestringoptionalBare Amazon marketplace domain this record came from (e.g. amazon.com)
sourceModestringoptionalInput mode that produced this record: keywords, categoryUrls, categoryNodeIds, sellerIds, asins, or productUrls
searchQuerystringoptionalKeyword, node ID, or seller ID that produced this listing record
asinstringrequiredAmazon Standard Identification Number
brandstringoptionalProduct brand name
imagesstringoptionalAll deduplicated image URLs for the product (JSON array)
imageLargestringoptionalLargest product image URL available (upscaled Amazon media URL)
pricestringoptionalCurrent price (JSON object with value, currency, display)
listPricestringoptionalGenuine list/strike-through price only; never Amazon's "Typical price" reference
typicalPricestringoptionalAmazon's separate "Typical price" reference price (never used as listPrice)
discountPercentstringoptionalDiscount percentage, calculated only from a genuine current price and strike-through list price
currencystringoptionalISO currency code resolved from the product price, when available
starsstringoptionalAverage star rating from 1 to 5
starsBreakdownstringoptionalRating breakdown by star count as a share per star, 0.0-1.0 (JSON object), from the product detail page when rendered
reviewsCountstringoptionalTotal number of customer reviews
answeredQuestionsstringoptionalAnswered-question count, only when the detail page renders it
inStockstringoptionalWhether the product is currently in stock
inStockTextstringoptionalDetailed stock availability text
thumbnailImagestringoptionalMain product image URL
featuresstringoptionalList of product features and bullet points (JSON array)
descriptionstringoptionalFull product description
breadCrumbsstringoptionalProduct category breadcrumb path
bestsellerRanksstringoptionalBestseller rankings in different categories (JSON array)
specificationsstringoptionalDeduplicated product specifications (JSON object), from the overview and technical-detail tables
sellerstringoptionalSeller identity {name, id, url}; omitted when no real seller ID can be resolved
deliverystringoptionalDelivery information and estimated date
fastestDeliverystringoptionalFastest delivery estimate, only when the detail page renders it
returnPolicystringoptionalReturn policy text, from the product detail page
supportstringoptionalSupport/warranty information, only when the detail page renders it
priceVariantsstringoptionalPer-variant price map, only when the detail page exposes one
locationTextstringoptionalDelivery destination the product detail page rendered for
shippingPricestringoptionalShipping cost when explicitly shown (0 means free shipping)
variantAsinsstringoptionalList of variant product ASINs (JSON array)
variantAttributesstringoptionalVisible variant dimensions (JSON array of {name, values}), when a twister widget exists
reviewsLinkstringoptionalAbsolute link to the full reviews page, when available
categoryUrlstringoptionalSource category/search URL
categoryPagestringoptionalPage number in search results
categoryPositionstringoptionalPosition in search results
organicPositionstringoptionalPosition among organic results (sponsored rows are excluded from this count)
scrapedAtstringrequiredISO timestamp when the data was scraped
sourceLayoutstringoptionalWhich page layout this card was extracted from: SEARCH_GRID, MERCHANDISING_LANDING, or MIXED
sponsoredstringoptionalWhether this result is a sponsored/ad placement (evidence-only)
isSponsoredstringoptionalSame true/false value as `sponsored`
resultTypestringoptionalResult classification: ORGANIC, SPONSORED, EDITORIAL, or OTHER
badgestringoptionalMerchandising badge shown on the card (e.g. BestSeller, AmazonsChoice)
boughtInPastMonthstringoptionalNumber of units bought in the past month, parsed from the card's compact-count hint
boughtInPastMonthTextstringoptionalRaw "X+ bought in past month" card text
couponstringoptionalCoupon text shown on the card, if any
stockTextstringoptionalRaw stock hint shown on the listing card
unitPricestringoptionalPer-unit price text shown on the listing card
dealTextstringoptionalRaw deal/percent-off text shown on the listing card
soldByTextstringoptionalRaw "Sold by" line shown on the listing card
moreOptionsTextstringoptionalRaw "More options" hint shown on the listing card
deliveryEstimatestringoptionalEstimated delivery text shown on the card
shipsTostringoptionalShips-to location text shown on the card, if any
sustainabilityFeaturesstringoptionalSustainability/Climate Pledge Friendly badge labels (JSON array)
variantsCountstringoptionalNumber of additional color/style variants shown via the card's "+N" hint
primestringoptionalWhether the card shows an Amazon Prime badge (evidence-only)
isPrimestringoptionalSame true/false value as `prime`
offerCountstringoptionalNumber of "More Buying Choices" offers shown on the card
lowestOfferPricestringoptionalLowest "More Buying Choices" offer price (JSON object with value and currency)
resultsTotalstringoptionalTotal number of results reported by the results-info bar
resultsFromstringoptionalStarting result index reported by the results-info bar
resultsTostringoptionalEnding result index reported by the results-info bar
positionstringoptionalPosition metadata (JSON object with page, positionOnPage, globalPosition, uuid)
facetsstringoptionalRefinement facets available on this results page (JSON array)
relatedSearchesstringoptionalRelated search suggestions shown on this results page (JSON array of text/url pairs)

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "description": "Amazon product records from search, category, and seller listings with price, rating, badges, and delivery details.",
  "properties": {
    "answeredQuestions": {
      "description": "Answered-question count, only when the detail page renders it",
      "template": "{{answeredQuestions}}",
      "title": "Answered Questions",
      "type": "string"
    },
    "asin": {
      "description": "Amazon Standard Identification Number",
      "template": "{{asin}}",
      "title": "ASIN",
      "type": "string"
    },
    "badge": {
      "description": "Merchandising badge shown on the card (e.g. BestSeller, AmazonsChoice)",
      "template": "{{badge}}",
      "title": "Badge",
      "type": "string"
    },
    "bestsellerRanks": {
      "description": "Bestseller rankings in different categories (JSON array)",
      "template": "{{bestsellerRanks}}",
      "title": "Bestseller Ranks",
      "type": "string"
    },
    "boughtInPastMonth": {
      "description": "Number of units bought in the past month, parsed from the card's compact-count hint",
      "template": "{{boughtInPastMonth}}",
      "title": "Bought In Past Month",
      "type": "string"
    },
    "boughtInPastMonthText": {
      "description": "Raw \"X+ bought in past month\" card text",
      "template": "{{boughtInPastMonthText}}",
      "title": "Bought In Past Month (raw text)",
      "type": "string"
    },
    "brand": {
      "description": "Product brand name",
      "template": "{{brand}}",
      "title": "Brand",
      "type": "string"
    },
    "breadCrumbs": {
      "description": "Product category breadcrumb path",
      "template": "{{breadCrumbs}}",
      "title": "Categories",
      "type": "string"
    },
    "categoryPage": {
      "description": "Page number in search results",
      "template": "{{categoryPage}}",
      "title": "Category Page",
      "type": "string"
    },
    "categoryPosition": {
      "description": "Position in search results",
      "template": "{{categoryPosition}}",
      "title": "Position",
      "type": "string"
    },
    "categoryUrl": {
      "description": "Source category/search URL",
      "template": "{{categoryUrl}}",
      "title": "Category URL",
      "type": "string"
    },
    "coupon": {
      "description": "Coupon text shown on the card, if any",
      "template": "{{coupon}}",
      "title": "Coupon",
      "type": "string"
    },
    "currency": {
      "description": "ISO currency code resolved from the product price, when available",
      "template": "{{currency}}",
      "title": "Currency",
      "type": "string"
    },
    "dealText": {
      "description": "Raw deal/percent-off text shown on the listing card",
      "template": "{{dealText}}",
      "title": "Deal Text",
      "type": "string"
    },
    "delivery": {
      "description": "Delivery information and estimated date",
      "template": "{{delivery}}",
      "title": "Delivery",
      "type": "string"
    },
    "deliveryEstimate": {
      "description": "Estimated delivery text shown on the card",
      "template": "{{deliveryEstimate}}",
      "title": "Delivery Estimate",
      "type": "string"
    },
    "description": {
      "description": "Full product description",
      "template": "{{description}}",
      "title": "Description",
      "type": "string"
    },
    "discountPercent": {
      "description": "Discount percentage, calculated only from a genuine current price and strike-through list price",
      "template": "{{discountPercent}}",
      "title": "Discount Percent",
      "type": "string"
    },
    "facets": {
      "description": "Refinement facets available on this results page (JSON array)",
      "template": "{{facets}}",
      "title": "Facets",
      "type": "string"
    },
    "fastestDelivery": {
      "description": "Fastest delivery estimate, only when the detail page renders it",
      "template": "{{fastestDelivery}}",
      "title": "Fastest Delivery",
      "type": "string"
    },
    "features": {
      "description": "List of product features and bullet points (JSON array)",
      "template": "{{features}}",
      "title": "Features",
      "type": "string"
    },
    "imageLarge": {
      "description": "Largest product image URL available (upscaled Amazon media URL)",
      "template": "{{imageLarge}}",
      "title": "Large Image",
      "type": "string"
    },
    "images": {
      "description": "All deduplicated image URLs for the product (JSON array)",
      "template": "{{images}}",
      "title": "Images",
      "type": "string"
    },
    "inStock": {
      "description": "Whether the product is currently in stock",
      "template": "{{inStock}}",
      "title": "In Stock",
      "type": "string"
    },
    "inStockText": {
      "description": "Detailed stock availability text",
      "template": "{{inStockText}}",
      "title": "Stock Status",
      "type": "string"
    },
    "isPrime": {
      "description": "Same true/false value as `prime`",
      "template": "{{isPrime}}",
      "title": "Is Prime",
      "type": "string"
    },
    "isSponsored": {
      "description": "Same true/false value as `sponsored`",
      "template": "{{isSponsored}}",
      "title": "Is Sponsored",
      "type": "string"
    },
    "listPrice": {
      "description": "Genuine list/strike-through price only; never Amazon's \"Typical price\" reference",
      "template": "{{listPrice}}",
      "title": "List Price",
      "type": "string"
    },
    "locationText": {
      "description": "Delivery destination the product detail page rendered for",
      "template": "{{locationText}}",
      "title": "Delivery Location",
      "type": "string"
    },
    "lowestOfferPrice": {
      "description": "Lowest \"More Buying Choices\" offer price (JSON object with value and currency)",
      "template": "{{lowestOfferPrice}}",
      "title": "Lowest Offer Price",
      "type": "string"
    },
    "marketplace": {
      "description": "Bare Amazon marketplace domain this record came from (e.g. amazon.com)",
      "template": "{{marketplace}}",
      "title": "Marketplace",
      "type": "string"
    },
    "moreOptionsText": {
      "description": "Raw \"More options\" hint shown on the listing card",
      "template": "{{moreOptionsText}}",
      "title": "More Options Text",
      "type": "string"
    },
    "offerCount": {
      "description": "Number of \"More Buying Choices\" offers shown on the card",
      "template": "{{offerCount}}",
      "title": "Offer Count",
      "type": "string"
    },
    "organicPosition": {
      "description": "Position among organic results (sponsored rows are excluded from this count)",
      "template": "{{organicPosition}}",
      "title": "Organic Position",
      "type": "string"
    },
    "position": {
      "description": "Position metadata (JSON object with page, positionOnPage, globalPosition, uuid)",
      "template": "{{position}}",
      "title": "Position",
      "type": "string"
    },
    "price": {
      "description": "Current price (JSON object with value, currency, display)",
      "template": "{{price}}",
      "title": "Price",
      "type": "string"
    },
    "priceVariants": {
      "description": "Per-variant price map, only when the detail page exposes one",
      "template": "{{priceVariants}}",
      "title": "Price Variants",
      "type": "string"
    },
    "prime": {
      "description": "Whether the card shows an Amazon Prime badge (evidence-only)",
      "template": "{{prime}}",
      "title": "Prime",
      "type": "string"
    },
    "relatedSearches": {
      "description": "Related search suggestions shown on this results page (JSON array of text/url pairs)",
      "template": "{{relatedSearches}}",
      "title": "Related Searches",
      "type": "string"
    },
    "resultType": {
      "description": "Result classification: ORGANIC, SPONSORED, EDITORIAL, or OTHER",
      "template": "{{resultType}}",
      "title": "Result Type",
      "type": "string"
    },
    "resultsFrom": {
      "description": "Starting result index reported by the results-info bar",
      "template": "{{resultsFrom}}",
      "title": "Results From",
      "type": "string"
    },
    "resultsTo": {
      "description": "Ending result index reported by the results-info bar",
      "template": "{{resultsTo}}",
      "title": "Results To",
      "type": "string"
    },
    "resultsTotal": {
      "description": "Total number of results reported by the results-info bar",
      "template": "{{resultsTotal}}",
      "title": "Results Total",
      "type": "string"
    },
    "returnPolicy": {
      "description": "Return policy text, from the product detail page",
      "template": "{{returnPolicy}}",
      "title": "Return Policy",
      "type": "string"
    },
    "reviewsCount": {
      "description": "Total number of customer reviews",
      "template": "{{reviewsCount}}",
      "title": "Reviews Count",
      "type": "string"
    },
    "reviewsLink": {
      "description": "Absolute link to the full reviews page, when available",
      "template": "{{reviewsLink}}",
      "title": "Reviews Link",
      "type": "string"
    },
    "scrapedAt": {
      "description": "ISO timestamp when the data was scraped",
      "template": "{{scrapedAt}}",
      "title": "Scraped At",
      "type": "string"
    },
    "searchQuery": {
      "description": "Keyword, node ID, or seller ID that produced this listing record",
      "template": "{{searchQuery}}",
      "title": "Search Query",
      "type": "string"
    },
    "seller": {
      "description": "Seller identity {name, id, url}; omitted when no real seller ID can be resolved",
      "template": "{{seller}}",
      "title": "Seller",
      "type": "string"
    },
    "shippingPrice": {
      "description": "Shipping cost when explicitly shown (0 means free shipping)",
      "template": "{{shippingPrice}}",
      "title": "Shipping Price",
      "type": "string"
    },
    "shipsTo": {
      "description": "Ships-to location text shown on the card, if any",
      "template": "{{shipsTo}}",
      "title": "Ships To",
      "type": "string"
    },
    "soldByText": {
      "description": "Raw \"Sold by\" line shown on the listing card",
      "template": "{{soldByText}}",
      "title": "Sold By Text",
      "type": "string"
    },
    "sourceLayout": {
      "description": "Which page layout this card was extracted from: SEARCH_GRID, MERCHANDISING_LANDING, or MIXED",
      "template": "{{sourceLayout}}",
      "title": "Source Layout",
      "type": "string"
    },
    "sourceMode": {
      "description": "Input mode that produced this record: keywords, categoryUrls, categoryNodeIds, sellerIds, asins, or productUrls",
      "template": "{{sourceMode}}",
      "title": "Source Mode",
      "type": "string"
    },
    "specifications": {
      "description": "Deduplicated product specifications (JSON object), from the overview and technical-detail tables",
      "template": "{{specifications}}",
      "title": "Specifications",
      "type": "string"
    },
    "sponsored": {
      "description": "Whether this result is a sponsored/ad placement (evidence-only)",
      "template": "{{sponsored}}",
      "title": "Sponsored",
      "type": "string"
    },
    "stars": {
      "description": "Average star rating from 1 to 5",
      "template": "{{stars}}",
      "title": "Rating",
      "type": "string"
    },
    "starsBreakdown": {
      "description": "Rating breakdown by star count as a share per star, 0.0-1.0 (JSON object), from the product detail page when rendered",
      "template": "{{starsBreakdown}}",
      "title": "Rating Breakdown",
      "type": "string"
    },
    "stockText": {
      "description": "Raw stock hint shown on the listing card",
      "template": "{{stockText}}",
      "title": "Stock Text",
      "type": "string"
    },
    "support": {
      "description": "Support/warranty information, only when the detail page renders it",
      "template": "{{support}}",
      "title": "Support",
      "type": "string"
    },
    "sustainabilityFeatures": {
      "description": "Sustainability/Climate Pledge Friendly badge labels (JSON array)",
      "template": "{{sustainabilityFeatures}}",
      "title": "Sustainability Features",
      "type": "string"
    },
    "thumbnailImage": {
      "description": "Main product image URL",
      "template": "{{thumbnailImage}}",
      "title": "Image",
      "type": "string"
    },
    "title": {
      "description": "Product title",
      "template": "{{title}}",
      "title": "Product Title",
      "type": "string"
    },
    "typicalPrice": {
      "description": "Amazon's separate \"Typical price\" reference price (never used as listPrice)",
      "template": "{{typicalPrice}}",
      "title": "Typical Price",
      "type": "string"
    },
    "unitPrice": {
      "description": "Per-unit price text shown on the listing card",
      "template": "{{unitPrice}}",
      "title": "Unit Price",
      "type": "string"
    },
    "url": {
      "description": "Direct Amazon URL for the product page",
      "template": "{{url}}",
      "title": "Product URL",
      "type": "string"
    },
    "variantAsins": {
      "description": "List of variant product ASINs (JSON array)",
      "template": "{{variantAsins}}",
      "title": "Variant ASINs",
      "type": "string"
    },
    "variantAttributes": {
      "description": "Visible variant dimensions (JSON array of {name, values}), when a twister widget exists",
      "template": "{{variantAttributes}}",
      "title": "Variant Attributes",
      "type": "string"
    },
    "variantsCount": {
      "description": "Number of additional color/style variants shown via the card's \"+N\" hint",
      "template": "{{variantsCount}}",
      "title": "Variants Count",
      "type": "string"
    }
  },
  "required": [
    "url",
    "asin",
    "scrapedAt"
  ],
  "title": "Amazon Search, Category & Seller Listings Extractor Output",
  "type": "object"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "views": {
    "overview": {
      "display": {
        "component": "table",
        "properties": {
          "asin": {
            "format": "text",
            "label": "ASIN"
          },
          "brand": {
            "format": "text",
            "label": "Brand"
          },
          "inStock": {
            "format": "boolean",
            "label": "In Stock"
          },
          "price": {
            "format": "object",
            "label": "Price"
          },
          "reviewsCount": {
            "format": "number",
            "label": "Reviews"
          },
          "stars": {
            "format": "number",
            "label": "Rating"
          },
          "title": {
            "format": "text",
            "label": "Product Title"
          },
          "url": {
            "format": "link",
            "label": "URL"
          }
        }
      },
      "title": "Overview",
      "transformation": {
        "fields": [
          "title",
          "asin",
          "price",
          "stars",
          "reviewsCount",
          "inStock",
          "brand",
          "url"
        ]
      }
    }
  }
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

Amazon Search, Category & Seller Listings Extractor

Pull Amazon product listings from keyword search, category/search URLs, browse-node IDs, seller storefronts, ASINs, and exact product URLs in one run. Every record carries the listing card data — price, brand, rating, badges, images, delivery hints, and organic/sponsored position — and optional product-detail enrichment adds specifications, the full gallery, seller identity, rating histogram, variants, and bestseller ranks. No login, cookies, or API key needed.

What this actor does

  • Six additive input modes. Combine keywords, categoryUrls, categoryNodeIds, sellerIds, asins, and productUrls in the same run; every source is processed and deduplicated by ASIN.
  • Exact product lookup. ASIN and product-URL modes open /dp/{ASIN} directly. They never fall back to an Amazon keyword search, so a known product cannot turn into an unrelated result.
  • Real category listings. Node IDs use Amazon's /s?rh=n:{node}&fs=true listing route, not the /b?node= merchandising landing page. Search, seller (/s?me=), and seller-profile (/sp?seller=) URLs are routed automatically.
  • Playwright reliability. Each marketplace session is warmed up on the homepage and paced with human-like jitter. Continue-shopping interstitials, dog pages, rate limits, and interstitial challenges are classified and retried. Proxy selection is automatic: an available non-residential (datacenter/static) group in the marketplace's country, never residential by default.
  • Listing intelligence. Brand, card image set and large image, organic position, sponsored flag, ships-to line, variant count, unit price, deal text, stock hint, sold-by line, and a genuine list price kept separate from Amazon's "Typical price".
  • Detail enrichment. Specifications, gallery images, rating histogram, reviews link, seller ID/name/URL, variant dimensions, BSR, breadcrumbs, description, features, and stock status.
  • Safe output. Empty fields are omitted at every depth; nothing is emitted as null.

Output per product

Listing fields (all modes)

  • asin, title, url, marketplace, sourceMode, searchQuery
  • price {value, currency, display}, listPrice, typicalPrice, discountPercent
  • stars, reviewsCount, brand
  • thumbnailImage, images, imageLarge
  • badge, coupon, dealText, stockText, unitPrice, soldByText, moreOptionsText
  • boughtInPastMonth, boughtInPastMonthText
  • deliveryEstimate, shipsTo, sustainabilityFeatures, variantsCount
  • offerCount, lowestOfferPrice
  • sponsored / isSponsored, resultType, prime / isPrime
  • organicPosition, categoryPosition
  • categoryUrl, categoryPage, sourceLayout, position
  • resultsTotal, resultsFrom, resultsTo, facets, relatedSearches
  • scrapedAt

Product-detail fields (detail enrichment or ASIN/product-URL modes)

  • brand, inStock, inStockText, currency
  • specifications (overview + technical tables)
  • images (gallery), imageLarge
  • starsBreakdown (share per star, 0.0-1.0)
  • reviewsLink, answeredQuestions
  • breadCrumbs, description, features
  • variantAsins, variantAttributes, priceVariants
  • delivery, fastestDelivery, shippingPrice, returnPolicy, support
  • seller {name, id, url} — omitted when no real seller ID can be resolved
  • bestsellerRanks, locationText

Fields that Amazon does not render for a specific product are omitted, never fabricated. This includes render-dependent badges (Prime, sponsored), seller identity, and some buy-box details.

Input

At least one of categoryUrls, keywords, productUrls, asins, sellerIds, or categoryNodeIds is required. All modes are additive.

Field Type Default Description
categoryUrls array – Search, category, seller-profile, or product URLs; routed automatically
keywords array – Search phrases; each builds /s?k={query}
productUrls array – Exact product URLs; normalized to /dp/{ASIN} on their own marketplace
asins array – Exact ASINs; each opens /dp/{ASIN} directly
sellerIds array – Seller/merchant IDs; each builds /s?me={id}
categoryNodeIds array – Browse-node IDs; each builds /s?rh=n:{id}&fs=true
marketplaceDomain select amazon.com Marketplace for keyword/ASIN/seller/node modes (21 domains)
maxItems integer 0 Global cap across all sources; 0 means unlimited
maxItemsPerCategory integer 10 Cap per keyword/URL/seller/node source (1-10000)
maxPages integer 1 Pages per listing source (1-50); keyword search itself stops at 7
scrapeProductDetails boolean true Visit each accepted product page for detail fields
includeSpecifications boolean true Include the specifications object when detail pages are scraped
sortBy select relevanceblender Featured, price, review, newest, or best-seller sort
priceMin, priceMax number – Price range in the marketplace currency
minRating number – Minimum star rating (0-5)
includeSponsored boolean true Include sponsored placements
onlyDeals boolean false Keep only cards with visible deal evidence
primeOnly boolean false Keep only cards with a visible Prime badge
rateLimitDelay integer 2 Base delay in seconds between requests (1-30)

Example: keyword search, cards only

{
  "keywords": ["wireless earbuds", "bluetooth speaker"],
  "maxItemsPerCategory": 100,
  "maxPages": 3,
  "scrapeProductDetails": false,
  "sortBy": "review-rank",
  "minRating": 4
}

Example: exact products and a product URL together

{
  "asins": ["B08N5WRWNW", "B09X7MPX8L"],
  "productUrls": ["https://www.amazon.de/dp/B08N5WRWNW"],
  "scrapeProductDetails": true,
  "includeSpecifications": true
}

Example: category node, seller storefront, and filters

{
  "categoryNodeIds": ["172282"],
  "sellerIds": ["A1B2C3D4E5F6G7"],
  "marketplaceDomain": "amazon.co.uk",
  "maxItemsPerCategory": 50,
  "onlyDeals": true,
  "maxPages": 3
}

Supported Amazon Marketplaces

amazon.com (US), amazon.co.uk (UK), amazon.de (Germany), amazon.fr (France), amazon.it (Italy), amazon.es (Spain), amazon.ca (Canada), amazon.com.au (Australia), amazon.co.jp (Japan), amazon.in (India), amazon.com.br (Brazil), amazon.com.mx (Mexico), amazon.nl (Netherlands), amazon.se (Sweden), amazon.pl (Poland), amazon.com.tr (Turkey), amazon.ae (UAE), amazon.sa (Saudi Arabia), amazon.sg (Singapore), amazon.com.be (Belgium), amazon.eg (Egypt).

Use cases

  • Competitor price tracking — monitor price, list price, typical price, and deal evidence.
  • Category and keyword research — collect top products with brand, rating, and organic rank.
  • Sponsored-placement analysis — compare organic position with sponsored rows.
  • Seller storefront audits — enumerate a seller's listed products.
  • Product research — pull full specifications, gallery, variants, and BSR for a shortlist.
  • Multi-marketplace checks — compare the same ASIN or keyword across 21 storefronts.

FAQ

Do I need Amazon cookies or an API key? No. The actor reads public search, category, seller, and product pages anonymously. No account, cookie, token, or API key is required.

Do ASIN inputs still search Amazon? No. ASIN and product-URL modes fetch the exact /dp/{ASIN} page. Keyword mode is the only mode that performs a search.

Why is listPrice missing on a product that shows a "Typical price"? "Typical price" is not a strike-through list price. It is returned separately as typicalPrice, and discountPercent is calculated only from a genuine current price plus list price. This prevents fake discounts.

Why are Prime or sponsored fields missing from some records? Amazon does not render Prime icons or sponsored labels for every marketplace, exit country, or layout. The actor reports only what the page actually shows and never claims a product is "not Prime" from a missing badge.

Why do I get fewer results than maxPages suggests? Amazon caps keyword search at page 7. Category listings can go deeper. For more than a keyword surface allows, split the query by category, brand, or price band and combine the runs.

Does the actor need my proxy? No. Proxy selection is automatic: it uses an available non-residential Apify Proxy group in the marketplace's own country and never switches to residential billing on its own. There is no proxy input to configure.

Why do prices appear in a currency different from the marketplace domain? Amazon localizes currency and delivery to the request's exit country. The actor sets the marketplace country automatically and reports the resolved currency; cross-border renders can still differ from the domain's nominal currency.

How expensive is detail enrichment? Each detail page is a full Amazon product page (roughly 2.5-3.1 MB). Set scrapeProductDetails to false for large listing runs and enable it only for a shortlist or for ASIN/product-URL modes.

Is this affiliated with Amazon? No. It is an independent third-party actor that reads Amazon's public pages.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build aAJedoI4DhBVoe0x1. Documentation is regenerated from the default published build; private drafts are not included.