Amazon Scraper (Pay-Per-Event) avatar

Amazon Scraper (Pay-Per-Event)

Pricing

Pay per event

Go to Apify Store
Amazon Scraper (Pay-Per-Event)

Amazon Scraper (Pay-Per-Event)

Pay-per-event Amazon search scraper — a cheaper, better drop-in for automation-lab/amazon-scraper. Returns price, discount %, rating, reviews, availability, seller, bestseller rank, Prime, brand, image & URL across 11 marketplaces. Keyword or URL input, sortable.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Arnas

Arnas

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Scrape Amazon search results — prices, list prices, discounts, ratings, reviews, availability, seller, bestseller rank, Prime badge, sponsored flags, brand, image, and direct product URLs — across 11 marketplaces. A cheaper, more capable drop-in for automation-lab/amazon-scraper.

What does Amazon Scraper do?

Amazon Scraper extracts product data from Amazon search results. For every keyword (or search URL) you provide, it returns one structured record per unique product — current price, list/original price, discount percent, rating, review count, availability, seller, bestseller rank, Prime badge, sponsored flag, brand, image, and the direct product URL.

Use it for price monitoring, competitive intelligence, dropshipping research, market analysis, and deal tracking — without managing proxies, captcha gates, or HTML drift yourself.

Run it once on demand or schedule it to track price changes over time. Results download as JSON, CSV, or Excel, or stream live via the Apify API.

Why use Amazon Scraper?

  • Cheaper than the reference. Pay-per-event at $0.001/run + $0.003/product — about 25% cheaper than automation-lab/amazon-scraper's $0.004/product (Free tier), and the gap holds at scale.
  • Keyword OR URL input. The reference is keyword-only. This actor accepts plain keywords and Amazon search/category URLs — paste a URL straight out of the browser if you prefer.
  • 11 marketplaces. US, UK, DE, FR, ES, IT, CA, JP, IN, AU, MX — one more than the reference, picked from a dropdown rather than memorizing TLDs.
  • Sortable. Order results by relevance, price (low→high / high→low), average customer review, or newest arrivals — matching the reference's sort options.
  • Run-level deduplication. Duplicate ASINs that appear across overlapping keyword searches or sponsored-then-organic placements are written once and billed once, not twice.
  • Numeric prices + computed discount. price and listPriceValue are returned as numbers (ready for math, including European decimal-comma formats like 1.299,00 €), and we compute discountPercent and onSale for you so you can sort by deepest discount directly.
  • Marketplace-aware currency. USD, GBP, EUR, CAD, JPY, INR, AUD, MXN populated automatically per row.
  • Residential proxy by default. Amazon's WAF blocks datacenter IPs within minutes — RESIDENTIAL is the default and captcha-style responses trigger automatic session rotation.
  • Pay-per-event pricing. No monthly subscription. Only pay for unique products written to the dataset.

What data can you extract?

Each product in the output includes:

