Amazon Product Scraper: Search, Details, Best Sellers & Prices
Pricing
from $1.00 / 1,000 search or chart results
Amazon Product Scraper: Search, Details, Best Sellers & Prices
Amazon search results, product details and Best Sellers from 11 marketplaces (US, UK, DE, FR, IT, ES, CA, IN, JP, AU, MX) in one schema: price, list price, rating, BSR, seller, stock, images, variations. Local delivery address and currency. $1 per 1,000 results, $2 per 1,000 product pages.
Pricing
from $1.00 / 1,000 search or chart results
Rating
0.0
(0)
Developer
Naveen Raja
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
Get Amazon search results, full product details and Best Sellers charts from 11 Amazon marketplaces in one clean JSON schema: price, list price and discount, rating and number of ratings, "bought in past month", Best Seller / Amazon's Choice badges, buy-box seller, stock, images, bullet points, description, Best Sellers rank, specifications and variations. Type search terms, paste ASINs or any Amazon URL, pick a marketplace, and get one flat row per product. Prices come in the marketplace's own currency for a local delivery address. Pay per row, no usage fees; blocked pages cost nothing.
| What you pay for | Price |
|---|---|
listing: one search result or chart entry (the fields on the result card) | $0.001 ($1 per 1,000) |
product: one product with every detail field (read from its product page) | $0.002 ($2 per 1,000) |
| Actor start (standard Apify event, per run) | $0.00005 |
| Example | Rows | Cost |
|---|---|---|
| 1 search term, 50 results | 50 listings | $0.05 |
| 100 ASINs with full details | 100 products | $0.20 |
| Top 100 Best Sellers in 5 categories | 500 listings | $0.50 |
| The same with full details for every product | 500 products | $1.00 |
| Price monitoring: 1,000 ASINs a day for a month | 30,000 products | $60 |
| Our larger test run: 3 search terms x 100 results with full details | 300 products | $0.60 |
Apify platform costs and the proxy are included. Products that don't exist, invalid inputs, blocked pages and the run summary are free. Set Maximum cost per run (or maxTotalChargeUsd in the API) and the Actor stops cleanly at that amount: it reserves the budget for a result page's rows before reading it and for every product page before fetching it, so it stops reading pages once the limit is reached.
What you get
- 11 marketplaces, one schema: amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .in, .co.jp, .com.au and .com.mx. Every field means the same everywhere; texts are in the marketplace's language, prices in its currency (USD, GBP, EUR, CAD, INR, JPY, AUD, MXN).
- Search results like a shopper typing into the search box: as many as Amazon lists (it shows about 7 result pages, so roughly 100-400 per term), read page by page, with
position,organicPosition(ads not counted),pageand asponsoredflag. Sort like Amazon (featured, price up / down, average review, newest, best sellers) and filter by price. Or paste a search URL with any filters you set in your browser. - Product details from the product page: title, brand, price (new, buy box), list / "was" price and discount, Prime member price (where Amazon shows one), rating, number of ratings, "bought in past month", availability text and in-stock flag, Best Seller / Amazon's Choice / deal badges, buy-box seller (store name and seller ID), ships from Amazon, all images in the largest size, category breadcrumb, Best Sellers rank in every category, "About this item" bullets, description, specifications (product details table), parent ASIN and variations (dimensions, every child ASIN with its colour / size).
- Best Sellers, New Releases, Movers & Shakers, Most Wished For and Gift Ideas: the full top 100 of any category with
chartRank, price, rating and image. Paste the chart URL or type the category (electronics,books...). - Full details for search and chart results with one switch (
includeDetails): every result is completed from its product page and charged as a product row. - Local prices and stock: Amazon shows a visitor from abroad foreign currencies and "cannot be delivered to your location". The Actor sets each marketplace's currency and, with the same "Deliver to" form a shopper uses, a central delivery postcode (e.g. 10115 Berlin, EC1A 1BB London, 100-0001 Tokyo, 2000 Sydney), or your own postcode. On amazon.com, .ca, .com.mx and .in, Amazon itself gives a visitor from abroad a domestic location (e.g. Balzac T4B 2T3, Mexico City 11000, Mumbai 400001), which is kept unless you enter a postcode.
deliveryLocationshows it on every row read from a product page. - Reliable and fast: requests go out directly from Apify. Every new session first opens one Amazon page (the help page, which Amazon's robots.txt allows) to get Amazon's own cookies, like a visitor arriving on the site. On amazon.com and amazon.in, a marketplace that blocks direct requests switches to Apify Proxy (US IP addresses, a sticky session per worker), and back if the proxy does worse. Rate-limit and error pages (503, empty pages) are retried with a fresh session; a CAPTCHA, "continue shopping" bot check, JavaScript-challenge or 403 "forbidden" page is retried only once, from another session, and otherwise reported as
blocked. Not-found ASINs are checked a second time before they are reported. Blocked, failed and not-found inputs cost nothing and never stop the other inputs. If Apify moves a run to another server, it continues where it stopped without returning or charging any row twice. - No personal data: no reviews or reviewer names. Phone numbers, emails and postal addresses are removed, where recognisable, from titles, bullet points, descriptions and specifications (phone numbers are found with Google's libphonenumber for the marketplace's country; manufacturer, packer and importer fields keep only the company name). The seller is the store name Amazon shows in the buy box.
- Built for automation: pay-per-event pricing without usage fees, limited permissions, a stable schema, a machine-readable
SUMMARYrecord per run (rows, errors, blocked pages, response times) and clear per-input errors instead of failed runs.
Use cases
- Price monitoring and repricing: schedule your ASINs (or a competitor's) daily and track price, list price, discount, buy-box seller and stock in every marketplace.
- Product and market research: pull the top 100 Best Sellers or New Releases of a category, with ratings, ratings counts, "bought in past month" and Best Sellers ranks, to size demand and find gaps.
- Keyword and ad research (Amazon SEO / PPC): see which products rank organically and which are sponsored for your keywords, position by position. Turn off "Return each product once per run" to track every position for every keyword.
- Catalogue and listing audits: check titles, bullets, images, variations and specifications of your listings across 11 countries.
- Dropshipping and arbitrage: compare the same ASIN's price and availability on amazon.com, .co.uk, .de, .co.jp...
How to use
- Search terms: one per line, e.g.
wireless earbuds. Set Max results per search term (each results page has 16-60 products). - Products: ASINs (
B0BTYCRJSS) or product URLs from any of the 11 marketplaces (https://www.amazon.de/dp/B0BTYCRJSS). URLs use their own marketplace; plain ASINs use the selected one. - Best Sellers / New Releases: chart URLs (
https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics) or category names from those URLs (electronics,books,ce-deon amazon.de). - Choose the Marketplace, optionally a sort order, a price range and Full product details for search and chart results.
- Run it and download the results as JSON, CSV or Excel, or read them via API. The dataset has the views Products, Search results, Best Sellers & charts, Product details and All fields.
Input example
The prefilled input (10 search results from amazon.com and 1 product from amazon.co.uk with full details, about 6-20 seconds depending on how much Amazon blocks, $0.012):
{"searchTerms": ["wireless earbuds"],"productUrls": ["https://www.amazon.co.uk/dp/B0FQF32239"],"marketplace": "US","maxResultsPerSearch": 10}
Price research in Germany, with full details for every result:
{"searchTerms": ["bluetooth kopfhörer"],"marketplace": "DE","maxResultsPerSearch": 60,"sort": "best-sellers","minPrice": 20,"maxPrice": 100,"includeDetails": true}
Best Sellers in three countries: "bestSellerUrls": ["https://www.amazon.com/gp/bestsellers/kitchen", "https://www.amazon.co.uk/gp/bestsellers/kitchen", "https://www.amazon.de/gp/new-releases/kitchen"], "maxItemsPerChart": 100.
Output example
A product row from a real run on 18 Oct 2026 (rank 1 of the US Kitchen & Dining Best Sellers with full details; long texts and lists shortened):
{"asin": "B0BZYCJK89","marketplace": "amazon.com","country": "US","url": "https://www.amazon.com/dp/B0BZYCJK89","title": "Owala FreeSip Stainless Steel Water Bottle 24 oz Denim","brand": "Owala","price": 29.99,"listPrice": null,"currency": "USD","discountPct": null,"priceText": "$29.99","rating": 4.6,"ratingCount": 141996,"availability": "In Stock","inStock": true,"isPrime": true,"badges": ["Amazon's Choice"],"boughtPastMonth": 20000,"seller": "Amazon.com","sellerId": "ATVPDKIKX0DER","fulfilledByAmazon": true,"thumbnail": "https://m.media-amazon.com/images/I/61Gvw0-b0eL._AC_SL1500_.jpg","images": ["https://m.media-amazon.com/images/I/61Gvw0-b0eL._AC_SL1500_.jpg", "..."],"categories": ["Home & Kitchen", "Kitchen & Dining", "Storage & Organization", "Thermoses", "Insulated Beverage Containers", "Thermoses"],"bestSellersRank": [{"rank": 1, "category": "Kitchen & Dining", "url": "https://www.amazon.com/gp/bestsellers/kitchen"},{"rank": 1, "category": "Travel & To-Go Drinkware", "url": "https://www.amazon.com/gp/bestsellers/home-garden/9630569011"},{"rank": 1, "category": "Insulated Bottles", "url": "https://www.amazon.com/gp/bestsellers/kitchen/13880501"}],"features": ["24-ounce insulated stainless-steel water bottle with a FreeSip spout and push-button lid with lock", "..."],"description": "The Owala FreeSip Insulated Stainless-Steel Water Bottle with Locking Push-Button Lid easily tackles every thirst. ...","specifications": {"Brand": "Owala", "Material": "Stainless Steel", "Bottle Type": "Sports Bottle", "Color": "Denim", "Capacity": "24 fluid ounces"},"parentAsin": "B0FLKGX4B7","variations": {"dimensions": ["Color", "Size"],"count": 118,"selected": {"Color": "Denim", "Size": "24 Ounces"},"items": [{"asin": "B0FM9LXK4K", "values": {"Color": "Down to Earth", "Size": "32 Ounces"}}, "..."]},"source": "chart","chartType": "best-sellers","chartCategory": "Best Sellers in Kitchen & Dining","chartRank": 1,"detailsComplete": true,"input": "https://www.amazon.com/gp/bestsellers/kitchen","scrapedAt": "2026-10-18T04:57:40.483Z"}
A search row (card fields only, listing event), from the same day on amazon.de:
{"asin": "B0BTYCRJSS","marketplace": "amazon.de","country": "DE","url": "https://www.amazon.de/dp/B0BTYCRJSS","title": "soundcore by Anker P20i Kabellose Bluetooth Kopfhörer in-Ear, 10mm Treiber","price": 21.24,"listPrice": 24.99,"currency": "EUR","discountPct": 15,"priceText": "21,24 €","rating": 4.3,"ratingCount": 117060,"badges": ["Befristetes Angebot"],"boughtPastMonth": 5000,"thumbnail": "https://m.media-amazon.com/images/I/51dCWVANo-L._AC_UY218_.jpg","source": "search","searchTerm": "wireless earbuds","page": 1,"position": 1,"organicPosition": 1,"sponsored": false,"detailsComplete": false,"input": "https://www.amazon.de/s?k=wireless+earbuds","scrapedAt": "2026-10-18T04:51:41.496Z"}
Output fields
| Field | Description |
|---|---|
asin, marketplace, country, url | Amazon product ID (ISBN-10 for books), site, marketplace code (US, UK, DE, FR, IT, ES, CA, IN, JP, AU, MX), canonical product URL |
title, brand | Product title; brand (product pages, and search cards that show a brand line) |
price, listPrice, currency, discountPct, priceText | New-item price (buy box), struck-through list / typical price, ISO currency, discount in %, price as Amazon prints it |
primePrice, usedPrice | Lower price for Prime members, where Amazon shows one (e.g. Japan, Australia); price of the used offer in the buy box (e.g. when there is no new offer) |
rating, ratingCount, boughtPastMonth | Average stars, number of ratings, "X+ bought in past month" as a number (lower bound; "5 mil+" = 5000, "1万点以上" = 10000) |
availability, inStock | Availability text as shown (at most two sentences), and whether the product can be added to the cart |
isPrime, fulfilledByAmazon, seller, sellerId | Product pages: isPrime is true when the buy-box offer ships from Amazon (FBA or Amazon itself, which is how Prime eligibility usually works) and false when the seller ships it; search cards: true only when the Prime icon is shown. Buy-box seller's store name and seller ID |
badges | Best Seller, Amazon's Choice and deal labels as shown |
thumbnail, images | Main image; all images in the largest size (product pages) |
categories, bestSellersRank | Category breadcrumb; Best Sellers rank per category with the chart URL |
features, description, specifications | Bullet points; description (the description block, the book description, or the text of the brand's A+ modules; empty when those are images only); product details / technical details table |
parentAsin, variations | Variation family and every child ASIN with its dimension values |
source, searchTerm, page, position, organicPosition, sponsored | How the row was found (search, chart, product) and its search position |
chartType, chartCategory, chartRank | Chart rows: chart, its heading, rank |
detailsComplete | true for rows read from the product page (all fields, product event), false for search / chart cards (listing event) |
deliveryLocation, input, scrapedAt | Delivery location Amazon used (e.g. "10115 Berlin"; for amazon.com without a postcode, the location Amazon picked from the IP address), the input the row came from, run time (ISO 8601 UTC) |
Use it from the API or an app
Run synchronously and get the rows in one call (keep your API token in the APIFY_TOKEN environment variable):
curl -X POST "https://api.apify.com/v2/acts/fairfetch~amazon-product-scraper/run-sync-get-dataset-items?maxTotalChargeUsd=0.50" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"productUrls": ["B0BTYCRJSS", "https://www.amazon.co.uk/dp/B0FQF32239"], "marketplace": "US"}'
Python (pip install apify-client):
import osfrom decimal import Decimalfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("fairfetch/amazon-product-scraper").call(run_input={"bestSellerUrls": ["https://www.amazon.com/gp/bestsellers/electronics"], "maxItemsPerChart": 100},max_total_charge_usd=Decimal("0.20"),)for row in client.dataset(run.default_dataset_id).iterate_items():print(row["chartRank"], row["asin"], row["price"], row["rating"], row["title"][:60])
The Actor runs with limited permissions and pay-per-event pricing without usage fees. Each run also writes a SUMMARY record (per-input rows, errors, notes and request statistics, including how many pages Amazon blocked and were retried) to its key-value store.
Performance and limits
- From our test runs on Apify (512 MB, 10 parallel requests, 19 Oct 2026): the prefilled input took 6-19 seconds (longer when Amazon blocks and pages are retried); 34 inputs on all 11 marketplaces (451 rows) 21-57 seconds; 3 US search terms x 100 results with full details (300 product pages) 3.7 minutes; 4 searches on amazon.de, .in, .ca and .com x 15 results with full details 53 seconds. Search and chart pages take about 1-3 seconds each, product pages 2-5 seconds (Amazon's response time). Peak memory 244 MB.
- Blocking changes with the time of day and the marketplace. On 21 Oct 2026 amazon.com started to block sessions that arrive without Amazon's own cookies (a search straight away got a 503 page, product pages a CAPTCHA): in three test runs without the session warm-up, 63 of 75 amazon.com requests were blocked. With the warm-up (every new session opens Amazon's help page first, since build 1.0.26), 16 runs the same afternoon (searches, 150 product pages, all 11 marketplaces) had 1 of 407 direct requests blocked. On 19 Oct, before that change, 27 of 661 requests were blocked in the morning (UTC) and many more on amazon.com and amazon.in in the afternoon (8 of 179 valid inputs ended as
blocked). Because a CAPTCHA or bot-check page gets only one retry, a bad hour shows up asblockedinputs (free), not as longer runs. Blocked attempts per page type and per marketplace are listed inSUMMARY.http. - The price is empty when Amazon shows it only in the cart ("add to cart to see the price") or when there is no new offer (see
usedPrice). A subscription or service page without a normal product page keeps its search / chart card data. - Search: Amazon shows up to about 7 result pages per search (16-60 products per page, depending on the category's layout). Best Sellers charts have 100 ranks; Movers & Shakers and Most Wished For are sometimes empty on Amazon itself.
- The Best Sellers rank is missing for products where Amazon hides it (e.g. Apple and Amazon devices).
descriptionwas filled for 65% of 300 US products and about half of the German, Indian and Canadian ones in our tests; it is empty when the product description and the brand's A+ content are images only. Books have nobrand(the author is inspecificationswhere Amazon lists it). - Reviews are not included: Amazon shows full reviews only to signed-in customers, and they would mean collecting reviewers' personal data.
- The proxy is only a fallback for amazon.com and amazon.in, where it was measured to help. The other marketplaces, and any marketplace with your own postcode, always use direct requests: in our tests (19 Oct 2026) the proxy did worse than direct requests on amazon.ca and .com.mx, and through Apify's data-center proxy Amazon answered the delivery-address form with a bot check every time (without the postcode, prices would be those of another country). A proxy page that shows a delivery location abroad (some proxy IPs make amazon.com show "Deliver to Germany") is fetched again with another IP. Residential proxies are not supported (Amazon blocks them on search and product pages, and they cost more than a row); you can use your own proxy URLs instead of Apify Proxy.
FAQ
Do I need an Amazon account, a seller account or an API key? No. The Actor reads the public pages any visitor sees. It never signs in.
Which marketplaces are supported? amazon.com (US), .co.uk (UK), .de (DE), .fr (FR), .it (IT), .es (ES), .ca (CA), .in (IN), .co.jp (JP), .com.au (AU) and .com.mx (MX). Each was tested on 18 Oct 2026 with search, product and Best Sellers pages, its own currency and a local delivery address.
Why do prices sometimes differ from what I see in my browser?
Amazon prices depend on the delivery address, the currency and sometimes on Prime membership. The Actor uses a central postcode of each country, or Amazon's own domestic default location on amazon.com, .ca, .com.mx and .in (shown in deliveryLocation). Enter your own postcode in Delivery postcode to see the prices for that address. Prime-only prices are in primePrice.
What is the difference between a listing and a product row? A listing row comes from a search result or chart card: title, price, list price, rating, ratings, badges, image, position or rank. A product row is read from the product page and has every field (seller, stock, images, bullets, description, Best Sellers rank, specifications, variations). Turn on Full product details for search and chart results to get product rows for search and chart results.
What happens if Amazon blocks a request?
A rate-limit or error page (503, empty page) is retried with a fresh session, up to 8 attempts by default (a failed delivery-address setup gets extra tries of its own). A CAPTCHA, bot-check, JavaScript-challenge or 403 "forbidden" page is retried only once, from another session; if it comes again, the page is reported as blocked. Requests go out directly from Apify; on amazon.com and amazon.in, when the marketplace blocks three of its last ten direct requests, it switches to Apify Proxy for 10 minutes (every retry there uses a new IP address), and back to direct requests if the proxy is blocked even more. A blocked input is listed in the status message and SUMMARY, costs nothing, and the other inputs continue.
When does a run fail?
Only when every input failed for a reason on our side (for example Amazon blocked every attempt) and nothing was returned. Wrong inputs (an ASIN that doesn't exist, an invalid URL, an unsupported marketplace, an empty input) end the run as SUCCEEDED, with the reason in the status message and in SUMMARY.
What if Amazon rejects my delivery postcode?
The format is checked before the run starts ("Invalid input" for e.g. "ABCDE" on amazon.co.uk). If Amazon rejects a well-formed postcode, every input of that marketplace fails with the reason (invalid_postcode, free) instead of returning prices and availability for another location.
How long can a run take? At the default 10 parallel requests, about 4,000-5,000 product pages per hour; search and chart pages are much faster. Apify stops runs after their timeout (1 hour by default): for bigger runs, raise Timeout in the run options. 90 seconds before the timeout the Actor stops starting new pages (queued product pages included: those results come back with their search / chart card data) and still writes its summary.
What if an ASIN doesn't exist?
Amazon answers "page not found". The Actor checks it a second time with a fresh session, then reports the input as not_found (free).
What does "Return each product once per run" do?
A product found by several inputs (two search terms, a chart and a search...) is returned and charged once, with the context of the first input. Turn it off for keyword rank tracking. Within one search, a product shown as an ad and organically is always returned twice (sponsored true and false).
Does it collect personal data? No reviews, reviewer names or profile pictures. Phone numbers, emails and postal addresses are removed, where recognisable, from titles, bullet points, descriptions and specifications (on amazon.in, for example, the manufacturer field keeps only the company name, and a seller's mobile number there is dropped). Recognition is automatic, so an unusual format can slip through. The seller is the store name shown in the buy box, which Amazon shows publicly; for a sole trader that can be a person's name.
Legal
This Actor reads only public product pages that Amazon shows to every visitor, at a moderate request rate. It does not sign in and does not solve CAPTCHAs. When Amazon answers with a CAPTCHA, bot-check, JavaScript-challenge or 403 "forbidden" page, that page is retried at most once from another session; if it comes again, the page is reported as blocked and nothing is charged. Rate-limit and error pages are retried with a fresh session. It collects no reviews and removes addresses, emails and phone numbers, where recognisable, from what it returns. Amazon's Conditions of Use restrict automated access; you are responsible for how you use the Actor and the data and for complying with Amazon's terms and the laws that apply to you. This Actor is not affiliated with, endorsed or sponsored by Amazon; "Amazon" is a trademark of Amazon.com, Inc. or its affiliates and is used here only to describe where the data comes from.