Amazon Scraper AIO | Products, Best Sellers, Prices & BSR avatar

Amazon Scraper AIO | Products, Best Sellers, Prices & BSR

Pricing

from $1.40 / 1,000 search results

Go to Apify Store
Amazon Scraper AIO | Products, Best Sellers, Prices & BSR

Amazon Scraper AIO | Products, Best Sellers, Prices & BSR

All-in-one Amazon scraper: keyword/URL search, full product pages (price, Best Sellers Rank, star breakdown, bullets, images, variants, seller) and the public Best Sellers & New Releases rankings. Filter by price, rating, reviews, Prime. 18 marketplaces. From $2 per 1,000 results.

Pricing

from $1.40 / 1,000 search results

Rating

0.0

(0)

Developer

Mr Zack

Mr Zack

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

7

Monthly active users

11 hours ago

Last modified

Share

Search Amazon by keyword or paste any Amazon search/category URL and get every product card as clean JSON — ASIN, title, price, list price, discount, rating, review count, "bought in past month", Best Seller / Amazon's Choice badges, sponsored flag, Prime, coupon, image. Add ASINs (or product URLs) to pull full product pages: brand, availability, Best Sellers Rank (all categories), bullet points, description, high-res images, variants, seller / ships-from, specs, dimensions, weight.

Works on 18 marketplaces (amazon.com, .co.uk, .de, .ca, .fr, .it, .es, .com.au, .in, .co.jp, …). Prices are always returned in the marketplace's own currency. No browser, no proxies to configure — fast and cheap.

Who uses this

  • Sellers & brands — track competitor prices, BSR, review velocity and "bought last month" for a keyword or ASIN list.
  • Product researchers — validate a niche in one run: median price, avg rating, sponsored share, total monthly demand (free market-summary row per keyword).
  • Repricers / price-monitoring — schedule ASIN lists hourly, feed the dataset into Sheets or your DB.
  • Affiliate & content sites — refresh price, rating, image and availability for the products you list.
  • Analysts / data teams — structured Amazon data without maintaining selectors.

Input

FieldDescription
keywordsSearch queries, one per line ("air fryer").
searchUrlsFull Amazon search/category URLs with filters (price, brand, Prime, rating).
asinsASINs or /dp/ URLs → full product detail rows.
domainMarketplace (default amazon.com).
maxResultsPerQueryCards per keyword/URL (default 48, max 700; Amazon shows ≈22–60 per page).
includeSponsoredKeep sponsored cards (flagged sponsored: true). Default on.
enrichDetailsAlso fetch the full product page for every search result.
category, sortDepartment alias (electronics, kitchen, …) and sort (price, reviews, newest, best sellers).
priceMin / priceMaxNew in 0.0.3. Price band in the marketplace currency (Amazon low-price / high-price; also applied to pasted URLs).
minRating / minReviewsNew in 0.0.3. Keep only cards rated ≥ X / with ≥ N ratings — dropped cards are never charged.
primeOnlyNew in 0.0.3. Prime-eligible cards only (rh=p_85 on amazon.com + badge check on every marketplace).
proxyConfigurationNew in 0.0.4. Optional. Empty = built-in fallback chain (direct → Apify datacenter proxy → residential relay). Point it at your own residential proxy for the highest success rate on large runs.
includeMarketSummaryFree aggregate row per keyword (default on).
{ "keywords": ["standing desk"], "maxResultsPerQuery": 100, "includeSponsored": false,
"asins": ["B0C33CHG99", "https://www.amazon.com/dp/B0CSZ7WBYW"], "domain": "amazon.com" }

Output

search-result row (one per card):

{ "type": "search-result", "position": 3, "page": 1, "asin": "B0HBWW3958", "title": "Wireless Earbuds, Bluetooth 5.3 …",
"url": "https://www.amazon.com/dp/B0HBWW3958", "price": 19.97, "currency": "USD", "listPrice": 249.99, "discountPct": 92,
"rating": 4.8, "reviewCount": 305, "boughtLastMonth": 7000, "sponsored": false, "isBestSeller": false, "isAmazonsChoice": true,
"badges": ["Overall Pick"], "coupon": null, "isPrime": true, "otherVariants": 5, "usedNewOffers": null,
"image": "https://m.media-amazon.com/images/I/61D5ZCSIymL.jpg", "query": "wireless earbuds", "domain": "amazon.com" }

product row (one per ASIN):

