Amazon Scraper API
Extract structured product data from public Amazon pages as JSON. Send a product URL and get the fields you need without maintaining page selectors.
Decide before you build
- Endpoint
- POST /scrape/retail
- Scrapers
- Amazon product pages
- Cost
- from 1 credit / call
- Free plan
- 1,000 credits / month
- Call pattern
- sync, POST
- On failure
- credits refunded
- Response format
- JSON
- Concurrency
- by plan tier
Retail requests are synchronous. Cost depends on the options selected for the request.
Try the Amazon scraper on your own targetRun a request against a public product page and inspect the JSON before you integrate.
Open the live testWhat you get back
Product dataProduct details in JSON
Retrieve the product information exposed by the public Amazon page.
- Title and description
- Brand and product identifiers
- Images and product features
- Categories and seller information
Commercial dataPrices, stock and variants
Use the fields returned by the product page to build or enrich your catalogue.
- Price, currency and shipping fees
- Stock status when available
- ASIN, EAN13 and ISBN when available
- Original price and product variations when available
Call the Amazon scraper
Send a product URL to the Retail endpoint. The API returns the result in the same response.
# POST - scrape a public Amazon product page
curl -X POST "https://api.scraping-bot.io/scrape/retail" \
-u "yourUsername:yourApiKey" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.amazon.com/dp/B07VGRJDFY",
"options": {
"useChrome": false,
"premiumProxy": false
}
}'Code example
Authenticate with your ScrapingBot username and API key, then read the returned JSON.
// Node.js - submit a public Amazon URL
const auth = "Basic " + Buffer.from(
"yourUsername:yourApiKey",
).toString("base64");
const response = await fetch(
"https://api.scraping-bot.io/scrape/retail",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: auth,
},
body: JSON.stringify({
url: "https://www.amazon.com/dp/B07VGRJDFY",
options: { useChrome: false, premiumProxy: false },
}),
},
);
const result = await response.json();Run this call in two minutesCreate an account, copy your API key, then use the example above.
Get your API keyRequest parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | — | Required. Full public Amazon product URL, including https://. |
options.useChrome | boolean | false | Optional. Render JavaScript when the target page requires a browser. |
options.premiumProxy | boolean | false | Optional. Use a premium proxy for targets that require it. |
options.proxyCountry | string | undefined | Optional. Country targeting with a premium proxy. |
options.proxyState | string | undefined | Optional. Lowercase two-letter US state code; this option has a separate credit cost. |
options.waitForNetworkRequests | boolean | false | Optional. Wait for network requests to finish before reading the page. |
Response example
A shortened example of the structured product data returned for a public Amazon page.
{
"data": {
"title": "Product title",
"description": "Product description",
"price": 47.99,
"currency": "USD",
"brand": "Brand name",
"ASIN": "B07VGRJDFY",
"isInStock": true,
"image": "https://m.media-amazon.com/...",
"categories": [{ "name": "Electronics" }]
}
}Credits, failures and limits
| Case | Credits | Notes |
|---|---|---|
| Standard Retail request | From 1 credit | Current plans start at 1 credit. |
| JavaScript rendering | Additional credits | Enable only when the target requires it. |
| Premium proxy | Additional credits | Use for targets that require a premium proxy. |
| Unsuccessful request | Not deducted | Only successful requests count towards the monthly limit. |
Retail API or Raw HTML scraper?
| Retail API | Raw HTML scraper | |
|---|---|---|
| Endpoint | /scrape/retail | /scrape/raw-html |
| Returns | Structured product JSON | Rendered page HTML |
| Flow | One synchronous request | One synchronous request |
| Starting cost | 1 credit | 1 credit |
| Use it when | You need parsed Amazon product fields | You need your own extraction logic |
Questions about the Amazon API
- Do I need to select an Amazon scraper name?
- No. Send a public product URL to /scrape/retail; the target website determines the extraction.
- Are all product fields always available?
- No. Values such as price, stock and identifiers depend on what the public Amazon page exposes and what the extractor supports.
- Can one request scrape an entire Amazon catalogue?
- No. The endpoint takes one page URL. Collect the product URLs you need, then submit separate requests.
- Can I scrape private Amazon account data?
- No. This guide covers public product pages. ScrapingBot does not require a connection to an Amazon account for this request.
Source: ScrapingBot API documentation.
Other e-commerce scrapers
Browse the E-commerce & Retail category for the complete list of guides, or visit the ScrapingBot blog for implementation guides.
Trusted by developers and e-commerce teams.
Customer reviews are shown on ScrapingBot's public pricing page and apply to the service overall, not specifically to Amazon.
Start scraping Amazon today
1,000 free credits every month. No card required, cancel anytime.
