[Home](https://scrapfly.io/)/[Scrapers](https://scrapfly.io/scrapers)/Amazon

Product pages · search results · reviews

# // Amazon Scraper API

One request to an Amazon listing returns name, price, availability, and rating as JSON. Anti-bot, JavaScript rendering, and proxy country are handled in the same call.

- **Tested against live Amazon every night.** The open-source scraper covers product pages, search results, and reviews.
- **No parser to maintain.** Add `extraction_model="product"` and the response includes the fields shown below.
 
 [Get free API key](https://scrapfly.io/register) [View GitHub scraper](https://github.com/scrapfly/scrapfly-scrapers/tree/main/amazon-scraper) [Read extraction docs](https://scrapfly.io/docs/scrape-api/extraction) 

1,000 free credits. No credit card required.

 [](https://www.capterra.com/p/212653/Scrapfly/)★★★★★4.9/5 from 236 reviews

 

 

 Any Amazon listing

 

 

 Product JSON**Output**

```
{
  <span class="c-str">"name"</span>: <span class="c-str">"PlayStation 5 Console (PS5)"</span>,
  <span class="c-str">"brand"</span>: <span class="c-str">"PlayStation"</span>,
  <span class="c-str">"offers"</span>: [{
    <span class="c-str">"price"</span>: <span class="c-num">574.99</span>, <span class="c-str">"currency"</span>: <span class="c-str">"USD"</span>,
    <span class="c-str">"availability"</span>: <span class="c-str">"available"</span>
  }],
  <span class="c-str">"identifiers"</span>: {<span class="c-str">"sku"</span>: <span class="c-str">"B0BCNKKZ91"</span>},
  <span class="c-str">"aggregate_rating"</span>: {
    <span class="c-str">"rating_value"</span>: <span class="c-num">4.8</span>,
    <span class="c-str">"review_count"</span>: <span class="c-num">9233</span>
  }
}
```

[Web Scraping API](https://scrapfly.io/products/web-scraping-api) + [Data Extraction API](https://scrapfly.io/products/extraction-api)[See the request ↓](#implementation)

  

What you can scrape from Amazon

Four Amazon surfaces, returned as JSON. Fields come from the product extraction model and the open-source scraper.

 ## // Scrape Amazon product data

Product name, brand, ASIN, description, feature bullets, images, and the product details table. The open-source scraper also returns one record per variant ASIN found on the page, so a listing with sizes or colors comes back as a set, not a single row.

- name
- brand
- asin
- images
- variants
- product details

  ## // Scrape Amazon prices and offers

Current price, currency, and availability for the listing, plus identifiers and aggregate rating, returned by the product extraction model. `country` sets the proxy country; check the marketplace and currency in the response before comparing prices across regions.

- offers\[\].price
- currency
- availability
- identifiers.sku
- aggregate\_rating

  ## // Scrape Amazon reviews

Review title, text, rating, date, reviewer location, and verified-purchase status, parsed from the reviews shown on the product page.

**Returns reviews shown on the product page. Does not paginate through review history.**

- title
- text
- rating
- date
- verified

  ## // Scrape Amazon search results

Product URLs, titles, prices, ratings, and rating counts for a search term. The scraper reads the result count on the first page, then fetches the remaining pages concurrently up to the limit you set. Sponsored redirect links are dropped.

- url
- title
- price
- rating
- rating\_count

  



Reliability

## // Get past Amazon's blocking

Amazon serves challenge pages, loads prices and reviews after the first response, and shows different offers by region. Three request options handle that. Failed attempts are not billed.

`unblocker=True`Unblocker (previously ASP) picks the browser profile and request configuration for Amazon, retries server-side, and returns the completed page. 98% success rate on the hardest public pages.



`render_js=True`Runs the page in a real browser so price, availability, and review blocks that load after the first response are in the HTML you receive.



`country="US"`Routes the request through a proxy in the country you choose, from 190+ available, so you see the marketplace, price, and stock that shoppers in that region see.



 



Choose your tools

## // Scrapfly products for Amazon scraping

Most Amazon jobs use Web Scraping API with the product extraction model. Add the others when the job needs an image, a browser session, or a URL list. One API key covers all of them.

 ### Web Scraping API for Amazon pages

Fetch product, search, and review pages with anti-bot handling, proxy routing, and JavaScript rendering managed per request.

Parse the HTML with your own code, or add an extraction option and get fields back in the same response.

 

```
GET /scrape?url=https://www.amazon.com/dp/B0BCNKKZ91&unblocker=true&render_js=true&country=US
```

 [Explore Web Scraping API →](https://scrapfly.io/products/web-scraping-api)  ### Data Extraction API for Amazon product fields

Add `extraction_model="product"` and the response carries name, brand, offers, identifiers, and rating in a standard schema. No selectors to write.

Also works on Amazon HTML you already have, without a new fetch.

 

```
GET /scrape?url=https://www.amazon.com/dp/B0BCNKKZ91&unblocker=true&render_js=true&extraction_model=product
```

 [Explore Data Extraction API →](https://scrapfly.io/products/extraction-api)  ### Screenshot API for Amazon product pages

Capture the listing as it rendered, full page or one selector, with the same anti-bot handling applied.

Use it for listing checks, brand compliance records, and evidence alongside the extracted data.

 

```
GET /screenshot?url=https://www.amazon.com/dp/B0BCNKKZ91&country=us&capture=fullpage&format=png
```

 [Explore Screenshot API →](https://scrapfly.io/products/screenshot-api)  ### Cloud Browser API for Amazon browsing workflows

Point your Playwright or Puppeteer script at a hosted browser when the job needs clicks, navigation, or a session that persists across steps.

Your automation code stays the same; the browser, proxies, and session state run on Scrapfly.

 

```
chromium.connect_over_cdp("wss://browser.scrapfly.io?key=KEY&country=us")
```

 [Explore Cloud Browser API →](https://scrapfly.io/products/cloud-browser-api)  ### Crawler API for Amazon URL lists

Submit a list of product URLs as one job. Your fetch and extraction settings apply to every URL, and you monitor progress and collect results when the job finishes.

Accepts a list in the request or a hosted list you point it at.

- url\_list
- remote\_url\_list
- extraction\_rules
- webhook\_name

 [Explore Crawler API →](https://scrapfly.io/products/crawler-api)  



One request

## // Fetch an Amazon product page and get the fields back

This is the request behind the example at the top of the page. Web Scraping API fetches the listing; the product extraction model returns the fields.

**Prefer a ready-made scraper?** The open-source [Amazon scraper on GitHub](https://github.com/scrapfly/scrapfly-scrapers/tree/main/amazon-scraper) covers product, search, and review pages in Python 3.10 and runs against live Amazon every night. Clone it, set `SCRAPFLY_KEY`, and run `poetry run python run.py`.

 

 Python · scrapfly-sdkscrape + extract

```
<span class="c-key">from</span> scrapfly <span class="c-key">import</span> ScrapeConfig, ScrapflyClient

client = ScrapflyClient(key=<span class="c-str">"YOUR_SCRAPFLY_KEY"</span>)
result = client.scrape(ScrapeConfig(
  <span class="c-str">"https://www.amazon.com/dp/B0BCNKKZ91"</span>,
  unblocker=<span class="c-key">True</span>,  <span class="c-com"># previously asp</span>
  country=<span class="c-str">"US"</span>, render_js=<span class="c-key">True</span>,
  wait_for_selector=<span class="c-str">"#productTitle"</span>,
  extraction_model=<span class="c-str">"product"</span>,
))
product = result.scrape_result[<span class="c-str">"extracted_data"</span>][<span class="c-str">"data"</span>]
```

 

 



What the data is used for

## // Common Amazon scraping use cases

### Price monitoring

Track `offers[].price` and availability per ASIN and per country on a schedule.



### Competitor and MAP tracking

Watch competing listings and the offers shown for them, including region-specific prices.



### Review analysis

Collect the reviews shown on product pages, with ratings and verified-purchase flags, for sentiment and defect tracking.



### Catalog and product data

Build or enrich product records with names, brands, identifiers, images, and specification tables.



### Search rank tracking

Record which products appear for a search term, in what order, and at what price.



### Listing evidence

Pair a screenshot of the rendered listing with the extracted fields for compliance and dispute records.



 



Common questions

## // Amazon scraping FAQ

Short answers to the questions that come up before the first request.

 Is scraping Amazon legal?There is no universal answer. Legality depends on your jurisdiction, the data, the access method and how you use the result. Keep the workflow to publicly available pages, avoid personal or login-gated data, review Amazon's terms, and get legal advice for commercial use.

 Is there an Amazon-specific endpoint?No. Pass the Amazon URL to the Web Scraping API from the HTTP API or the Python, TypeScript, Go, or Rust SDK. Add the product extraction model for structured fields, or run the open-source Amazon scraper for product, search, and review pages.

 Do I have to maintain Amazon selectors?No. Add `extraction_model=product` to the Web Scraping API request. The standard product schema is returned at `result.extracted_data.data` without page-specific selectors. If you prefer your own parser, the open-source scraper is tested against live Amazon every night.

 Which Amazon reviews can I scrape?The reviews shown on the product page, with title, text, rating, date, reviewer location, and verified-purchase status. The scraper does not paginate through the full review history.

 How do I get Amazon prices for a specific country?Set `country` to the proxy country you want, such as `country="DE"` for Germany. Amazon then serves the marketplace, price, and stock shown to shoppers in that region. Check the marketplace and currency in the response rather than assuming them from the proxy location.

 Does it handle Amazon's CAPTCHA and robot checks?Add `unblocker=True` (previously `asp=True`) to the request. Scrapfly selects the browser profile and request configuration for Amazon, retries server-side when a challenge page appears, and returns the completed page. Failed attempts are not billed.

 How much does scraping Amazon cost?Billing is per successful request. A plain datacenter request is 1 credit; JavaScript rendering, residential proxies, and the anti-bot layer add to it, and `unblocker` may switch to a residential proxy when Amazon requires one. Failed requests are not billed. Every account starts with 1,000 free credits.

 What are the rate limits when scraping Amazon?Amazon has no target-specific limit in Scrapfly. Your maximum parallelism is the concurrency quota on your plan, or a lower cap configured for the project. Each in-flight request uses one slot until it finishes.

 



Start with one request

## Fetch the Amazon page. Return product JSON.

Combine Web Scraping API and Data Extraction API in the same call.

98% success rate on the hardest public pages · proxies across 190+ countries

 [Amazon scraper on GitHub](https://github.com/scrapfly/scrapfly-scrapers/tree/main/amazon-scraper) [Full Amazon tutorial](https://scrapfly.io/blog/posts/how-to-scrape-amazon) [All scraper pages](https://scrapfly.io/scrapers) 

 

 [Get free API key](https://scrapfly.io/register) [Read the docs](https://scrapfly.io/docs/scrape-api/extraction)