Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
Amazon Product & Reviews Scraper icon

Amazon Product & Reviews Scraper

Scrape Amazon by keyword or ASIN: title, price, rating, review count, brand and availability. 7 marketplaces, no API key. $0.75 per 1,000.

305 runs on Apify $0.00075 per product ($0.75 / 1,000)
Run this in the cloudRun on Apify →

E-commerce & Price Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust asins, searchQueries, domain (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.00075 per product = $0.75 per 1,000

You are charged forWhenPrice
Product returnedCharged per product or search result returned (empty/blocked not charged).$0.00075

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-19, and they are what you are actually charged.

Inputs

FieldWhat it doesType
asinsList of Amazon ASINs (10-character product IDs, e.g. B0BS1PRC4L) to scrape. Each ASIN returns full product details (including hi-res images) plus the on-page top customer reviews. Individual fields (price, rating, reviewCount, brand, availability, images, reviews) can be null/empty when Amazon does not render them on the page. Find the ASIN in a product URL: amazon.com/dp/{ASIN}. Leave empty if you only want search results.array
searchQueriesList of search terms (e.g. "wireless earbuds", "4k monitor") to scrape from Amazon search result pages. Each query returns products with asin, title, price, rating, reviewCount, url and an images array, paginated until maxItems is reached. Note: search-mode images contain only a small (~200px) thumbnail URL, product/ASIN mode returns hi-res images. Fields like price, rating and reviewCount can be null when Amazon omits them for a listing. Leave empty if you only want product details by ASIN.array
domainWhich Amazon marketplace (TLD) to scrape. The matching i18n preference cookie is sent automatically to force the marketplace's native currency and language so prices come back consistently (instead of being geo-priced by the proxy exit IP).string
maxItemsMaximum number of search result products to return per search query. The actor paginates through ?page=N until this many products are collected or the results run out. Ignored in ASIN-only mode.integer
notionConnectorOptional. Write each product as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default), results are always saved to the dataset regardless.string
notionParentIdOptional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead.string

What you get

A structured dataset — each result includes fields like:

asinavailabilitybrandcurrencydetailsfeatureBulletsimagespricequeryratingreviewCountreviewsreviewsParsedtitleurl

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

20 ready-to-run use cases

Amazon Price Tracker by ASIN, Feeds Your Repricer

Takes the price showing on each ASIN's page on whatever schedule you set, in a shape a repricer can read. No seller names and no offer list.

Amazon Product Research Tool: Vet an ASIN Before You Buy

Price, rating, review count and stock line for the ASINs you are weighing up. Best Sellers Rank is not a field this returns, so plan around that.

Amazon Europe Prices: One ASIN, One Marketplace per Run

Reads an ASIN on amazon.de in local currency. Switch the marketplace field and run it again for .co.uk, .fr, .it, .es or .com. One marketplace per run.

Amazon MAP Pricing Check: Listing Price for Your ASINs

Reads the price showing on each of your ASINs so you can flag anything under MAP. It sees the listing price, not the seller list behind the buy box.

Amazon Trending Products: What Ranks for a Niche Keyword

Search a niche and read back what Amazon is putting in front of shoppers today, with prices and review counts. Ranking is a proxy, not sales data.

Amazon Keyword Research: Who Ranks for Your Search Term

Returns the products a keyword actually surfaces, organic and sponsored, with their full titles. Titles are where your rivals put the keywords they want.

Amazon Review Analysis: Find Complaints in Rival Reviews

Reads the reviews on a competitor's listing so the same complaint turning up twice is easy to spot. On-page reviews only, not every review ever left.

Amazon Listing Optimization: Buyer Wording From Reviews

The words buyers used in their own reviews, next to the bullets already on the listing. Good raw material for ad copy. You still write the copy.

Amazon In Stock Alert Data: Availability Line per ASIN

Each run records the availability line Amazon shows for your ASINs. Schedule it and compare runs. It writes rows; it does not push a notification.

