Amazon logo

Online shops · Live on Apify

Amazon Scraper: Product Prices, Ratings and Sellers

Get public Amazon product data from a keyword, an ASIN or a link. Each row has price, rating and reviews count. Product pages add Best Sellers Rank, seller and stock.

About $0.42 for 1,000 results$0.00042 per result + $0 per run. Apify bills you, not us.Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Run it on Apify Opens apify.com, the website where our tools run. Sign up free with Google or email, no card needed.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure

What you get, for example

recordTypesearch
asinB0F8MHPVPH
marketplacecom

How to use it: 3 steps

  1. Make a free Apify accountApify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: standing desk in Search queries. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Amazon Product Scraper reads public Amazon pages by keyword, ASIN or link and returns rows with price, rating and reviews count, with no login or API key. Product pages add Best Sellers Rank, seller and stock. Use it to compare products or watch prices over time: the smallest run takes one keyword, returns 10 rows in about 10 seconds and costs $0.0068 on the Free plan.

Good for

  • Track a competitor's price and stock with a daily scheduled run in mode: product.
  • Find products for a keyword with price, rating, reviews count and search position.
  • Check Best Sellers Rank and seller for a list of ASINs.
  • Compare one ASIN across stores, with each store's price in its own currency.
  • Spot a discount that may not be real: the strike-through price rose while the price did not fall.

Who uses it

Sellers and brands

Watch a rival's price and stock on a daily schedule.

Product researchers

Find products for a keyword with price, rating and search position.

Price analysts

Compare one ASIN across stores, each in its own currency.

Price

Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.

What you pay forPriceWhen
Search result$0.00042 (from $0.000294 on paid Apify plans)One product row from search, category or ranking pages.
Product result$0.0045 (from $0.00315 on paid Apify plans)One full product row from a product page.
Review result$0.001 (from $0.0007 on paid Apify plans)One public review or public review excerpt.
Page check$0.0026One search page or product check, including empty results and unchanged monitor items.
Marketplace setup$0.035Sets a delivery address on a marketplace other than amazon.com, once per marketplace in a run.
Local page$0.01One search page on amazon.it or amazon.es, read through a local route.

Examples

  • One result: about $0.0004.
  • 1,000 results: about $0.42.
  • Every day 100 results, for 30 days: about $1.26 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed. That is enough for about 11,000 results.

Prices checked on 8 November 2026. See the current price on Apify.

Questions

Do I need an Amazon account, cookies or an API key?

No. The tool reads public pages. You only need an Apify account.

Can I get every review of a product?

No. Amazon shows only the first public reviews without a login. On amazon.com they are excerpts.

Which Amazon stores work?

Nine: amazon.com, .de, .co.uk, .fr, .it, .es, .ca, .co.jp and .com.au.

How do I scrape products from Amazon?

Add a keyword to searchQueries, or ASINs to asins with mode: product. Click Start and open the Output tab. The Quick start above shows each step.

Can I export Amazon data to CSV?

Yes. Open the Output tab and download CSV, Excel or JSON. With outputFormat: flat every row has the same columns.

Is it a price tracker?

It can work like one. Set monitorName and run the Actor on a schedule. It does not send alerts by itself: use deliveryConnector to post a summary to Slack or Notion, or read changeStatus through the API.

Is scraping Amazon allowed?

The Actor reads public pages only and collects no reviewer names. Whether your use is allowed depends on your country, your purpose and Amazon's terms. Ask your legal adviser if you are not sure.

How fresh is the data?

Each row shows the page at the time of the run. Rank and price change during the day. Run again to get newer values.

Details

Step by step on Apify
  1. Open the Input tab. The form already holds standing desk in searchQueries (box 1 in the picture). The store stays com.
  2. Keep maxItems at 10 for a first test (box 2). Then start the run.
  3. Open the Output tab when the run ends (box 3 in the second picture). In the Products view, read title, price and rating (box 4).
  4. Download the rows from the run page as CSV, Excel or JSON.
Use cases
TaskInputYou getKey fieldsNext step
Watch competitor pricesmode: product, asins, monitorNameProduct rowchangeStatus, price, previousPrice, priceChangeSchedule plus Slack delivery
Research a keywordsearchQueriesSearch rowtitle, price, rating, reviewsCount, searchRankCSV or Excel export
Check a catalog of ASINsmode: product, asinsProduct rowbrand, seller, bsr, inStock, categoryAPI or spreadsheet
Read a ranking listmode: bestsellers, rankingTypeRanking rowsearchRank, title, price, ratingCSV export
Sum up customer opinionmode: reviews, asinsReview and summary rowsreviewText, starDistribution, reviewThemesAI agent through MCP
Tips for better results
  • Use mode product when you need brand, seller, Best Sellers Rank or stock. Search rows do not have them.
  • Set a monitorName and run on a schedule. The next run shows what changed.
  • On a long ASIN list, raise the run timeout. One run saves up to 1500 rows.