FieldDescription
asinAmazon Standard Identification Number (stable across pages — used for deduplication)
titleProduct title
urlCanonical /dp/<ASIN> product URL on the marketplace
priceCurrent price as a number (in the marketplace's local currency)
priceStringRaw price string as shown on the page (e.g., "$19.99", "1.299,00 €")
listPriceList/strike-through price as a string
listPriceValueList price as a number — easier to math against
discountPercentComputed discount percentage (1 decimal place)
onSaleWhether the product has a list price > current price
currencyISO 4217 currency code (USD, GBP, EUR, CAD, JPY, INR, AUD, MXN)
ratingAverage rating (0–5)
reviewCountNumber of customer reviews
availabilityStock status when shown on the card (e.g., "In Stock", "Only 3 left in stock"). Best-effort; null when not surfaced.
sellerNameSeller when a "Sold by" fragment is present on the card. Best-effort; usually null on search pages (lives on the PDP).
bestsellerRankBestseller rank when a "Best Seller" badge (#1) or "#N in Category" text appears. Best-effort; null otherwise.
thumbnailProduct image URL
isPrimeWhether the listing carries a Prime badge
isSponsoredWhether the listing is a sponsored placement
brandProduct brand. Best-effort: inferred from the first token of the title against a generic-word denylist. null when uncertain. Follow url to the PDP for canonical brand data.
marketplaceMarketplace enum (US, UK, DE, …)
pageNumberWhich search result page this product appeared on
searchQueryWhich keyword surfaced this product. null when the seed was a startUrl.
scrapedAtISO 8601 timestamp when the record was extracted

Output example

{
"asin": "B09JQMJHXY",
"title": "Sony WH-1000XM5 Wireless Industry Leading Noise Canceling Headphones",
"url": "https://www.amazon.com/dp/B09JQMJHXY",
"price": 298.00,
"priceString": "$298.00",
"listPrice": "$399.99",
"listPriceValue": 399.99,
"discountPercent": 25.5,
"onSale": true,
"currency": "USD",
"rating": 4.6,
"reviewCount": 18421,
"availability": "In Stock",
"sellerName": null,
"bestsellerRank": 1,
"thumbnail": "https://m.media-amazon.com/images/I/.....jpg",
"isPrime": true,
"isSponsored": false,
"brand": "Sony",
"marketplace": "US",
"pageNumber": 1,
"searchQuery": "wireless headphones",
"scrapedAt": "2026-06-02T13:40:32.821Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

How to use Amazon Scraper

  1. Click Try for free on this page.
  2. Enter one or more keywords in Search keywords (e.g., wireless earbuds, laptop stand). Or paste Amazon search URLs into Start URLs.
  3. Pick the Marketplace (defaults to US) and optionally a Sort order.
  4. Optionally adjust Max products per search and Max search pages.
  5. Click Start. Results stream to the Output tab as they are scraped.

Input parameters

ParameterTypeDefaultDescription
searchQueriesstring[]Keywords to search on Amazon. One search per keyword.
startUrlsobject[]Amazon search/category URLs. Marketplace inferred from URL host.
marketplaceenumUSOne of US, UK, DE, FR, ES, IT, CA, JP, IN, AU, MX. Applies to keyword seeds.
sortenumrelevancerelevance, price_low, price_high, avg_rating, newest. Applies to keyword seeds; URL seeds keep their own ordering.
maxProductsPerSearchinteger100Max unique products per seed (1–1000).
maxSearchPagesinteger5Max result pages per seed (1–20 accepted for drop-in compatibility; fetching is internally capped at ~7, where Amazon stops returning distinct results).
maxRequestRetriesinteger5Retries on 429 / 503 / captcha (1–10).
proxyConfigurationobjectRESIDENTIALApify proxy. Datacenter IPs are blocked within minutes — keep RESIDENTIAL.

Provide at least one of searchQueries or startUrls.

How much does it cost to scrape Amazon?

Pay-per-event:

  • Actor start: $0.001 per run.
  • Product scraped: $0.003 per unique product written to the dataset (deduplicated by ASIN across the run).

Example: 1,000 products = $0.001 + (1,000 × $0.003) = $3.001. Compare against automation-lab/amazon-scraper's $0.004/product (Free tier) → $4.001 for the same 1,000 products. This actor is ~25% cheaper, with no monthly subscription required.

Tips and advanced options

  • Stick to RESIDENTIAL. Amazon blocks datacenter IPs almost immediately. The default configuration is correct.
  • Use broader keywords than narrow ones to maximize page coverage. Amazon caps keyword search at ~7 pages — a narrow query may saturate at page 3.
  • For deeper category coverage, paste paginated category URLs into startUrls (each URL is fetched as page 1 and not paginated further; you control depth by supplying multiple URLs).
  • Mix marketplaces in one run by combining startUrls from different Amazon domains. Each URL infers its own marketplace.
  • Cost ceiling. Set a maxItems cap in the Apify Console run settings to bound charges. The actor honors eventChargeLimitReached and stops cleanly when the cap is reached.
  • Schedule it with Apify Schedules to build a daily price-history dataset by keyword.

Legality and ToS disclaimer

This actor scrapes publicly accessible search-results data from Amazon. Web scraping is legal in most jurisdictions when applied to public data, but you are responsible for ensuring your use complies with Amazon's Terms of Service, applicable laws, and any contractual obligations you have. Do not scrape personal or sensitive data. For commercial use cases, consult legal counsel.

FAQ

Does this scraper require an Amazon API key or login? No — it operates on publicly accessible search-results HTML.

Does it scrape full product detail pages (PDPs)? Not in v0.1. This actor extracts the fields visible on the search results page. PDP scraping (feature bullets, variant matrix, A+ content, full seller breakdown) is on the roadmap.

Why are availability, sellerName, or bestsellerRank sometimes null? Amazon's search-results HTML exposes these only sporadically — availability and bestseller badges appear on some cards, and seller name almost always lives on the PDP rather than the search card. We parse them when confidently present and return null otherwise rather than guessing. Follow url to the PDP for canonical values.

Why is brand sometimes null? Amazon's main-frame search HTML rarely exposes a structured brand field. We infer it from the title's first token against a generic-word denylist; when neither the title nor a card attribute is confident, we return null. Follow url to the PDP for canonical brand data.

Why does priceString sometimes show a different currency than currency? The currency field is derived from the marketplace you select (US → USD). The priceString preserves Amazon's raw, as-served value. When the residential proxy happens to exit in a different country, Amazon localizes the displayed prices to that country, so priceString may read e.g. "MXN 44.76" on a US run. The numeric price matches priceString. To force a single consistent currency, pin the proxy to the marketplace's country via proxyConfiguration.apifyProxyCountry (e.g., "US") — note this narrows the IP pool and can slightly raise block rates.

Can I run this against amazon.cn or amazon.com.br? Not in v0.1. The supported marketplaces are US, UK, DE, FR, ES, IT, CA, JP, IN, AU, MX. Open an Issue with your use case and we can prioritize.

Why does my run produce fewer products than maxProductsPerSearch? Two reasons: (1) Amazon caps keyword search at ~7 pages, so very specific keywords may saturate before reaching the cap. (2) Some sponsored placements duplicate organic ASINs; run-level dedup writes each ASIN once.

Support

Have a feature request or hitting an issue? Open a ticket on the actor's Issues tab. We respond quickly and treat early-adopter feedback as design input.