{ "type": "product", "asin": "B0C33CHG99", "title": "Cosori TurboBlaze Air Fryer, 9-in-1, 6 Qt …", "brand": "Cosori",
"price": 89.99, "currency": "USD", "listPrice": 119.99, "discountPct": 25, "availability": "In Stock", "inStock": true,
"rating": 4.8, "reviewCount": 21639, "boughtLastMonth": 30000,
"bestSellersRank": 23, "bestSellersRankCategory": "Kitchen & Dining",
"bestSellersRanks": [{ "rank": 23, "category": "Kitchen & Dining" }, { "rank": 1, "category": "Air Fryers" }],
"breadcrumbs": ["Home & Kitchen", "Kitchen & Dining", "Small Appliances", "Fryers", "Air Fryers"],
"bullets": ["…"], "description": "…", "images": ["https://m.media-amazon.com/images/I/81R9sA3IyBL._AC_SL1500_.jpg", "…"],
"variants": [{ "asin": "B0C33CHG99", "name": "Gray / Air fryer", "isCurrent": true }], "variationDimensions": { "color_name": ["Cream", "Gray", "…"] },
"soldBy": "Amazon", "shipsFrom": "Amazon", "isFba": true, "otherSellersCount": null,
"specs": { "Brand": "COSORI", "Capacity": "6 Quarts", "Item Weight": "13.2 pounds", "…": "…" },
"manufacturer": "Cosori", "itemModelNumber": "CAF-DC601", "productDimensions": "14.4\"D x 11.8\"W x 11.9\"H" }

market-summary row (free, per keyword): listings, organic, sponsored, sponsoredSharePct, priceMin, priceMedian, priceMax, avgRating, medianReviews, totalBoughtLastMonth, bestSellers[], amazonsChoice[].

Failed ASINs / blocked searches are pushed as type: "failed" rows and are never charged.

Pricing (pay per event)

EventPrice
Search result row$0.002
Product detail row$0.004
Actor start$0.001

1,000 search results ≈ $2. 1,000 full product pages ≈ $4. Market-summary, failed and duplicate rows are free.

Notes

  • Amazon rotates layouts and A/B tests constantly; if a field comes back null on a page where you can see it, open an issue with the ASIN and it gets fixed fast.
  • boughtLastMonth is Amazon's lower bound ("30K+" → 30000).
  • Sponsored cards keep the ad click URL in sponsoredLink; url is always the canonical /dp/ASIN.
  • Best Sellers lists, reviews and seller storefronts are separate use cases — this actor is search + product detail.