Limits and good to know
  • One run saves at most 1500 rows (maxItems). The largest test had 10 keywords. It took 345 to 538 seconds at 1024 MB, so it comes close to the default 600-second timeout
  • One run takes up to 50 keywords, 1000 ASINs and 1000 links. The largest product list tested is 60 ASINs: it took 206 to 256 seconds at 1024 MB. Blocks make it slower: in one of those runs, 22 of 82 page requests were blocked and retried. On a long list raise the run timeout. Inputs not reached are listed in unprocessedInputs and not charged
  • Search reads up to 20 pages per keyword. Ranking lists read up to 2 pages
  • Reviews on amazon.com are public excerpts only. reviewText, reviewId, reviewAspect and reviewIsExcerpt are filled, but stars, title, date and reviewVerified are empty. The full review pages need a login, and this Actor does not log in. On amazon.de, reviews came with full fields. Other stores may differ: check reviewIsExcerpt. A product may return fewer reviews than maxReviews
  • On amazon.it and amazon.es no delivery address can be set. priceIsLocal is false. Search rows there have prices. A product page row may have no price: it comes with status: partial and costs one page-check, not a product-result. For prices on these two stores use search
  • A batch is best-effort: one failed input does not stop the others, and a run with useful rows stays SUCCEEDED with status: partial. Five failed pages in a row end the run with SOURCE_ERROR. So do 100 seconds with no page read. A page above 16 MB counts as failed for its input
  • Prices depend on the delivery address and on time. Two runs may differ, and search order may differ from what you see in your browser
  • Offers from other sellers are not collected: seller holds the seller shown on the product page

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "recordType": "search",
  "status": "complete",
  "asin": "B0F8MHPVPH",
  "marketplace": "com",
  "title": "FEZIBO Standing Desk 48 × 24 Inch Electric Height Adjustable, Maple",
  "price": 99.98,
  "listPrice": 112.99,
  "currency": "USD",
  "discountPercent": 11.5,
  "priceIsLocal": true,
  "rating": 4.5,
  "reviewsCount": 4963,
  "searchRank": 1,
  "organicRank": 1,
  "isSponsored": false,
  "searchQuery": "standing desk",
  "url": "https://www.amazon.com/dp/B0F8MHPVPH",
  "boughtPastMonth": "5K+ bought in past month"
}

Use it from code

Actor ID: cliqtomedia/amazon-scraper. You need your Apify API token from Apify Console → Settings → API & Integrations.

Python · apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/amazon-scraper").call(run_input={
    "mode": "search",
    "marketplace": "com"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
cURL
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~amazon-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode": "search", "marketplace": "com"}'
LangChain · langchain-apify
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/amazon-scraper")
result = tool.invoke({"run_input": {"mode": "search", "marketplace": "com"}})
print(result)

The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.

Data fields (40)
FieldTypeMeaning
recordTypestringproduct, search, ranking, review or reviewSummary.
statusstringcomplete, partial, not_found or error.
notestringWhy a row is partial, missing or failed.
asinstringAmazon product ID.
marketplacestringThe Amazon store, for example com or de.
titlestringProduct title.
brandstringBrand shown by Amazon.
pricenumberCurrent price in the source currency.
listPricenumberStrike-through price, when shown.
primePricenumberPrice only Prime members pay, when Amazon shows one. price holds what everyone else pays.
currencystringISO currency code.
discountPercentnumberDiscount from the strike-through price.
discountFromPreviousPercentnumberReal discount from the price in the previous monitor run.
fakeDiscountSuspectedbooleanTrue when the strike-through price rose or appeared while the price did not fall.
deliveryLocationstringDelivery location shown by the page.
priceIsLocalbooleanTrue when the price is for a delivery address in this marketplace.
ratingnumberAverage stars.
reviewsCountnumberNumber of ratings.
starDistributionobjectShare of reviews for each star, 1 to 5.
reviewThemesarrayFrequent pros and cons with mention counts.
themesSourcestringamazon when taken from the page, frequency when counted from public reviews.
verifiedSharenumberShare of verified purchases among the public reviews read.
aiReviewsSummarystringAmazon's own review summary, when shown.
bsrnumberBest Sellers Rank in the main category.
bsrRanksarrayBest Sellers Rank in every listed category.
searchRanknumberPlace on the search or ranking pages, sponsored results included.
organicRanknumberPlace among non-sponsored results.
rankingTypestringWhich ranking list the row came from.
isSponsoredbooleanTrue for a sponsored search result.
searchQuerystringThe query or link behind this row.
categorystringMain category.
sellerstringSeller name, when shown.
primebooleanTrue when a Prime badge is seen. Null means unknown, since signed-out pages usually hide it.
inStockbooleanAvailability. Null when the page does not say.
imagesarrayProduct image links.
urlstringProduct page on Amazon.
breadcrumbsarrayCategory path.
featuresarrayFeature bullets.
descriptionstringProduct description.
boughtPastMonthstringAmazon's bought-in-past-month text.
Input settings (25)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
What to collectmodestring"search"
Marketplacemarketplacestring"com"
Search queriessearchQueriesarray["standing desk"]
ASINsasinsarray
Amazon linksproductUrlsarray
Maximum resultsmaxItemsinteger10
Maximum reviews per productmaxReviewsinteger20
Compare with other marketplacesextraMarketplacesarray
Ranking listrankingTypestring"bestsellers"
Delivery postcodedeliveryZipstring
Sort search bysortBystring"relevance"
Minimum priceminPricenumber
Maximum pricemaxPricenumber
Minimum ratingminRatingnumber
Prime onlyprimeOnlybooleanfalse
Skip sponsored resultsexcludeSponsoredbooleanfalse
Reviews newer thanreviewsNewerThanstring
Review starsreviewStarsarray
Include variantsincludeVariantsbooleanfalse
Read variant pricesvariantPricesbooleanfalse
Monitor namemonitorNamestring
Only changed itemsonlyChangesbooleanfalse
Row formatoutputFormatstring"flat"
Send results to (optional)deliveryConnectorstring
Notion page or channel (optional)deliveryTargetstring

Use cases with this tool

Each guide shows all the steps and the other tools.

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure