Amazon Product Scraper avatar

Amazon Product Scraper

Pricing

from $2.45 / 1,000 results

Go to Apify Store
Amazon Product Scraper

Amazon Product Scraper

Scrape Amazon products from URLs, keywords or ASINs across 23 marketplaces. Get price, Buy Box seller, stock, delivery, rating, reviews, Best Sellers Rank, variants, offers and specs as clean JSON. Monitor mode tracks price and stock changes. No login needed.

Pricing

from $2.45 / 1,000 results

Rating

0.0

(0)

Developer

Insights Data

Insights Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

What is Amazon Product Scraper?

Amazon Product Scraper extracts public product data from Amazon, such as price, Buy Box seller, stock, ratings and Best Sellers Rank, so you can track prices and research products without copying pages by hand. Paste Amazon URLs, or type search keywords or ASINs (Amazon's product IDs), choose from 23 Amazon marketplaces and click Start; no coding is needed. Each run on the free Apify plan returns at most 10 rows, and getting more rows per run needs a paid Apify plan.

This Amazon scraper saves one row per product while the run is going. You can download the finished Amazon product dataset as JSON, CSV, Excel, XML or HTML.

  • Track prices and stock: schedule runs in monitor mode to use it as an Amazon price tracker or Amazon stock tracker. Each row lists what changed since the previous run.
  • Watch the Amazon Buy Box: see who sells and ships each product, whether Amazon fulfills it, and collect Amazon seller data such as seller ratings and business addresses.
  • Research products: compare ratings, Amazon's AI review summary, "bought in past month" text and Best Sellers Rank, as you would in an Amazon product research tool.
  • Compare stores: look up the same ASIN on several marketplaces for Amazon price comparison between countries.
  • Follow search positions: record organic and sponsored positions in search results for Amazon competitor analysis.
  • Enrich a catalog: fill your Amazon product catalog with images, specifications, GTINs and variants, or feed the rows into LLM pipelines.

Amazon Product Scraper is not an official Amazon product API. It needs no Amazon account and no API keys, because it reads the same public pages a shopper sees.

What can Amazon Product Scraper do?

  • ๐Ÿ”— Scrape Amazon products from product, search, category, Best Sellers, New Releases, Movers & Shakers, Most Wished For, seller and storefront URLs, plus amzn.to short links
  • ๐Ÿ” Search keywords and look up ASINs on the marketplaces you select (23 stores available)
  • ๐ŸŽฏ Filter listings by price range, star rating, number of ratings, Prime, Amazon sidebar filters, title words, sponsored products and sort order
  • ๐Ÿ“ Set the delivery location by ZIP or postcode or by country, plus the page language and currency
  • ๐Ÿ”” Monitor changes between runs: price, stock, Buy Box seller, rank, rating, offers count and coupon
  • โšก Fast mode that saves listing data only, when you don't need full product pages
  • ๐Ÿ“ฆ Export and automate: JSON, CSV, Excel, XML or HTML downloads, API access, schedules and integrations
  • ๐Ÿ›ก๏ธ Proxy handling: starts without a proxy and switches to Apify Proxy automatically when Amazon blocks requests (if Apify Proxy is available to your account)

What data can Amazon Product Scraper extract?

Each row is one product. As an Amazon product data scraper, it fills these fields (names as in the Output tab and the API):

๐Ÿ“ Title and brand: title, brand, author๐Ÿ”— URL and IDs: url, asin, parentAsin, gtin๐Ÿ’ฒ Prices: price, listPrice, typicalPrice, savingsPercent, unitPrice, usedPrice
๐Ÿ›’ Buy Box: buyBox (sold by, ships from, fulfillment, FBA flag)๐Ÿ‘ค Sellers and offers: seller, offersCount, offers, lowestOfferPrice๐Ÿ“ฆ Stock: inStock, inStockText, stockLeft, maxOrderQuantity
๐Ÿšš Delivery: delivery, fastestDelivery, isPrime, locationTextโญ Ratings: stars, starsBreakdown, reviewsCount๐Ÿ’ฌ Reviews: topReviews, aiReviewsSummary
๐Ÿ† Ranks and badges: bestsellerRanks, isAmazonChoice, bestsellerBadge, dealBadge๐Ÿท๏ธ Deals: coupon, promotions, subscribeAndSavePrice๐Ÿ“ˆ Demand: monthlyPurchaseVolume, monthlyPurchaseVolumeMin
๐Ÿ“ธ Media: thumbnailImage, highResolutionImages, videos๐Ÿ“„ Content: description, features, aPlusContent, brandStory๐Ÿ”ง Specifications: attributes, productOverview, dimensions, weight, modelNumber, manufacturer
๐ŸŽจ Variants: variantAsins, variantDetails, priceRange๐Ÿ“ Position in lists: categoryPageData, bestsellerPageData๐Ÿ“… Run info: status, changes, marketplace, scrapedAt

A few fields in more detail:

  • Prices: as an Amazon price scraper, it records the Buy Box price, list and typical price, savings, unit price, used price, shipping price and Subscribe & Save price, each with its currency.
  • Ranks: bestsellerRanks holds the Amazon best seller rank for each category shown on the product page, with the category name and link.
  • Images: it works as an Amazon product image scraper only in the sense that it returns image URLs (thumbnail, gallery and full size). It does not download image files.
  • Sellers: with Scrape seller profiles on, it also works as an Amazon seller scraper. It adds seller rating, rating count, business name and address for the Buy Box seller and for offer sellers (not for Amazon itself).

Note: a field stays empty when Amazon doesn't show it for that product. price can be empty when there is no featured offer, or when Amazon shows the price only in the cart (priceHidden is then true). When there is no featured offer and Fill missing price from offers is on (default), lowestOfferPrice and lowestOfferSeller come from the other offers. offers stays empty unless Max seller offers per product is above 0, and topReviews and aiReviewsSummary are empty when Include reviews is off.

What data can't Amazon Product Scraper extract?

  • Full review lists: only the top reviews shown on the product page and Amazon's AI review summary
  • Image or video files: only their URLs
  • Price history charts: monitor mode compares with the previous run only
  • Exact sales numbers: only Amazon's "bought in past month" text and Best Sellers Rank
  • Data behind a login, such as orders, cart or account data
  • Manufacturer attributes and product comparison tables: the manufacturerAttributes and productComparison columns exist in the output, but the current version always leaves them empty (null)

How to scrape Amazon product data

Amazon Product Scraper is designed for an easy start, even if you have never tried to scrape Amazon data before. This is the recommended first run:

  1. Create a free Apify account using your email.
  2. Open Amazon Product Scraper.
  3. In Amazon URLs, paste one search URL, for example https://www.amazon.com/s?k=keyboard. Or leave the URLs empty and type keyboard in Search keywords (it searches amazon.com by default). Keep Max products per input at 10.
  4. Click Start. Rows appear in the Output tab while the run is going.
  5. Download your data: in Apify Console, open Storage โ†’ Datasets, select the run's dataset, select Export, choose a format (JSON, CSV, Excel, XML or HTML) and select Download.

That's how to scrape Amazon without writing any code. This first run saves up to 10 products with full details, so the results part of the bill is at most about $0.035. Then open the run's page and note its cost, which lets you estimate bigger runs (see pricing below). When the rows look right, add more keywords, ASINs, filters or marketplaces.


Amazon Product Scraper pricing: how much does it cost to scrape Amazon?

Amazon Product Scraper uses pay-per-event pricing. The bill for a run has three parts:

PartPriceWhen it's charged
๐Ÿ’ฒ Results$3.50 per 1,000 results ($0.0035 each) on the Free plan (lower on paid plans, see below)Each saved row with status OK (full product) or CARD (fast mode). NOT_FOUND and FAILED rows are saved but not charged. With Save only changed products, unchanged products are neither saved nor charged.
๐Ÿš€ Actor start$0.00005 per GB of run memoryOnce per run: $0.00005 at the default 1 GB memory
โš™๏ธ Apify platform usagePaid by you, on top of the two events aboveThe compute, storage and any Apify Proxy traffic the run uses. This README gives no fixed figure for it, because it depends on your settings and on how Amazon responds.
Apify planPrice per resultPrice per 1,000 results
Free$0.0035$3.50
Starter$0.00315$3.15
Scale$0.0028$2.80
Business and higher$0.00245$2.45

Paid Apify plans get a lower result price. The plan discount applies to that price only. The start fee is the same on every plan, and platform usage is billed at your Apify plan's own rates.

What you pay for results at the Free plan price (the start fee is under a tenth of a cent per run):

ResultsResults cost
10about $0.035 + platform usage
100about $0.35 + platform usage
1,000about $3.50 + platform usage

How to estimate your total: run 10 products with the settings you plan to use, then open the run's page in Apify Console, where Apify shows the cost of each run. Multiply that run's platform usage by 10 for about 100 products, or by 100 for about 1,000. Treat it as a rough guide: blocks, proxy switches and extra options change it. The same test run also shows how long a run takes with your settings; this README gives no fixed run time.

  • Fast mode costs the same per row, but it opens fewer pages, so it uses less platform usage.
  • Max seller offers per product, Scrape seller profiles and Scrape variant prices load extra pages. They add platform usage, not charged rows. Variants as separate rows adds charged rows.
  • The result price depends on your Apify plan: $3.50 per 1,000 results on the Free plan, down to $2.45 on Business (see the plan table above).

Maximum charge limit: Apify lets you define a maximum charge limit when you start a run (maxTotalChargeUsd in the API). When the run reaches it, Amazon Product Scraper stops cleanly and keeps the rows already saved; its status message calls this the "spend limit". See the pricing tab for the event list.

Is Amazon Product Scraper free?

You can try it on the free Apify plan. The Apify Free plan includes $5 of platform usage per month, and results are charged at $0.0035 each on the Free plan. On the free plan:

  • Each run returns at most 10 rows. To get more than 10 rows in one run, you need a paid Apify plan.
  • Rows that could not be loaded (NOT_FOUND, FAILED) count toward the 10, even though they are not charged.
  • Max products per input is lowered to 10 if you set a higher value or 0.
  • The log mentions the limit at the start of every free-plan run. When a run stops at 10 rows, the final status message explains why.
  • A new run does not continue where the previous run stopped. The Actor adds no monthly limit on the number of runs.

Paid Apify plans have no per-run cap from the Actor.


Amazon Product Scraper input

To run Amazon Product Scraper, you need at least one Amazon URL, search keyword or ASIN. Any mix works, and every other field has a default. With none of the three, the run fails with "Nothing to scrape: add Amazon URLs, keywords or ASINs".

Here's an example that searches Amazon.com for "keyboard" and saves up to 10 products with full details:

{
"urls": ["https://www.amazon.com/s?k=keyboard"],
"maxItemsPerStartUrl": 10
}

See the input tab for every field.

Settings most people change

SettingWhat it doesDefault
๐Ÿ”— Amazon URLs or ๐Ÿ” Search keywordsWhat to scrape: paste links or type search words (ASINs work too)empty
๐ŸŒ Marketplaces for keywords and ASINsWhich Amazon stores to searchamazon.com
๐Ÿ“ฆ Max products per inputHow many products per URL, keyword or ASIN10
๐Ÿ“‹ Scrape full product detailsOff = fast mode with listing data onlyon
๐Ÿ“ฎ Delivery ZIP / postcodePrices, stock and delivery for that addressstore's home country
๐Ÿ”” Monitor changes between runsLists what changed since the previous runoff

Everything else is optional. The sections below explain each setting in detail; the ones marked (advanced) are settings that most people can leave at their defaults.

Amazon URLs, keywords and ASINs

  • Amazon URLs (urls): paste one or more URLs. Product pages (/dp/ASIN) make it an Amazon product page scraper, and search pages (/s?k=) make it an Amazon search results scraper. It also takes categories (/b?node=), seller pages (/sp?seller=), storefronts (/s?me=) and amzn.to short links. With Best Sellers, New Releases, Movers & Shakers and Most Wished For lists, it works as an Amazon best sellers scraper. Each URL keeps its own store. Other URLs are skipped with a log line, without a row or a charge.

  • Search keywords (keywords): each keyword is searched once on every selected marketplace.

  • ASINs (asins): an Amazon ASIN lookup on every selected marketplace, so you can use it as an Amazon ASIN scraper for cross-store checks.

  • Marketplaces for keywords and ASINs (marketplaces): 23 stores, default amazon.com. They apply only to keywords and ASINs.

  • โœ… Good: "asins": ["B07WJ5D3H4"] with "marketplaces": ["amazon.com", "amazon.co.uk"] gives 2 lookups

  • โŒ Bad: selecting amazon.de to change the store of an amazon.com URL (URLs keep their own store)

โš ๏ธ Many keywords ร— many marketplaces = many inputs, and each one has its own Max products per input limit.

Max products per input

maxItemsPerStartUrl (default 10) counts per input: one URL, one keyword on one marketplace, or one ASIN on one marketplace. It is not a total for the run. 0 means no per-input limit on paid plans. The limit counts every listed product that passes your filters, so duplicates that get skipped and products that later fail to load still use it up.

  • โœ… Good: 10 for a first test
  • โŒ Bad: 0 on a large search with Deep search on and no maximum charge limit

โš ๏ธ On the free plan, this value is lowered to 10 if you set a higher value or 0, and the whole run stops at 10 rows.

Full product details or fast mode

Scrape full product details (scrapeProductDetails, on by default) opens every product page, so you get the complete record from the Amazon product details scraper mode. Off means fast mode for search, category, best-seller and seller inputs: rows get the status CARD and contain only the data shown in the listing. Product URLs and ASINs always open the product page.

In fast mode, duplicates are not removed, so the same product can appear twice (for example as an organic and a sponsored result), and some best-seller list items may keep only the ASIN and rank. The FAQ has a side-by-side comparison of the two modes.

  • โœ… Good: fast mode for quick price and rank checks of a search
  • โŒ Bad: fast mode when you need the Buy Box, offers or reviews

โš ๏ธ CARD rows are charged like full rows. Fast mode only lowers platform usage, because it opens fewer pages.

Delivery location, language and currency

The delivery location follows this order: Delivery ZIP / postcode (zipCode) first, then Delivery country (countryCode, 2 letters, ignored when a ZIP is set), then Deliver to the store's home country (autoLocation, on by default, used only when neither is given). Check locationApplied and locationText in each row to see what Amazon accepted.

Language (language) is checked against the languages the store offers; if it isn't offered, the store default is used and the log says so. Currency (currency): Amazon offers other currencies only when delivering to another country. Otherwise prices stay in the store's currency and the log says so.

  • โœ… Good: "zipCode": "10001" on amazon.com
  • โŒ Bad: "currency": "EUR" on amazon.com without a foreign countryCode

Monitor mode for price and stock tracking

Turn on Monitor changes between runs (monitorMode), keep the same Monitor list name (monitorListName, default default) and schedule the Actor. That turns it into an Amazon price monitoring tool: each row gets a changes list compared with the previous run of the same list. Tracked fields are price, list price, stock, Buy Box seller, fulfillment, stars, number of ratings, main Best Sellers Rank, offers count, coupon, deal badge, the "bought in past month" minimum and the title.

The first run marks every product as new. Only full product rows (status OK) are tracked. With Save only changed products (onlyChanged), unchanged products are neither saved nor charged; without monitor mode, this option has no effect.

On the first run, every product gets [{ "field": "*", "old": null, "new": null, "change": "NEW_PRODUCT" }]. On later runs, changes lists each tracked field that moved. This example shows the shape with made-up values:

"changes": [
{ "field": "price", "old": 11.7, "new": 11.11, "change": { "delta": -0.59, "percent": -5.04 } },
{ "field": "inStock", "old": true, "new": false, "change": null }
]

To run it every day, create an Apify schedule for the Actor. Cost example (paid plan): 50 ASINs checked once a day for 30 days = 1,500 results = at most about $4.73 on Starter, $4.20 on Scale or $3.68 on Business, plus 30 start fees (under a cent in total) and platform usage. The first run is charged for every product, because each one is new. After that, Save only changed products charges only new or changed products.

  • โœ… Good: "monitorMode": true, "monitorListName": "my-watchlist", run on a daily schedule
  • โŒ Bad: monitor mode with fast mode (CARD rows get no changes)

Skip duplicate products (advanced)

Skip duplicate products (dedupeAcrossInputs, on by default) saves each product once per marketplace per run, in full-details mode only. If you turn it off, a product is scraped, saved and charged again each time it shows up.

Deep search and search pages (advanced)

Max search pages per input (maxSearchPagesPerStartUrl, default 0) sets how many result pages are read; 0 means no page limit, so pages are read until Amazon shows no next page. Deep search (deepSearch, off by default) keeps collecting past Amazon's result-page limit on large searches. It only starts when Max search pages per input is 0 and a search or category listing reaches Amazon's last result page. It still stops at Max products per input and at Max products to check per input (maxScanned, default 2,000), which counts across the whole deep search.

  • โœ… Good: "deepSearch": true, "maxSearchPagesPerStartUrl": 0, plus a higher maxItemsPerStartUrl and maxScanned
  • โŒ Bad: "deepSearch": true with "maxSearchPagesPerStartUrl": 5 (deep search never starts)

โš ๏ธ Raise Max products to check per input if you expect more than 2,000 listed products for one input.

Filters (advanced)

Filters work on search, category and seller listings. They don't apply to best-seller lists, product URLs or ASINs.

FilterFieldHow it works
๐Ÿ’ฒ Price rangeminPrice, maxPriceIn the store's currency. If min is above max, they are swapped.
โญ RatingminRating0 to 5 stars
๐Ÿ’ฌ Ratings countminReviewsMinimum number of ratings
๐Ÿšš Prime onlyprimeOnlyUses the store's Prime or shipped-by-Amazon filter. If a listing has none, products whose card shows they are not Prime are skipped.
๐Ÿงฉ Amazon filters by namerefinementsAny left-sidebar filter by its visible name, for example "4 Stars & Up". Missing filters are listed in the log with the names that are available.
โœ… / ๐Ÿšซ Title wordstitleIncludes, titleExcludesAny of the words, not case sensitive
๐Ÿ“ฃ Sponsored productsincludeSponsored, includeAdPlacementsBoth on by default. Sponsored carousels count only when sponsored products are included.
๐Ÿ”ƒ Sort ordersortByFeatured, price low to high, price high to low, average customer review, newest arrivals or best sellers. If a store doesn't offer the order, the log says so and Amazon's default order is used.

โš ๏ธ If 600 listed products are checked for an input and none pass your filters, that input stops with a warning that the filter looks too strict.

Offers, sellers, variants and reviews (advanced)

  • Max seller offers per product (maxOffers, 0 = off): offers from other sellers with price, condition, seller and delivery.
  • Scrape seller profiles (scrapeSellers, off): seller rating, rating count, business name and address.
  • Scrape variant prices (scrapeProductVariantPrices, off): adds price and availability to variantDetails.
  • Variants as separate rows (maxProductVariantsAsSeparateResults, 0 = off): saves up to this many variants of each product as their own full rows, with variantOf set. Each variant row that loads is charged as a result.
  • Include reviews (includeReviews, on): topReviews and aiReviewsSummary from the product page.
  • Output fields (outputFields): saves only these fields, in this order. Unknown names become empty columns, and the log warns about them.

Run settings and proxy (advanced)

  • Parallel product pages (maxConcurrency, 1 to 20, default 4): how many product pages load at the same time.
  • Retries per page (maxRetries, 0 to 10, default 4). A value of 0 does not turn retries off; it behaves like 3.
  • Min delay between requests (minDelaySeconds): leave it empty and the Actor sets the delay itself.
  • Proxy configuration (proxyConfiguration): no proxy by default. When Amazon blocks requests, the Actor switches to Apify Proxy automatically (if it is available to your account), and the log shows each switch. You can also choose your own proxy settings. Apify Proxy traffic is part of platform usage.

Amazon Product Scraper output

Results are stored in a dataset in the Output or Storage tab, and rows appear while the run is going. The dataset has 11 views: Overview, Pricing & deals, Buy Box & sellers, Stock & delivery, Reviews & ratings, Ranks & badges, Description & content, Images & videos, Specifications, Variants, and Monitor & run info. You can view the data as a table or JSON. To download it, open Storage โ†’ Datasets in Apify Console, select the dataset, select Export, pick JSON, CSV, Excel, XML or HTML and select Download.

JSON example

Results for the input example above (one row, shortened):

{
"status": "OK",
"title": "Amazon Basics Wired QWERTY Keyboard, Works with Windows, Plug and Play, Easy to Use with Media Control, Full-Sized, Black",
"url": "https://www.amazon.com/dp/B07WJ5D3H4",
"asin": "B07WJ5D3H4",
"brand": "Amazon Basics",
"price": { "value": 11.11, "currency": "USD" },
"typicalPrice": { "value": 11.7, "currency": "USD" },
"savingsPercent": 5,
"inStock": true,
"inStockText": "In Stock",
"delivery": "FREE delivery Thursday, October 15 on orders shipped by Amazon over $35",
"buyBox": { "soldBy": "Amazon.com", "shipsFrom": "Amazon.com", "isAmazonSeller": true, "fulfillment": "AMAZON", "isFBA": false },
"stars": 4.5,
"starsBreakdown": { "5 star": 77, "4 star": 12, "3 star": 5, "2 star": 2, "1 star": 4 },
"reviewsCount": 10022,
"bestsellerRanks": [{ "rank": 3, "category": "Computer Keyboards", "url": "https://www.amazon.com/gp/bestsellers/pc/12879431" }],
"isAmazonChoice": true,
"monthlyPurchaseVolume": "10K+ bought in past month",
"monthlyPurchaseVolumeMin": 10000,
"offersCount": 4,
"lowestOfferPrice": { "value": 9.22, "currency": "USD" },
"locationText": "Lebanon 66952",
"locationApplied": true,
"marketplace": "amazon.com",
"categoryPageData": { "pageNumber": 1, "productPosition": 1, "organicPosition": 1, "isSponsored": false, "totalResults": 100000 },
"scrapedAt": "2026-10-09T14:04:02+00:00"
}

locationText shows the delivery location Amazon displayed. No ZIP or country was set in this example, so the Actor delivered to the store's home country (the US for amazon.com), and Amazon showed that US address ("Lebanon 66952").

Full rows also include description, features, image URLs, videos, A+ content, top reviews, the AI review summary, specifications, dimensions, weight, GTIN and variants.

Row status

statusMeaningCharged?
OKFull product page scrapedYes
CARDFast mode: listing data onlyYes
NOT_FOUNDThe product page returned "not found" (404)No
FAILEDThe page could not be loaded after retries, the page had no product title, or an unexpected error happened. error says why.No

Run summary

Each run also saves a RUN_SUMMARY record in its key-value store (shown as Run summary in the Output tab). It holds the rows saved, results saved, rows by status, unchanged products in monitor mode, why the run stopped (free plan limit, maximum charge limit or none), the proxy switches and the final status message.

Export tips for spreadsheets

  • Use Output fields to keep only the columns you need, in your order, for example asin, title, price, buyBox.
  • Through the API, add flatten=price (or another field) to turn nested fields into flat columns such as price.value and price.currency.
  • Through the API, add a view to the dataset items request (for example view=pricing) to download one section only.
  • Keep the marketplace column when you mix stores, so you know which store and currency each price comes from.

Tips and advanced usage

How many results can you scrape with Amazon Product Scraper?

There is no fixed total on paid plans. The number depends on your limits, your filters, how many products Amazon lists, how many keywords ร— marketplaces you add, and your run budget. A run or an input stops when one of these happens:

  • Every input has been processed.
  • Free plan: 10 rows are saved in the run (OK, CARD, NOT_FOUND and FAILED rows each count).
  • The maximum charge limit you set for the run is reached.
  • Many requests in a row cannot reach Amazon (a network or proxy problem). Rows already saved are kept.
  • One input reaches Max products per input.
  • A search, category or seller listing reaches Max search pages per input, has no next page, shows a page without results, shows the same page as before, or has a results page that can't be loaded after retries.
  • 600 listed products are checked for an input and none pass the filters.
  • Max products to check per input is reached (default 2,000).
  • Best Sellers, New Releases, Movers & Shakers and Most Wished For lists: at most 2 pages per list.

Unsupported URLs are skipped. The best way to know what to expect for your search is a quick test run.

How to keep costs down

  • Use fast mode when listing data (price, rating, position) is enough. It costs the same per row, but it opens fewer pages, so it uses less platform usage.
  • Keep Max products per input low and use price, rating or title filters, so fewer products are opened and charged.
  • Keep Skip duplicate products on, so in full-details mode a product found by several inputs is charged once per marketplace.
  • For regular Amazon product scraping, use monitor mode with Save only changed products, so unchanged products aren't saved or charged.
  • Set a maximum charge limit when you start large runs.

If something goes wrong

  • FAILED rows: the page couldn't be loaded after retries, had no product title, or hit an unexpected error. Read error, then run those URLs or ASINs again. These rows are not charged.
  • NOT_FOUND rows: Amazon returned "not found" (404) for that product page.
  • Empty price: there is no featured offer, or Amazon shows the price only in the cart (priceHidden).
  • Delivery location not applied: Amazon didn't accept it, and locationApplied is false or empty.
  • Empty topReviews: Amazon didn't show the review list on that page; aiReviewsSummary is still collected.
  • No offers: seller offers can be unavailable for a run. The log shows a warning and offers are skipped.
  • Empty best-seller list: Amazon shows some lists only from time to time.
  • Status "No products found for this input": check the URLs or keywords, or set a proxy.

If the problem stays, open an issue (see Support and feedback below).


Integrations and API

Can I use Amazon Product Scraper as an API?

Yes. The Amazon Product Scraper API works through the Apify API: start runs, schedule them and fetch results. If you need an Amazon scraper API or an Amazon product data API for your own app, use the apify-client NPM package for Node.js or the apify-client PyPI package for Python. The API tab has ready-to-use code.

Amazon Product Scraper Python example

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("insights_data/amazon-product-scraper").call(run_input={
"urls": ["https://www.amazon.com/s?k=keyboard"],
"maxItemsPerStartUrl": 10,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["asin"], item.get("title"), item.get("price"))

Can I integrate Amazon Product Scraper with other apps?

Yes. Like other Apify Actors, this Amazon data scraping tool connects with Apify integrations such as Make, Zapier, Slack, Google Sheets, Google Drive, Airbyte, GitHub and LangChain. Use webhooks to trigger an action when a run finishes. For example, schedule a daily run in monitor mode with Save only changed products and send the new rows to Google Sheets or a Slack channel.

Can I use Amazon Product Scraper with AI agents (MCP)?

Yes. Connect Amazon Product Scraper to Claude and other AI assistants through the Apify MCP server. Open the MCP tab for setup steps.


Other e-commerce and research scrapers

These Actors from the same author cover related e-commerce and research tasks:

ActorWhat it does
๐Ÿ›๏ธ Flipkart Product ScraperScrapes Flipkart products by keyword or category URL: prices, discounts, ratings, specs, sellers and offers.
โญ Flipkart Reviews ScraperScrapes Flipkart product reviews, star ratings, photos and rating summaries in bulk.
๐Ÿ“Š Keyword Search Volume โ€” Bulk Google Metrics (CPC & Trend)Gets Google search volume, CPC, ad competition and a 12-month trend for keywords.
๐Ÿ“ข Google Ads Transparency Center Scraper & APIExtracts ads across Search, YouTube, Shopping, Maps and Play by brand, domain or advertiser ID.

โ“ FAQ

It depends on where you are, what you collect and how you use it. This Actor reads only public product pages, without logging in. Some fields can contain personal data: topReviews include reviewer names, and seller profiles include business names and addresses. Personal data is protected by laws such as the GDPR, so collect it only with a legitimate reason. Also take Amazon's terms of use into account. This is not legal advice; if you are unsure, ask a lawyer.

How does Amazon Product Scraper work?

It works like a shopper browsing Amazon, only faster. For each input, it opens the listing (search, category, best-seller list or seller storefront), applies your filters, opens each product page (unless fast mode is on) and saves one structured row per product as soon as it is ready. The delivery location, language and currency are set per store first. This Amazon data extraction runs in the Apify cloud, so as an Amazon product web scraper it keeps working when your computer is off. At the end, it saves the run summary and a status message.

How is fast mode different from full product details?

Fast mode reads only the listing pages, while full product details (the default) also opens each product page.

Full product details (default)Fast mode
Pages openedListing pages and each product pageListing pages only
Row statusOKCARD
Buy Box, offers, reviews, variantsโœ…โŒ
Monitor changesโœ…โŒ
Duplicate removalโœ… (with Skip duplicate products)โŒ
InputsEvery input typeSearch, category, best-seller and seller inputs (product URLs and ASINs always use full details)
Price per row$0.0035 on the Free plan (lower on paid plans)$0.0035 on the Free plan (lower on paid plans)
Platform usageHigher (more pages)Lower (fewer pages)

Why scrape Amazon product data?

  • Pricing: Amazon product monitoring of your own and competitors' prices, coupons and deals.
  • Sellers: check which seller holds the Buy Box and how it ships.
  • Assortment: find products by search, category or best-seller list and compare ratings and ranks.
  • Data teams: load clean rows into BI tools, spreadsheets or LLM pipelines.

How to scrape Amazon prices?

Add a search URL, keywords or ASINs, pick the marketplaces and, if needed, a delivery ZIP or country. Run with full product details for the Buy Box price, list price, savings and lowest offer, or use fast mode for listing prices only. The Pricing & deals view shows the price columns together. To follow prices over time, use monitor mode on a schedule.

Can I compare Amazon prices between countries?

Yes. Add ASINs and select several marketplaces: each ASIN is looked up once per store. That gives you an Amazon price comparison between countries in one dataset, with the store in marketplace and the currency in each price. Prices are not converted to one currency, so convert them yourself when you compare.

Why am I getting fewer results than expected?

Usually because of one of these three causes:

  • Max products per input is 10 by default, and skipped duplicates and failed products count toward it.
  • On the free plan, a run stops at 10 rows.
  • Strict filters reject products, or Amazon's result-page limit ends the search (Deep search helps only when Max search pages per input is 0).

Every other stop condition is listed in "How many results can you scrape with Amazon Product Scraper?" above.

Do I need an Amazon account or a proxy?

No Amazon account is needed. The run starts without a proxy and switches to Apify Proxy automatically when Amazon blocks requests, if Apify Proxy is available to your account. The Apify Free plan includes some Apify Proxy access; the pricing page lists what is included and what is billed by use, and proxy traffic counts as platform usage. If no stronger proxy is available, the Actor keeps retrying on the current connection, and products that still can't be loaded are saved as FAILED rows, which are not charged. You can also choose a proxy yourself in Proxy configuration.


Support and feedback

Found a bug or have a feature request? Please create an issue on the Issues tab.

Need a custom solution or more data? Contact us at hello.insights.data@gmail.com.

Built and maintained by Insights Data.