Amazon Reviews Sentiment Analysis: Labelled Review Rows

Star rating, verified-purchase flag and review text per row, which is most of what a sentiment model wants. It reads the on-page reviews, not the archive.

Amazon Product Images and Price for a Single ASIN

Hi-res image URLs, price and bullets for the exact ASIN you pass. It does not walk the size or colour variations, so pass those ASINs yourself.

Amazon Product Monitoring: Daily Price Snapshot by ASIN

Schedule it and each run writes the price, rating and review count for your whole ASIN list. You diff the runs. It does not track Best Sellers Rank.

Amazon Product Data API for AI Agents, No Amazon Key

JSON per ASIN: title, brand, price, rating, bullets, stock line and images, in a shape an assistant can read straight back to whoever asked.

Amazon FBA Product Research: Read a Niche by Keyword

Prices, ratings and review counts across everything a keyword returns, which is enough to judge how crowded and how well-reviewed a niche already is.

Amazon New Product Launches in a Niche, on a Schedule

Re-runs one niche keyword and writes what is ranking now. Compare two runs and the ASINs missing from the older one are what just showed up.

Amazon Competitor Analysis: Your ASIN vs Rival ASINs

Put your ASIN next to the ones you lose to and compare price, rating and review count side by side. Sales rank is not one of the fields it returns.

Amazon Product Details by ASIN: Price, Bullets, Images

One ASIN in, one clean row out: title, brand, price, rating, bullet points, the stock line and hi-res image URLs. No Amazon account needed.

Amazon Review Scraper by ASIN, No Login Required

Pulls the reviews Amazon prints on the product page, usually around ten per ASIN, with star rating, date, verified-purchase flag and the review text.

Amazon Product Scraper: Keyword Search to Clean Rows

Type a keyword the way a shopper would and read the result page back as data: ASIN, title, price, rating, review count, thumbnail, sponsored or not.

Amazon ASIN Lookup in Bulk: Price and Rating per ASIN

Paste a list of ASINs and get the current price, star rating and review count for each. One row per ASIN, ready to export.

Related tools in E-commerce & Price Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

Shopify Products Scraper iconE-commerce & Price Tools

Shopify Products Scraper

Scrape any Shopify store's catalog: titles, prices, variants, SKUs, stock, tags and images. No API key. $1.00 per 1,000 products.

19 use cases

Structured Product Price & Stock Monitor — JSON-LD / Shopify iconE-commerce & Price Tools

Structured Product Price & Stock Monitor — JSON-LD / Shopify

Track product price and stock from a store's own JSON-LD or Shopify data. Restock, price-drop and sale alerts into Slack or Discord. No API key.

4 use cases

eBay Sold Listings Scraper iconE-commerce & Price Tools

eBay Sold Listings Scraper

Get sold and completed eBay listings: sale price, shipping, sold date, condition, bids, on 9 marketplaces. Bring your own eBay login. $0.70 per 1,000.

Ready to run — no setup

1688 Wholesale Scraper iconE-commerce & Price Tools

1688 Wholesale Scraper

Scrape 1688.com wholesale listings. Get unit price, quantity price tiers, MOQ, supplier, sales count and rating. $0.35 per 1,000 products.

1 use cases

Alibaba 1688 Supplier Ratings Scraper iconE-commerce & Price Tools

Alibaba 1688 Supplier Ratings Scraper

1688.com supplier ratings: score, five sub-scores, repeat-buyer rate, years on platform, factory or trader, audits. No account. $0.40 per 1,000.

1 use cases

Alibaba.com Scraper iconE-commerce & Price Tools

Alibaba.com Scraper

Get Alibaba.com products with no account: price ranges, MOQ, supplier name, country, verified status and images. $0.85 per 1,000.

Ready to run — no setup

See all E-commerce & Price Tools →

