Amazon Multi-Domain Product Price & Detail Scraper
Pull pricing, ratings, seller, variant and technical detail for Amazon products by URL or ASIN, across 21 country domains, with optional delivery postal-code targeting.
Input schema
Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.
| Field | Type | Required | Description |
|---|---|---|---|
productUrls | array | optional | Amazon product URLs to scrape. Any mix of the 21 supported country domains is allowed, e.g. https://www.amazon.com/dp/B0B8PD8TTP. |
asins | array | optional | Bare 10-character Amazon ASINs. Builds /dp/{ASIN} URLs on the selected marketplace, or on every domain listed in `domains` for cross-marketplace runs. |
searchTerms | array | optional | Keyword queries to run on Amazon search pages. Price/rating/deal/condition/sort filters are applied as URL parameters. |
Show all input fields
| Field | Type | Required | Description |
|---|---|---|---|
productUrls | array | optional | Amazon product URLs to scrape. Any mix of the 21 supported country domains is allowed, e.g. https://www.amazon.com/dp/B0B8PD8TTP. |
asins | array | optional | Bare 10-character Amazon ASINs. Builds /dp/{ASIN} URLs on the selected marketplace, or on every domain listed in `domains` for cross-marketplace runs. |
searchTerms | array | optional | Keyword queries to run on Amazon search pages. Price/rating/deal/condition/sort filters are applied as URL parameters. |
searchUrls | array | optional | Full Amazon search URLs to pass through, including your own `i=`, `rh=`, `low-price`, and `s=` parameters. Pagination is added automatically. |
bestsellerUrls | array | optional | Amazon bestseller /zgbs/ or /gp/bestsellers/ list URLs. Returns the ranked product cards, optionally enriched with product-detail fields. |
marketplace | string | optional | Marketplace used for bare ASINs and keyword search terms. `auto` uses the first product URL's domain, or amazon.com. |
domains | array | optional | Optional list of marketplaces (e.g. amazon.com, amazon.de) to run bare ASINs and search terms across. Leave empty to use `marketplace` only. |
language | string | optional | Page language. `auto` uses the marketplace's own default. Explicit values set `?language=` and the matching Accept-Language header. |
currency | string | optional | ISO currency for the displayed price. `auto` uses the marketplace currency. Note: Amazon converts display currency; it is not guaranteed local retail pricing. |
deliveryCountry | string | optional | Optional country hint. When `postalCode` is empty, a representative local ZIP for that country is used. A country alone is not sent to Amazon. |
postalCode | string | optional | Local ZIP/postal code for the delivery location. The actor validates it against the marketplace format and skips the location change if it does not match. |
minPrice | number | optional | Minimum price for discovery (search) results. Leave empty for no lower bound. |
maxPrice | number | optional | Maximum price for discovery (search) results. Leave empty for no upper bound. |
minRating | string | optional | Minimum star rating for discovery results. `4` is the live-validated 4+ stars filter; lower values are best effort. |
dealsOnly | boolean | optional | Apply Amazon's deals filter to keyword searches. Only affects discovery. |
primeOnly | boolean | optional | Apply Amazon's Prime filter to keyword searches. Prime eligibility itself is not emitted because the page does not expose a reliable per-item signal. |
condition | string | optional | Item condition filter for keyword searches. `new` is live-validated; other values are best effort. |
brand | string | optional | Optional brand word added to keyword search terms and used as a title/brand post-filter. This is not a structured Amazon brand-facet resolver. |
stock | string | optional | Best-effort stock filter applied after parsing. Records with unknown stock pass through. |
sortBy | string | optional | Sort order for keyword searches. Search-URL pass-through keeps its own sort. |
maxItems | integer | optional | Maximum number of search/bestseller rows across all discovery inputs. Explicit product URLs/ASINs are always processed. |
maxPages | integer | optional | Maximum search-result pages to read per keyword or search URL (1-20). |
includeDetails | boolean | optional | Fetch each discovery result's product page for full price, seller, variants, specs, reviews, and media fields. Disable for a cheaper search-card-only run. |
includeSponsored | boolean | optional | Keep sponsored search cards. The isSponsored flag is always preserved. |
includeVariants | boolean | optional | Include parent ASIN, child ASINs, and variant dimensions. Per-variant price and stock are not available from the product page. |
includeTopReviews | boolean | optional | Include the inline top-review snippets Amazon renders publicly. Full review pagination is login-gated and is not supported. |
includeFailed | boolean | optional | Emit an error row (recordType=error, reason, httpStatus) when a product or discovery input fails instead of silently dropping it. |
failOnEmpty | boolean | optional | Mark the run as FAILED when no product/search records are emitted. |
rateLimitDelay | integer | optional | Base pause in seconds between product/search requests (0-10). A random value between this and twice this is used. |
proxyConfiguration | object | optional | Optional. The actor starts direct and escalates through Apify Proxy automatically only if Amazon blocks the request. No setup is required. |
proxyCountry | string | optional | Optional proxy exit country. `AUTO` uses the marketplace's own country for every domain. |
Download the published input schema
View complete JSON
{
"description": "Provide products (URLs or ASINs) and/or discovery inputs (keyword terms, search URLs, bestseller lists). Locale, currency, delivery ZIP, and search filters are optional.",
"properties": {
"asins": {
"default": [],
"description": "Bare 10-character Amazon ASINs. Builds /dp/{ASIN} URLs on the selected marketplace, or on every domain listed in `domains` for cross-marketplace runs.",
"editor": "stringList",
"example": [
"B0B8PD8TTP"
],
"items": {
"type": "string"
},
"prefill": [
"B09X7MPX8L"
],
"title": "ASINs",
"type": "array"
},
"bestsellerUrls": {
"default": [],
"description": "Amazon bestseller /zgbs/ or /gp/bestsellers/ list URLs. Returns the ranked product cards, optionally enriched with product-detail fields.",
"editor": "stringList",
"example": [
"https://www.amazon.com/gp/bestsellers/kitchen/"
],
"items": {
"type": "string"
},
"prefill": [],
"title": "Bestseller List URLs",
"type": "array"
},
"brand": {
"default": "",
"description": "Optional brand word added to keyword search terms and used as a title/brand post-filter. This is not a structured Amazon brand-facet resolver.",
"editor": "textfield",
"example": "Anker",
"prefill": "",
"title": "Brand / Keyword Refinement",
"type": "string"
},
"condition": {
"default": "any",
"description": "Item condition filter for keyword searches. `new` is live-validated; other values are best effort.",
"editor": "select",
"enum": [
"any",
"new",
"used",
"renewed",
"collectible"
],
"enumTitles": [
"Any condition",
"New",
"Used",
"Renewed",
"Collectible"
],
"prefill": "any",
"title": "Condition",
"type": "string"
},
"currency": {
"default": "auto",
"description": "ISO currency for the displayed price. `auto` uses the marketplace currency. Note: Amazon converts display currency; it is not guaranteed local retail pricing.",
"editor": "select",
"enum": [
"auto",
"USD",
"EUR",
"GBP",
"JPY",
"CAD",
"AUD",
"INR",
"BRL",
"MXN",
"SEK",
"PLN",
"TRY",
"AED",
"SAR",
"EGP",
"SGD",
"CNY",
"CHF",
"HKD",
"NZD",
"ZAR",
"NOK",
"DKK",
"CZK",
"HUF",
"ILS",
"KRW",
"THB",
"MYR",
"PHP",
"IDR",
"VND"
],
"enumTitles": [
"Auto (marketplace currency)",
"US Dollar",
"Euro",
"British Pound",
"Japanese Yen",
"Canadian Dollar",
"Australian Dollar",
"Indian Rupee",
"Brazilian Real",
"Mexican Peso",
"Swedish Krona",
"Polish Zloty",
"Turkish Lira",
"UAE Dirham",
"Saudi Riyal",
"Egyptian Pound",
"Singapore Dollar",
"Chinese Yuan",
"Swiss Franc",
"Hong Kong Dollar",
"New Zealand Dollar",
"South African Rand",
"Norwegian Krone",
"Danish Krone",
"Czech Koruna",
"Hungarian Forint",
"Israeli Shekel",
"South Korean Won",
"Thai Baht",
"Malaysian Ringgit",
"Philippine Peso",
"Indonesian Rupiah",
"Vietnamese Dong"
],
"prefill": "auto",
"title": "Display Currency",
"type": "string"
},
"dealsOnly": {
"default": false,
"description": "Apply Amazon's deals filter to keyword searches. Only affects discovery.",
"prefill": false,
"title": "Deals Only",
"type": "boolean"
},
"deliveryCountry": {
"default": "auto",
"description": "Optional country hint. When `postalCode` is empty, a representative local ZIP for that country is used. A country alone is not sent to Amazon.",
"editor": "select",
"enum": [
"auto",
"AU",
"BE",
"BR",
"CA",
"DE",
"EG",
"ES",
"FR",
"GB",
"IN",
"IT",
"JP",
"MX",
"NL",
"PL",
"SA",
"SE",
"SG",
"TR",
"AE",
"US"
],
"enumTitles": [
"Auto (marketplace default)",
"Australia",
"Belgium",
"Brazil",
"Canada",
"Germany",
"Egypt",
"Spain",
"France",
"United Kingdom",
"India",
"Italy",
"Japan",
"Mexico",
"Netherlands",
"Poland",
"Saudi Arabia",
"Sweden",
"Singapore",
"Turkey",
"United Arab Emirates",
"United States"
],
"prefill": "auto",
"sectionCaption": "Delivery",
"title": "Delivery Country",
"type": "string"
},
"domains": {
"default": [],
"description": "Optional list of marketplaces (e.g. amazon.com, amazon.de) to run bare ASINs and search terms across. Leave empty to use `marketplace` only.",
"editor": "stringList",
"example": [
"amazon.com",
"amazon.de"
],
"items": {
"type": "string"
},
"prefill": [],
"title": "Additional Domains",
"type": "array"
},
"failOnEmpty": {
"default": false,
"description": "Mark the run as FAILED when no product/search records are emitted.",
"prefill": true,
"title": "Fail on Empty",
"type": "boolean"
},
"includeDetails": {
"default": true,
"description": "Fetch each discovery result's product page for full price, seller, variants, specs, reviews, and media fields. Disable for a cheaper search-card-only run.",
"prefill": true,
"sectionCaption": "Output",
"title": "Fetch Product Details",
"type": "boolean"
},
"includeFailed": {
"default": true,
"description": "Emit an error row (recordType=error, reason, httpStatus) when a product or discovery input fails instead of silently dropping it.",
"prefill": true,
"title": "Include Failure Rows",
"type": "boolean"
},
"includeSponsored": {
"default": true,
"description": "Keep sponsored search cards. The isSponsored flag is always preserved.",
"prefill": true,
"title": "Include Sponsored Results",
"type": "boolean"
},
"includeTopReviews": {
"default": true,
"description": "Include the inline top-review snippets Amazon renders publicly. Full review pagination is login-gated and is not supported.",
"prefill": false,
"title": "Include Top Reviews",
"type": "boolean"
},
"includeVariants": {
"default": true,
"description": "Include parent ASIN, child ASINs, and variant dimensions. Per-variant price and stock are not available from the product page.",
"prefill": false,
"title": "Include Variants",
"type": "boolean"
},
"language": {
"default": "auto",
"description": "Page language. `auto` uses the marketplace's own default. Explicit values set `?language=` and the matching Accept-Language header.",
"editor": "select",
"enum": [
"auto",
"en_US",
"en_GB",
"en_CA",
"en_AU",
"en_IN",
"en_SG",
"de_DE",
"fr_FR",
"it_IT",
"es_ES",
"es_MX",
"pt_BR",
"nl_NL",
"nl_BE",
"sv_SE",
"pl_PL",
"tr_TR",
"ja_JP",
"ar_AE",
"ar_SA",
"ar_EG"
],
"enumTitles": [
"Auto (marketplace default)",
"English (US)",
"English (UK)",
"English (Canada)",
"English (Australia)",
"English (India)",
"English (Singapore)",
"German",
"French",
"Italian",
"Spanish (Spain)",
"Spanish (Mexico)",
"Portuguese (Brazil)",
"Dutch (Netherlands)",
"Dutch (Belgium)",
"Swedish",
"Polish",
"Turkish",
"Japanese",
"Arabic (UAE)",
"Arabic (Saudi Arabia)",
"Arabic (Egypt)"
],
"prefill": "auto",
"title": "Language",
"type": "string"
},
"marketplace": {
"default": "auto",
"description": "Marketplace used for bare ASINs and keyword search terms. `auto` uses the first product URL's domain, or amazon.com.",
"editor": "select",
"enum": [
"auto",
"amazon.com",
"amazon.ca",
"amazon.com.mx",
"amazon.com.br",
"amazon.co.uk",
"amazon.de",
"amazon.fr",
"amazon.it",
"amazon.es",
"amazon.nl",
"amazon.com.be",
"amazon.se",
"amazon.pl",
"amazon.com.tr",
"amazon.ae",
"amazon.sa",
"amazon.eg",
"amazon.in",
"amazon.co.jp",
"amazon.com.au",
"amazon.sg"
],
"enumTitles": [
"Auto (from input URLs)",
"United States",
"Canada",
"Mexico",
"Brazil",
"United Kingdom",
"Germany",
"France",
"Italy",
"Spain",
"Netherlands",
"Belgium",
"Sweden",
"Poland",
"Turkey",
"United Arab Emirates",
"Saudi Arabia",
"Egypt",
"India",
"Japan",
"Australia",
"Singapore"
],
"prefill": "auto",
"sectionCaption": "Marketplace & Locale",
"title": "Marketplace",
"type": "string"
},
"maxItems": {
"default": 50,
"description": "Maximum number of search/bestseller rows across all discovery inputs. Explicit product URLs/ASINs are always processed.",
"maximum": 1000,
"minimum": 1,
"prefill": 1,
"sectionCaption": "Limits",
"title": "Max Discovery Items",
"type": "integer"
},
"maxPages": {
"default": 3,
"description": "Maximum search-result pages to read per keyword or search URL (1-20).",
"maximum": 20,
"minimum": 1,
"prefill": 1,
"title": "Max Pages per Query",
"type": "integer"
},
"maxPrice": {
"description": "Maximum price for discovery (search) results. Leave empty for no upper bound.",
"editor": "number",
"maximum": 1000000,
"minimum": 0,
"title": "Maximum Price",
"type": "number"
},
"minPrice": {
"description": "Minimum price for discovery (search) results. Leave empty for no lower bound.",
"editor": "number",
"maximum": 1000000,
"minimum": 0,
"sectionCaption": "Discovery Filters",
"title": "Minimum Price",
"type": "number"
},
"minRating": {
"default": "any",
"description": "Minimum star rating for discovery results. `4` is the live-validated 4+ stars filter; lower values are best effort.",
"editor": "select",
"enum": [
"any",
"4",
"3",
"2",
"1"
],
"enumTitles": [
"Any rating",
"4 stars and up",
"3 stars and up",
"2 stars and up",
"1 star and up"
],
"prefill": "any",
"title": "Minimum Rating",
"type": "string"
},
"postalCode": {
"default": "",
"description": "Local ZIP/postal code for the delivery location. The actor validates it against the marketplace format and skips the location change if it does not match.",
"editor": "textfield",
"example": "10001",
"prefill": "",
"title": "Postal Code",
"type": "string"
},
"primeOnly": {
"default": false,
"description": "Apply Amazon's Prime filter to keyword searches. Prime eligibility itself is not emitted because the page does not expose a reliable per-item signal.",
"prefill": false,
"title": "Prime Only",
"type": "boolean"
},
"productUrls": {
"default": [],
"description": "Amazon product URLs to scrape. Any mix of the 21 supported country domains is allowed, e.g. https://www.amazon.com/dp/B0B8PD8TTP.",
"editor": "stringList",
"example": [
"https://www.amazon.com/dp/B0B8PD8TTP",
"https://www.amazon.de/dp/B008F7WGCK"
],
"items": {
"type": "string"
},
"prefill": [],
"sectionCaption": "Inputs",
"title": "Product URLs",
"type": "array"
},
"proxyConfiguration": {
"default": {
"useApifyProxy": true
},
"description": "Optional. The actor starts direct and escalates through Apify Proxy automatically only if Amazon blocks the request. No setup is required.",
"editor": "proxy",
"prefill": {
"useApifyProxy": true
},
"sectionCaption": "Proxy",
"title": "Proxy Configuration",
"type": "object"
},
"proxyCountry": {
"default": "AUTO",
"description": "Optional proxy exit country. `AUTO` uses the marketplace's own country for every domain.",
"editor": "select",
"enum": [
"AUTO",
"US",
"GB",
"DE",
"FR",
"ES",
"IT",
"CA",
"AU",
"JP",
"IN",
"BR",
"MX",
"NL",
"SE",
"PL",
"TR",
"AE",
"SA",
"SG",
"BE",
"EG"
],
"enumTitles": [
"Auto (per marketplace)",
"United States",
"United Kingdom",
"Germany",
"France",
"Spain",
"Italy",
"Canada",
"Australia",
"Japan",
"India",
"Brazil",
"Mexico",
"Netherlands",
"Sweden",
"Poland",
"Turkey",
"United Arab Emirates",
"Saudi Arabia",
"Singapore",
"Belgium",
"Egypt"
],
"prefill": "AUTO",
"title": "Proxy Country",
"type": "string"
},
"rateLimitDelay": {
"default": 1,
"description": "Base pause in seconds between product/search requests (0-10). A random value between this and twice this is used.",
"maximum": 10,
"minimum": 0,
"prefill": 0,
"sectionCaption": "Performance",
"title": "Delay Between Requests",
"type": "integer"
},
"searchTerms": {
"default": [],
"description": "Keyword queries to run on Amazon search pages. Price/rating/deal/condition/sort filters are applied as URL parameters.",
"editor": "stringList",
"example": [
"air fryer",
"noise cancelling headphones"
],
"items": {
"type": "string"
},
"prefill": [],
"sectionCaption": "Discovery",
"title": "Search Terms",
"type": "array"
},
"searchUrls": {
"default": [],
"description": "Full Amazon search URLs to pass through, including your own `i=`, `rh=`, `low-price`, and `s=` parameters. Pagination is added automatically.",
"editor": "stringList",
"example": [
"https://www.amazon.com/s?k=air+fryer&rh=p_72:1248909011"
],
"items": {
"type": "string"
},
"prefill": [],
"title": "Search URLs",
"type": "array"
},
"sortBy": {
"default": "relevance",
"description": "Sort order for keyword searches. Search-URL pass-through keeps its own sort.",
"editor": "select",
"enum": [
"relevance",
"price-asc",
"price-desc",
"review-rank",
"newest"
],
"enumTitles": [
"Relevance",
"Price: low to high",
"Price: high to low",
"Average review",
"Newest arrivals"
],
"prefill": "relevance",
"title": "Sort By",
"type": "string"
},
"stock": {
"default": "any",
"description": "Best-effort stock filter applied after parsing. Records with unknown stock pass through.",
"editor": "select",
"enum": [
"any",
"inStock",
"outOfStock"
],
"enumTitles": [
"Any stock",
"In stock only",
"Out of stock only"
],
"prefill": "any",
"title": "Stock",
"type": "string"
}
},
"required": [],
"schemaVersion": 1,
"title": "Amazon Multi-Domain Product Price & Detail Scraper 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.
| Field | Type | Required | Description |
|---|---|---|---|
products | string | optional | Dataset containing product, searchResult, bestseller, and error records. |
Download the published output schema
View complete JSON
{
"actorOutputSchemaVersion": 1,
"description": "One record per product, search result, or bestseller entry, plus explicit error rows. Fields include ASIN/parent ASIN, price/list price/coupon/deal, rating/review count, BSR, seller/buybox, offers, availability, variants, images/videos/specs/A+ text, top review snippets, marketplace, URL, and scrapedAt. Empty fields are omitted.",
"properties": {
"products": {
"description": "Dataset containing product, searchResult, bestseller, and error records.",
"template": "{{links.apiDefaultDatasetUrl}}/items",
"title": "Amazon products and discovery results",
"type": "string"
}
},
"title": "Amazon Multi-Domain Product Price & Detail Scraper Output"
}
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": "text",
"label": "Price"
},
"recordType": {
"format": "text",
"label": "Type"
},
"reviewsCount": {
"format": "number",
"label": "Reviews"
},
"stars": {
"format": "number",
"label": "Rating"
},
"title": {
"format": "text",
"label": "Product Title"
},
"url": {
"format": "link",
"label": "URL"
}
}
},
"title": "Products & discovery",
"transformation": {
"fields": [
"recordType",
"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 Multi-Domain Product Price & Detail Scraper
Scrape Amazon products and discovery lists across 21 country marketplaces. Give it product URLs or ASINs and get back price, coupon, deal badges, rating, review count, bestseller rank, seller and buy-box details, offers, availability, variants, images, videos, specs, A+ text, and public top-review snippets. You can also start from keyword terms, full search URLs, or bestseller list URLs. No login, cookies, or API key is needed.
What this actor does
- Products by URL or ASIN across
amazon.com,.co.uk,.de,.fr,.it,.es,.ca,.com.au,.co.jp,.in,.com.br,.com.mx,.nl,.se,.pl,.com.tr,.ae,.sa,.sg,.com.be, and.eg. - Discovery by keyword, search URL, or bestseller list with price, rating, deal, condition, and sort filters on keyword searches.
- Locale-aware output: marketplace language, display currency, delivery ZIP, and the rendered
locationTextare carried on every record. - Commercial fields: coupon, deal badge, status badges, bought-past-month, list price, discount percent, offer count, and lowest offer.
- Explicit failure rows with a reason code instead of silently dropping an input.
- Empty fields are omitted from each record.
Output per product
recordType-product,searchResult,bestseller, orerrorasin,parentAsin,title,brand,url,marketplace,status,warnings[]price(value,currency,display),listPrice,currency,discountPercent,onSale,savingsPercentagecoupon(text,percent,amount,type),dealBadge,badges[]stars,reviewsCount,starsBreakdown,ratingHistogram,customersSaytopReviews[]- inline public snippets (author,rating,title,date,text,verified,variant,helpful)boughtPastMonth(text,value)bestsellerRanks[](rank,category),category,categories[]inStock,inStockText,availability,delivery,fastestDelivery,locationTextseller(name,id,url,soldById,sellerRatingText)buybox(shipsFrom,soldBy,soldByAmazon,isFBA)offers(count,lowestPrice),offerCount,lowestOfferPricevariantAsins[],variants[](asin,isCurrent),variantAttributes[]images[],thumbnailImage,videos[],features[],description,aplusTextdetails[],specifications(upc,ean,gtin,modelNumber, dimensions, and more)documents[],sizeChart[],returnPolicy,support,sustainabilityFeaturesproductType,bookfor book listingsmanufacturer,modelNumber,weight,productDimensions,countryOfOrigin,dateFirstAvailablescrapedAt- ISO-8601 UTC timestamp
Output per search or bestseller row
Search rows also carry query, page, position, isSponsored, and searchUrl. Bestseller rows carry rank, listUrl, and listType: "bestseller". When includeDetails is on, the row is enriched with the full product fields above and foundVia is set.
Output per failure
recordType: "error"reason-INVALID_INPUT,NOT_FOUND,BLOCKED_WAF,BLOCKED_CAPTCHA,UNAVAILABLE,NO_BUYBOX,PARSE_DEGRADED,TIMEOUT, orSEARCH_NO_RESULTSasin,url,marketplace,httpStatus,attempts,retryable,message,scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
productUrls |
array | - | Product URLs to scrape. Any mix of supported domains |
asins |
array | - | Bare 10-character ASINs. Built into /dp/ URLs |
searchTerms |
array | - | Keyword searches, e.g. air fryer |
searchUrls |
array | - | Full search URLs, with your own i=, rh=, and s= parameters |
bestsellerUrls |
array | - | /zgbs/ or /gp/bestsellers/ list URLs |
marketplace |
string | auto |
Marketplace for bare ASINs and keyword terms |
domains |
array | - | Run ASINs and keyword terms across several marketplaces at once |
language |
string | auto |
Page language, or the marketplace default |
currency |
string | auto |
Display currency, or the marketplace default |
deliveryCountry |
string | auto |
Country hint used to choose a representative ZIP |
postalCode |
string | - | Local delivery ZIP; validated against the marketplace format |
minPrice / maxPrice |
number | - | Discovery price range |
minRating |
string | any |
4, 3, 2, or 1 stars and up |
dealsOnly |
boolean | false |
Apply Amazon's deals filter to keyword searches |
primeOnly |
boolean | false |
Apply Amazon's Prime filter to keyword searches |
condition |
string | any |
new, used, renewed, or collectible |
brand |
string | - | Added to keyword terms and used as a title/brand post-filter |
stock |
string | any |
inStock or outOfStock post-filter; unknown stock passes through |
sortBy |
string | relevance |
price-asc, price-desc, review-rank, or newest |
maxItems |
integer | 50 |
Cap on discovery rows (1-1000). Product inputs are not capped |
maxPages |
integer | 3 |
Pages per keyword/search URL (1-20) |
includeDetails |
boolean | true |
Fetch the product page for each discovery result |
includeSponsored |
boolean | true |
Keep sponsored search cards; isSponsored is always kept |
includeVariants |
boolean | true |
Include parent/child ASINs and variant dimensions |
includeTopReviews |
boolean | true |
Include inline public review snippets |
includeFailed |
boolean | true |
Emit error rows for failed inputs |
failOnEmpty |
boolean | false |
Mark the run failed when no records are emitted |
rateLimitDelay |
integer | 1 |
Base pause between requests (0-10 seconds) |
proxyConfiguration |
object | automatic | Optional proxy override; the actor works without changing it |
proxyCountry |
string | AUTO |
Optional proxy exit country; AUTO uses each marketplace's own country |
Example: one product
{
"asins": ["B0B8PD8TTP"],
"postalCode": "10001"
}
Example: products across three marketplaces
{
"productUrls": [
"https://www.amazon.com/dp/B0B8PD8TTP",
"https://www.amazon.de/dp/B008F7WGCK",
"https://www.amazon.co.uk/dp/B09B7SB46R"
],
"includeTopReviews": true,
"includeVariants": true
}
Example: keyword discovery with filters
{
"searchTerms": ["air fryer"],
"marketplace": "amazon.com",
"minPrice": 20,
"maxPrice": 100,
"minRating": "4",
"dealsOnly": true,
"sortBy": "price-asc",
"maxItems": 100,
"maxPages": 3,
"includeDetails": true
}
Example: cross-marketplace ASIN comparison and a bestseller list
{
"asins": ["B0B8PD8TTP"],
"domains": ["amazon.com", "amazon.co.uk", "amazon.de"],
"bestsellerUrls": ["https://www.amazon.com/gp/bestsellers/kitchen/"],
"maxItems": 30
}
Use cases
- Price and buy-box monitoring - track price, list price, coupon, seller, offers, and stock per marketplace
- Catalog enrichment - pull images, specs, variants, A+ text, and identifiers into your own catalog
- Keyword and category research - find products by search filters or bestseller rank, then enrich the winners
- Cross-marketplace comparison - run the same ASIN across several country sites in one job
- Review and reputation tracking - monitor star ratings, review counts, rating breakdowns, and public review snippets
- Deal monitoring - surface coupons, limited-time deals, and discount percentages
FAQ
Which marketplaces are supported? 21 country domains: amazon.com, amazon.ca, amazon.com.mx, amazon.com.br, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.com.be, amazon.se, amazon.pl, amazon.com.tr, amazon.ae, amazon.sa, amazon.eg, amazon.in, amazon.co.jp, amazon.com.au, and amazon.sg.
Do I need cookies or an API key? No. Everything the actor returns comes from public Amazon pages. There is no login step and no credential input.
Do I need to set up a proxy?
No. The actor chooses a working connection automatically and only escalates when Amazon blocks a request. You can leave proxyConfiguration at its default.
Why does the displayed price differ from the local shelf price?
Amazon converts display currency when you request a different currency from the marketplace. The record always carries currency and locationText so you can see which currency and delivery location were used. For exact local retail pricing, keep currency on auto and set a local postalCode.
Can I get Prime eligibility?
No. The 2026 Amazon page exposes only promotional or hidden Prime icons, not a reliable per-item eligibility signal. primeOnly applies Amazon's own search filter, but no Prime field is emitted.
Can I get full reviews or per-variant prices? No. Full review pages require a login, so only the inline public snippets are returned. Variants expose parent and child ASINs plus dimensions, but the product page does not carry per-variant prices or stock.
Why is a field missing from a record?
Empty values are omitted. Fields such as coupon, dealBadge, aplusText, videos, topReviews, and specifications only appear when that product or marketplace actually renders them.
What happens to a bad ASIN or a blocked page?
With includeFailed on, the actor emits an error row with a reason code and continues with the rest of the batch. A 404, a WAF challenge, and an out-of-stock product are reported as different reasons.
Does the brand filter use Amazon's brand facets?
No. brand is added to the keyword text and used as a title/brand post-filter. It is not a structured Amazon brand-ID resolver; use searchUrls when you already have a facet URL.
Can I scrape category browse pages?
Not directly. Category /b?node= pages do not expose product cards reliably. Use a keyword search URL with the category parameter (/s?k=...&i=...) or a bestseller list URL instead.
Why are some commercial fields only best effort? Coupons, deal badges, bought-past-month, A+ text, videos, and top-review snippets are rendered only for some products, marketplaces, or session variants. When Amazon does not render one, the field is omitted rather than guessed.
Is this affiliated with Amazon? No. This is a third-party actor that reads publicly available Amazon pages. It is not affiliated with, endorsed by, or sponsored by Amazon.
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.
Source build 0Bfb9bnO1sEJObmDM. Documentation is regenerated from the default published build; private drafts are not included.