Amazon Product & Price Scraper avatar

Amazon Product & Price Scraper

Pricing

from $4.00 / 1,000 product records

Go to Apify Store
Amazon Product & Price Scraper

Amazon Product & Price Scraper

Get Amazon product data by ASIN, URL, or keyword search: price, list price, rating, review count, bestseller rank, images, and stock.

Pricing

from $4.00 / 1,000 product records

Rating

0.0

(0)

Developer

Morgan Studio

Morgan Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

What it does

This actor collects product and price data from Amazon. Give it ASINs, product URLs, or search keywords. For each product it returns the title, brand, current price, list price, discount, stock status, star rating, review count, bestseller ranks, images, feature bullets, category path, and variant ASINs. For each keyword search it returns the hits in page order, with price, rating, review count, and whether the hit is sponsored. It reads the public product and search pages over plain HTTP, without a browser, and it does not sign in.

What it returns

Each product becomes one record in the dataset. Anything that is not on the page is null; no key is ever missing.

FieldTypeNotes
recordTypestringproduct
asinstringAmazon product ID
urlstringProduct page URL
marketplacestringDomain suffix, for example com
titlestringProduct title
brandstringBrand or store name; the author for books
pricenumberPrice to pay
currencystringUSD, GBP, EUR, CAD, or AUD
listPricenumber"List" or "Typical" price, only when it is above price
savingsPercentnumberDiscount from listPrice to price
availabilitystringStock message as shown, for example "In Stock"
inStockbooleantrue when the product can be added to the cart
ratingnumberAverage stars, out of 5
reviewCountnumberNumber of ratings
bestsellerRanksarray[{ rank, category }], top-level category first
imagesarrayFull-size image URLs
mainImagestringMain image URL
bulletsarray"About this item" bullet points
categoryPatharrayBreadcrumb categories
variantAsinsarrayASINs of other sizes and colors
fetchedAtstringISO timestamp
fetchStatusstringok, not-found, blocked, or error
errorstringWhy a fetch failed, otherwise null

Example product record (arrays shortened):

{
"recordType": "product",
"asin": "B09W2SPRDG",
"url": "https://www.amazon.com/dp/B09W2SPRDG",
"marketplace": "com",
"title": "Super Fast Charger Type C, 25W USB C Wall Charger Fast Charging 10FT Cable",
"brand": "Vilive",
"price": 16.99,
"currency": "USD",
"listPrice": 18.99,
"savingsPercent": 11,
"availability": "In Stock",
"inStock": true,
"rating": 4.6,
"reviewCount": 22732,
"bestsellerRanks": [
{ "rank": 128, "category": "Cell Phones & Accessories" },
{ "rank": 16, "category": "Cell Phone Wall Chargers" }
],
"images": ["https://m.media-amazon.com/images/I/61bzII2gzKL._AC_SL1500_.jpg"],
"mainImage": "https://m.media-amazon.com/images/I/61bzII2gzKL._AC_SL1500_.jpg",
"bullets": ["Small & Powerful: With 25W charging power but smaller size..."],
"categoryPath": ["Cell Phones & Accessories", "Accessories", "Chargers & Power Adapters", "Wall Chargers"],
"variantAsins": ["B0DG5MKSFT", "B0H7X6WQ5Z", "B0BZD7LL6Q"],
"fetchedAt": "2026-09-24T04:14:26.352Z",
"fetchStatus": "ok",
"error": null
}

Each search hit becomes one shorter record with recordType: "search-result" and these fields: searchTerm, position, asin, title, price, currency, rating, reviewCount, url, sponsored, marketplace, fetchedAt, fetchStatus, error.

The Output tab has two views: Overview (products) and Search results.

Input

  • ASINs: a list of Amazon product IDs.
  • Product URLs: Amazon product page URLs. The actor reads the ASIN from the URL.
  • Search terms: keywords to search.
  • Max results per search: stop each search after this many hits (default 20, up to 200).
  • Fetch product details for search hits: off writes one short record per hit; on also fetches each hit's product page as a full product record.
  • Marketplace: the Amazon domain (default com).
  • Max concurrency: pages fetched at once (default 4, up to 10).
  • Proxy configuration: optional. Leave it empty and product pages go without a proxy while search pages use Apify residential proxy in the marketplace's country. If you set a proxy, every request uses it.

Example input:

{
"asins": ["B09W2SPRDG", "B08XMJN44P"],
"searchTerms": ["silicone spatula set"],
"maxResultsPerSearch": 20
}

Pricing

You pay per record. There is no separate charge for Apify platform usage; it is included in the record price.

EventPrice
Product record (fetchStatus: "ok")$0.004
Search result record (fetchStatus: "ok")$0.001
Actor start$0.00005 per run

Only records that came back with data are charged. Failed records (not-found, blocked, error) are free. They are still written to the dataset so you can see what failed.

If fetchDetailsForSearchResults is on, each product page fetched for a search hit is charged as a product record, in addition to its search result record.

You can cap a run's total charge in the run options (maximum cost per run). When the cap is reached, the actor stops starting new fetches and the run ends.

Limits

  • amazon.com is verified. The other marketplaces use the same page structure and should mostly work, but they have not been tested in this version.
  • No reviews. Amazon's review pages require sign-in, and this actor does not sign in.
  • No content behind a sign-in, such as some seller or account pages.
  • Search pages go through Apify residential proxy, so large search runs are slower than product runs.
  • Prices are what a signed-out visitor in the proxy's country sees. Delivery location, Prime, and coupons can change the price a signed-in shopper sees.
  • Amazon changes its page layouts from time to time. Fields that stop filling show up as null, not as a failed run.

How failures are reported

Every input ASIN and every search page produces at least one record, so nothing is dropped silently. Each record has a fetchStatus:

  • ok: the page was read.
  • not-found: Amazon has no page for this ASIN. Not retried.
  • blocked: Amazon returned a block or error page three times, each on a fresh session.
  • error: the connection failed three times, or the page could not be parsed.

The error field says what happened. The run log ends with a summary line: requests, ok, walls cleared, retries, failed, elapsed time, and usage.

Changelog

  • 0.1 (2026-09-24): Pay per record. Product record $0.004, search result record $0.001, failed records free.
  • 0.1.0 (2026-09-23): First release. Products by ASIN or URL, keyword search. Free to run.