Amazon Scraper - Products by Keyword or ASIN, No API Key
Pricing
from $0.72 / 1,000 products
Amazon Scraper - Products by Keyword or ASIN, No API Key
Scrape Amazon products by ASIN or keyword on seven marketplaces. ASIN rows have the title, price, rating, review count, brand, availability, bullets, image gallery and on-page reviews; search rows the listing tile. Prices in the marketplace's own currency. No API key. $0.75 per 1,000 products.
Pricing
from $0.72 / 1,000 products
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Get Amazon product data by ASIN or by keyword, on seven marketplaces: give it ASINs and each one comes back as a full product row with the title, price, rating, brand, availability, feature bullets, image gallery and the reviews printed on the page. Give it search terms and it walks the result pages instead.
The part worth knowing before you plan around it: the two modes do not return the same row. An ASIN row is the full product page. A search row is what a listing tile carries, so no brand, no bullets, no reviews, and one small thumbnail instead of the gallery. And the reviews on an ASIN row are only the handful Amazon embeds on the page, usually 8 to 13, not the whole review history.
| Input | ASINs, or search queries, on one marketplace per run |
| Output | One row per product: title, price, rating, review count, brand, availability, bullets, images and on-page reviews (search rows carry less) |
| Ceiling | 1,000 products per search query |
| Account needed | None from you |
| Price | $0.75 per 1,000 products, flat on every plan. The free plan's $5 a month covers about 6,600 |
๐ What Amazon Scraper does
Two modes, and you can run both in the same job. asins fetches product pages. searchQueries
pages through Amazon's own search results until it has as many as you asked for or the results run
out.
Pick your marketplace in domain: com, co.uk, de, fr, it, es or ca. The run is pinned
to that marketplace's own currency and language, so a price is the price a shopper in that country
sees and does not drift with where the run happens from.
Everything comes back as text exactly as the page prints it. price is "$33.33", not 33.33, and
rating is "4.4". Parse them your side, where you know which currency and decimal format you
want.
Products are written as they are found, so a run that reaches its time limit keeps everything it fetched before that.
๐ What data you get from each Amazon product
| What you get | Field |
|---|---|
| ASIN, link and title | asin, url, title |
| Price as printed, and the marketplace's currency | price, currency |
| Star rating and review count, as printed | rating, reviewCount |
| Brand and availability (ASIN rows) | brand, availability |
| Feature bullets (ASIN rows) | featureBullets |
| Images: the full gallery on ASIN rows, one thumbnail on search rows | images |
| The reviews printed on the page, with author, rating, title, date, verified flag, helpful votes and text (ASIN rows) | reviews, reviewsParsed |
| Row kind, the query that found it, and whether the tile was sponsored (search rows) | type, query, sponsored |
โถ๏ธ How to scrape Amazon products
- Open Amazon Scraper and click Try for free.
- Paste ASINs into ASINs, or terms into Search queries, or both.
- Pick your Amazon marketplace.
- Set Max items for search mode. 20 is enough while you look at the row shape.
- Click Start, then download the dataset as JSON, CSV or Excel.
๐ฐ How much does it cost to scrape Amazon products?
$0.75 per 1,000 products. Flat on every Apify plan, no volume tiers. On the free plan, the $5 Apify gives you each month covers about 6,600 products.
You pay per product row. Diagnostic rows are not billed, and a dead ASIN or a query that matches nothing produces no product rows to bill for. If you set a maximum cost for the run, it stops there.
Two things do get billed that people sometimes expect not to be. An out-of-stock product is a complete row apart from the price, so it counts. And the same ASIN listed twice, or matched by two different queries, is fetched twice and counts twice, because nothing is de-duplicated between lookups. Clean your input list first.
๐ฅ What you give it
{"asins": ["B0BS1PRC4L"],"searchQueries": ["wireless earbuds"],"domain": "com","maxItems": 50}
| Field | Default | What it is |
|---|---|---|
asins | none | Ten-character product ids. Find one in any product URL after /dp/. |
searchQueries | none | Search terms, as you would type them into Amazon's own box. |
domain | com | Which marketplace. Seven of them, listed above. One per run. |
maxItems | 50 | Products per search query, 1 to 1,000. Ignored in ASIN mode. This is your spend cap. |
notionConnector, notionParentId | none | Optional. Write each product into your Notion as well as the dataset. |
proxyConfiguration | Apify default | Leave it alone unless the run has to leave through servers of your own. |
Fill in at least one of asins and searchQueries. A run with both empty writes a BAD_INPUT row
rather than guessing what you meant.
๐ค What you get back
A real ASIN row from a real run, with the bullets, gallery and review text cut short so the block stays readable:
{"ok": true,"type": "product","asin": "B0BS1PRC4L","url": "https://www.amazon.com/dp/B0BS1PRC4L","title": "Sony WH-CH520 Wireless On-Ear Bluetooth Headphones with Microphone, Black","price": "$33.33","currency": "USD","rating": "4.4","reviewCount": "(35,261)","brand": "Sony","availability": "In Stock","featureBullets": ["LONG BATTERY LIFE: With up to 50-hour battery life and quick charging, you'll have enough power for multi-day road trips and long festival weekends. (USB Type-C Cable included)","..."],"images": ["https://m.media-amazon.com/images/I/41lArSiD5hL._AC_SL1200_.jpg","https://m.media-amazon.com/images/I/811UeUfPYdL._AC_SL1500_.jpg","..."],"reviews": [{"id": "R31152UC9BQT1G","author": "jimbo","rating": "5","title": "Battery Life is UNREAL!!! Obsessed!","date": "Reviewed in the United States on August 5, 2026","verifiedPurchase": true,"helpfulVotes": "39 people found this helpful","body": "I've been using these every single day for the past four months..."}]}
| Field | How to read it |
|---|---|
type | product for an ASIN row, search for a search row. The two shapes share one dataset. |
price | The display string, symbol included. null when Amazon shows no price, which is normal on an out-of-stock item. |
currency | The marketplace's currency code. It is not parsed out of the price string. |
reviewCount | Raw page text, brackets and all, as in "(35,261)". |
images | The full-size gallery on an ASIN row. One small thumbnail on a search row. |
reviews, reviewsParsed | Only what the product page itself shows, and how many that was. Empty when the page has no review block. |
sponsored | On search rows, whether the tile was a paid placement. |
๐งพ Reading the output
Two kinds of row land in the dataset, and only the first kind is billed. There is no sample row.
| Row | How to spot it | Billed |
|---|---|---|
| A product | ok: true and an asin | yes |
| A diagnostic | ok: false and an errorCode | no |
Filter on ok == true, then split on type if you ran both modes.
| Code | What it means |
|---|---|
BAD_INPUT | No ASINs and no queries. Nothing was fetched. |
NOT_FOUND | Amazon has no page for that ASIN. Usually a typo or a delisted product. |
NO_RESULTS | The query ran and matched nothing. |
BLOCKED | Amazon did not serve that page. If other items in the same run failed too, a query that genuinely had no results can also end up with this code. |
RATE_LIMITED | Too much traffic on that page just now. Try again shortly. |
NETWORK, SERVER_ERROR | Amazon was unreachable or answered badly. Re-run it. |
TIME_LIMIT | The run got close to its time limit and stopped early. Every product delivered before that is in your dataset; give the run more time, or ask for fewer products. If none came back at all, the run is marked as failed. |
A search that returned some products and then stopped early writes both: the products it collected, which are charged, and one uncharged diagnostic saying how far it got. Apart from that time-limit case, the run finishes green even when items fail, so judge it by rows rather than by status.
๐ก What people use it for
- Watching the price and availability of a fixed list of ASINs on a schedule.
- Pulling the first few hundred results for a keyword to see who actually ranks for it.
- Building a product feed with images and bullets for a comparison page.
- Checking how the same ASIN is priced across the UK, German and US marketplaces.
From a keyword to the products worth a closer look, in three runs:
- Run Keyword Autocomplete Scraper
with your term in
seedsandenginesset toamazon, to see what shoppers actually type. - Put the best phrases into Search queries here and keep the
asinof the tiles you want. - Run those ASINs back through ASINs here for the full page, then send the best ones to Amazon Reviews Scraper.
๐ง What it does not do
- Search rows are thin. No brand, no bullets, no reviews, and one small thumbnail. Take the ASINs from search mode and run them through ASIN mode when you need the detail.
- Only the reviews on the page. Roughly 8 to 13 per product.
- No Best Sellers Rank, no variations, no seller list. Those are not parsed.
- Seven marketplaces, one per run. Two countries means two runs.
- Numbers arrive as text.
price,ratingandreviewCountare page strings. Convert them yourself. - No de-duplication. Repeated ASINs and overlapping queries produce repeated rows.
- A run can finish green with nothing useful in it. Check the row count, not the status.
๐งญ Which Amazon scraper do you need?
| If you want | Use |
|---|---|
| Amazon products by keyword or ASIN, with the on-page reviews | This one |
| The reviews on an Amazon product page, as one row each | Amazon Reviews Scraper |
| The Best Sellers, New Releases or Movers & Shakers ranking for a category | Amazon Bestsellers Scraper |
| What shoppers type into Amazon's search box | Keyword Autocomplete Scraper |
| Search results with prices and order counts on AliExpress | AliExpress Products Scraper |
โ Questions people ask
Do I need an Amazon account or an API key?
Neither. Nothing to register and nothing that expires.
Why is the price empty on some Amazon rows?
Because Amazon printed no price. That happens on out-of-stock items and on some listings that only show a price in the basket.
Can I get more than 1,000 results for one search?
Not from one query. Split it into narrower terms, which also gets you past the point where Amazon's own results stop being relevant.
Are the search results the same as what I see?
Close, but Amazon personalises and rotates listings, and sponsored tiles move around. Treat a search run as a snapshot, and if a field looks off, open the page in a private browser window: that is the view this reads.
Can I call it from code or connect it to an AI assistant?
Yes. The API tab has ready-made code for
Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect
https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/amazon-scraper. Either way the run
happens on your Apify account at the same price.
Is scraping Amazon legal?
This reads public product pages, the same ones any shopper sees. Reviews are personal data under GDPR and similar laws, so have a reason for keeping them. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.
๐ If something breaks
Open the Issues tab on the actor page. Send the ASIN or query and the run ID; the log usually shows what the page did.