Amazon Scraper: product data by ASIN or keyword, on seven marketplaces

Give it ASINs and it returns the full product page as a row: title, price, rating, brand, availability, the feature bullets, the image gallery and the reviews Amazon prints on the page. Give it search terms instead and it walks the result pages and returns what it finds there.

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.

InputASINs, or search queries, on one marketplace per run
OutputOne row per product
Ceiling1,000 products per search query
Account neededNone
Price$0.75 per 1,000 products

🛒 What Amazon Scraper does

Two modes, and you can run both in the same job. asins fetches product pages one by one. 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 depending on 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.

📥 What you give it

{
  "asins": ["B0BS1PRC4L"],
  "searchQueries": ["wireless earbuds"],
  "domain": "com",
  "maxItems": 50
}
FieldDefaultWhat it is
asinsnoneTen-character product ids. Find one in any product URL after /dp/.
searchQueriesnoneSearch terms, as you would type them into Amazon's own box.
domaincomWhich marketplace. Seven of them, listed above. One per run.
maxItems50Products per search query, 1 to 1,000. Ignored in ASIN mode. This is your spend cap.
notionConnector, notionParentIdnoneOptional. Write each product into your Notion as well as the dataset.
proxyConfigurationApify defaultLeave it alone unless the run has to leave through your own servers.

Fill in at least one of the two. 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..."
    }
  ]
}
FieldWhat it is
typeproduct for an ASIN row, search for a search row. The two shapes share one dataset.
priceThe display string, symbol included. null when Amazon shows no price, which is normal on an out-of-stock item.
currencyThe marketplace's currency code. It is not parsed out of the price string.
reviewCountRaw page text, brackets and all, as in "(35,261)".
imagesThe full-size gallery on an ASIN row. One small thumbnail on a search row.
reviewsOnly what the product page itself shows. Empty when the page has no review block.
sponsoredOn 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.

RowHow to spot itCharged
A productok: true and an asinyes
A diagnosticok: false and an errorCodeno

Filter on ok == true, then split on type if you ran both modes.

CodeWhat it means
BAD_INPUTNo ASINs and no queries. Nothing was fetched.
NOT_FOUNDAmazon has no page for that ASIN. Usually a typo or a delisted product.
NO_RESULTSThe query ran and matched nothing.
BLOCKEDAmazon 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_LIMITEDToo much traffic on that page just now. Try again shortly.
NETWORK, SERVER_ERRORAmazon was unreachable or answered badly. Re-run it.
TIME_LIMITThe 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, to get the rest. 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. The run finishes green either way, so judge it by rows rather than by the run status.

▶️ How to run it

1. Open Amazon Scraper and click Try for free. 2. Paste ASINs into ASINs, or terms into Search queries, or both. 3. Pick your Amazon marketplace. 4. Set Max items for search mode. Start at 20 while you look at the row shape. 5. Click Start, then download the dataset as JSON, CSV or Excel, or read it from the API.

💰 How much does it cost?

$0.75 per 1,000 products, which is $0.00075 each. Flat on every Apify plan, no volume tiers.

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.

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 deduplicated between lookups. Clean your input list first.

💡 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.

🚧 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. For the full review stream, use the

reviews scraper linked below.

  • 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, rating and reviewCount are page strings. Convert them

yourself.

  • No deduplication. Repeated ASINs and overlapping queries produce repeated rows.
  • A run finishes green even when everything failed. Check the row count, not the status.

🧭 Which Amazon scraper do you need?

If you wantUse
Product data by ASIN or keywordThis one
The full review stream for a productAmazon Reviews Scraper
Best Sellers and New Releases listsAmazon Bestsellers Scraper
Prices and stock watched on a scheduleProduct Price & Stock Monitor

❓ Questions people ask

Do I need an Amazon account or an API key? Neither. Nothing to register and nothing that expires.

Why is price empty on some 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 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.

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, and the log usually shows what the page did.