Changelog

  • 0.1.16 (2 Oct 2026) — Search rows only carry brand when Amazon actually prints a brand line on the card (clothing, shoes, accessories), so electronics/home searches no longer show an always-empty brand column. With enrichDetails, every product row still has brand from the product page. No price, default or other field changed.

  • 0.1.15 (1 Oct 2026) — Correct titles for clothing & fashion searches, plus a brand column on search rows. On apparel/shoes/accessories results Amazon prints the brand on its own line above the product name, and the Actor was reading that line as the title (e.g. title: "Columbia" instead of "Women's Switchback IV Jacket") — about 8 in 10 cards on a typical clothing search. Search rows now carry the real product title and the brand in the new brand field (null when Amazon does not show one). Clearer 0-row runs: when Amazon itself has no results for a keyword or search URL, or served only sponsored ads while "Include sponsored" is off, the run header now says so (and that only the start fee was charged) instead of a generic success line. No price change, no field removed.

  • 0.1.14 (26 Sep 2026) — Faster variant pricing by default. maxVariantsPerProduct now defaults to 3 (was 5): with variantPrices on, a 48-product run fetched up to 288 pages and could take 13–14 minutes; it now fetches at most 192 and finishes in a few minutes, and you pay for fewer variant rows you may not need. Want every variant? Set maxVariantsPerProduct up to 20 — runs that already set it are unaffected. No price change, no field removed.

  • 0.1.13 (25 Sep 2026) — Waits out Amazon's short block waves. When the first search page is refused on every route (Amazon sometimes answers 503 to datacenter and residential connections alike for a few minutes), the Actor now pauses 45 / 90 / 150 s and retries before giving up, within the run timeout, and tries more proxy sessions for that first page. Fewer failed runs, same data and prices.

  • 0.1.12 (25 Sep 2026) — Honest stock flag. When Amazon hides the offer box for a page ("See all buying options"), inStock is now null (unknown) instead of false, and variant rows without a price carry a priceNote explaining why; "Currently unavailable" now reads inStock: false (it used to match the words "back in stock"). Previously ~40 % of variant rows in a wall-heavy run showed in-stock products as out of stock. No price change.

  • 0.1.11 (24 Sep 2026) — Reliability: If a run gets close to its timeout, the Actor now stops early and finishes normally, keeping and delivering every row it already collected instead of being cut off. Cool-down waits are skipped when time is short. No price or field change.

  • 0.1.10 (24 Sep 2026) — Faster during bot-wall waves. When Amazon keeps refusing the direct connection, the Actor now stops knocking on that door for a while and goes straight to the proxy / residential route, re-checking the direct route periodically. Same data, same prices; long runs during a wave (10+ min for 48 products) should drop back to a few minutes.

  • 0.1.9 (22 Sep 2026) — Plainer wording when Amazon's bot wall hits: the run now simply says nothing was charged and to run it again in a few minutes.

  • 0.1.8 (22 Sep 2026) — The run's status message now summarises what you actually got (48 product pages + 48 search rows. Price on 48/48 products.) instead of staying silent. The residential fallback also retries once when the connection itself drops, instead of losing that route for the rest of the run.

  • 0.1.7 (22 Sep 2026) — Price on every product row + clean seller names. When Amazon soft-blocks a datacenter IP it still serves the product page but hides the buybox ("See all buying options": no price, no delivery date, no rating histogram) — in our audit 31 of 35 directly fetched 3rd-party listings came back that way while every proxied page was complete. Such pages are now re-fetched once through proxy/relay, and if the buybox is still hidden the row takes the price the search card showed (priceSource: "search-card", otherwise "product-page"). Also fixed: soldBy / shipsFrom were concatenated twice or per offer ("XmenhaXmenha") because Amazon renders the buybox more than once — first buybox only, repeats collapsed.

  • 0.1.6 (22 Sep 2026) — Fewer runs lost to Amazon's bot-wall bursts. Each pass now tries 3 rotating proxy sessions (was 2), and the 30 s cool-down really retries up to twice (a bug made the second breather a no-op). The residential fallback is probed 3× at start and once more when first needed, so a single DNS blip no longer disables it for the whole run — 4 of our last 10 runs had lost it that way and took ~8 min instead of ~1. The failure message now counts relay attempts correctly.

  • 0.1.5 (19 Sep 2026) — Typo guard on input. Apify accepts input fields an Actor does not know without complaining, so a misspelled option (e.g. maxItem instead of maxItems) used to produce a successful run with the setting silently inactive. The run log now warns for every unknown field and suggests the closest real one.

  • 0.1.4 (19 Sep 2026) — Duplicate products are no longer charged. Amazon reshuffles its result pages, so the same ASIN could come back on page 2 and page 3; those duplicate cards were pushed to the dataset and billed (8.3 % of a 48-row run in our audit — you paid for 48 rows and got 44 distinct products). Duplicates are now skipped for free and the Actor keeps paging until your maxResultsPerQuery is filled with unique products. dateFirstAvailable is documented as category-dependent (Amazon omits it in many categories, e.g. Home & Kitchen).

  • 0.1.3 (18 Sep 2026) — Fix: Best Sellers-only runs crashed on start. Also: an ASIN-only run whose product pages all lacked a product layout (e.g. a subscription plan page) was reported as "bot wall" and FAILED even though Amazon had answered — it now succeeds with free failed rows and a clear status message. A run with bestSellersCategories / bestSellersUrls and no keywords, search URLs or ASINs failed immediately with a ReferenceError (a demo-input check ran before the Best Sellers options were read). Introduced in 0.1.2, caught within a day from the Store failure count. Runs that also had a keyword were unaffected; nothing was charged on the failed runs beyond the start fee. Output and pricing unchanged.

  • 0.1.2 (16 Sep 2026) — Fix: enrichDetails runs died of out-of-memory (512 MB after ~10 products, 1 GB with variantPrices after 3) because cheerio built a 40–50 MB DOM per 3 MB product page. Scripts/styles are now stripped before parsing: ~2× less memory, 2× faster per product, and specs no longer carries stray JavaScript ("Customer Reviews", "Special Feature"). V8 heap is now capped at 70 % of the run memory so garbage is collected before the container limit (the process was killed at exactly 512 MB with ~60 MB of live data). When Amazon's bot wall blocks every route, the run now waits 30 s and tries once more (max twice per run) before failing fast — most walls are burst limits. Product pages that Amazon walls on every route are parked and retried once after the queue (25 s breather) instead of being written off. Output otherwise identical. Also: isPrime on search rows is now read from the cleaned delivery text (14/16 cards Prime-eligible vs 7 before — the HTML regex missed the line because Amazon splits it across spans).

  • 0.1.1 (14 Sep 2026) — Fix: delivery on search rows carried Amazon's injected CSS/JS (Prime upsell block) in ~90 % of cards; now clean text (FREE delivery Fri, Sep 18 · Or fastest delivery Thu, Sep 17). isPrime now also true when Amazon shows the "Join Prime to get FREE delivery" line (Prime-eligible item), so primeOnly works from datacenter IPs again.

  • 0.0.7 (11 Sep 2026) — Honest note: Amazon serves sponsored placements and Prime badges only to browser sessions, so from Apify's infrastructure sponsored is usually false and isPrime is unreliable; primeOnly uses Amazon's server-side filter and works. New developer input __debugHtml stores the first search page for drift forensics.

  • 0.0.6 (11 Sep 2026) — Fix: primeOnly returned 0 rows (Amazon no longer renders the Prime badge for sessionless requests; the server-side Prime filter on amazon.com is now trusted). Fix: false FAILED — a run whose filters removed every card was reported as "bot wall blocked"; it now succeeds with 0 rows and a clear hint. Broader Prime badge detection (data-testid="prime-badge").

  • 0.1.0 (9 Sep 2026) — All-in-one: Best Sellers, New Releases and star breakdown. New bestSellersCategories / bestSellersUrls (+ bestSellersList, bestSellersPages) read Amazon's public Best Sellers and New Releases rankings — rank, ASIN, title, price, rating, review count and image, deduplicated, in the same run as your keyword search. Every product row now also carries ratingBreakdown (star5…star1 percentages) at no extra request or charge. Honest limits: Amazon server-renders about 30 ranked items per page (the rest of each 50 is JavaScript-loaded, so an HTTP scraper cannot see it), and Movers & Shakers pages are not supported. Nothing was removed or renamed, and the price did not change.

  • 0.0.9 (9 Sep 2026) — Big runs no longer die. A run with "fetch full product page" over a whole search page used to fail with an out-of-memory crash after the rows had already been delivered and charged. Fixed at the root: product rows are now flattened before they are stored (Amazon product pages are ~3 MB and V8 kept the whole page alive through every extracted field), concurrency adapts to the memory the run has, and the Actor's default memory is now 2 GB. Verified: the exact run that used to crash now finishes with 123 results, peaking at 1 GB of 2 GB.

  • 0.0.6 (9 Sep 2026) — Field yang selama ini diam-diam kosong sekarang terisi. Amazon menyimpan blok <style> di dalam kontainer konten (A+ description, badge kupon, widget penjual), jadi ekstraksi teks polos ikut memanen CSS. Akibatnya: description hampir selalu kosong, coupon kadang berisi potongan CSS, otherSellersCount sering null, dan videoCount selalu null karena markup "videoCount" sudah tidak ada di halaman Amazon. Semuanya diperbaiki: description sekarang jatuh ke konten A+ / deskripsi buku (dengan descriptionSource baru yang menyebut asalnya), videoCount dihitung dari thumbnail video (+ hasVideo baru), coupon dan otherSellersCount dibersihkan dari CSS. Tidak ada field lama yang dihapus atau berubah arti, dan tidak ada perubahan harga. Coverage terukur pada 34 produk live: description 5% → 88%, videoCount 0% → 71%, otherSellersCount 23% → 47%, kebocoran CSS 0.

  • 0.0.4 (8 Sep 2026) — reliability: every request now escalates direct ×2 (fresh browser fingerprint) → proxy ×2 sessions (your proxyConfiguration, or Apify datacenter) → residential relay instead of failing on Amazon's bot wall; parser and billing errors can no longer abort a run that already has data; run summary reports directRetries, proxyUsed, proxyBlocked.

  • 0.0.3 (8 Sep 2026) — price band (priceMin/priceMax), quality filters minRating/minReviews, primeOnly; filtered cards are never charged (filteredOut in the SUMMARY record). No existing field changed.

  • 0.0.2 (7 Sep 2026) — launch: keyword search + ASIN details, BSR, sponsored flag, market summary, residential fallback.

Found this useful? A review helps more than you'd think

If this Actor saved you time, a short review on the Reviews tab of this Store page takes 30 seconds and is the only signal other buyers have before they spend anything. If something is broken instead, open a ticket on the Issues tab — parser bugs and field requests get fixed.

Related Actors from the same account