Amazon Scraper API
Extract structured product data from Amazon at scale

The Amazon Scraper API is a specialized plugin that extracts structured data from Amazon.com and all international Amazon marketplaces. Unlike raw HTML scraping that requires parsing, this API returns clean, structured JSON responses with product details, pricing, seller offers, and search results (ready to use in your applications).
Credit Usage: Each successful Amazon Scraper API request costs 1 credit. For bulk processing, use the Async API with plugins.
Key Features
- Structured JSON Output: Get parsed product data including ASIN, title, price, ratings, images, and technical details without writing HTML parsers.
- Location Targeting: Pass a
zipcodefor ZIP-level marketplaces orcountryNamefor marketplaces without ZIP-level delivery to localize pricing, stock availability, and shipping information. - Multi-Marketplace Support: Scrape from 21 Amazon marketplaces including US, UK, Germany, Japan, and more.
- Language Selection: Request pages in specific languages supported by each marketplace.
- Include HTML Option: Add
include_html=trueto any structured endpoint to receive the full raw HTML alongside the parsed JSON data. - Automatic Session Management: Sessions are automatically maintained for each marketplace and supported location combination.
- No Blocks or CAPTCHAs: All anti-bot measures are handled automatically by Scrape.do.
Endpoints
| Endpoint | Method | Output | Description | Details |
|---|---|---|---|---|
/plugin/amazon/pdp | GET | JSON | Extract product details, descriptions, pricing, images, and specifications | more |
/plugin/amazon/offer-listing | GET | JSON | Get all seller offers with prices and shipping info | more |
/plugin/amazon/search | GET | JSON | Search results with product listings and rankings | more |
/plugin/amazon/ | GET | HTML | Raw HTML from any Amazon URL with geo-targeting | more |
Location Parameters
Amazon displays different prices, stock levels, and shipping options based on the delivery location. Use zipcode for marketplaces that support ZIP-level delivery localization, or countryName for marketplaces where Amazon uses country-level delivery settings.
Use only one location parameter per request. Passing countryName that just names the marketplace's own home country (for example, countryName=Turkey with geocode=tr) is unnecessary and ignored because that marketplace is already localized to it. The structured endpoints (/pdp, /offer-listing, /search) return parsed JSON for both ZIP-level and country-level requests.
ZIP-Level Marketplaces
| Geocode | Country | Format | Example ZIP Codes |
|---|---|---|---|
us | United States | Numeric | 14217, 32216, 90210 |
gb / uk | United Kingdom | Alphanumeric | AB44 1LE, SW1A 1AA, M1 1AE |
de | Germany | Numeric | 10115, 80331, 20095 |
fr | France | Numeric | 75001, 13001, 69001 |
it | Italy | Numeric | 00100, 20121, 80100 |
es | Spain | Numeric | 28001, 08001, 41001 |
ca | Canada | Alphanumeric | K1W 0C8, M5V 3L9, V6B 4Y8 |
jp | Japan | Numeric | 100-0001, 530-0001, 460-0008 |
in | India | Numeric | 560001, 400001, 110001 |
Country-Level Marketplaces
For tr, br, au, mx, nl, pl, se, ae, sa, sg, and eg, pass countryName when you need a country-level delivery location instead of a ZIP code.
ZIP code format is validated per marketplace. Invalid formats are rejected with an error message showing the expected format.
Language Parameter
The language parameter allows you to request Amazon pages in a specific language. This is useful when scraping international marketplaces where multiple languages are available.
Supported Languages by Country
| Country | Geocode | Supported Languages |
|---|---|---|
| United States | us | EN, ES |
| United Kingdom | gb | EN |
| Germany | de | DE, EN, CS, NL, PL, TR, DA |
| France | fr | FR, EN |
| Italy | it | IT, EN |
| Spain | es | ES, PT, EN |
| Canada | ca | EN, FR |
| Australia | au | EN |
| Japan | jp | JA, EN, ZH |
| India | in | EN, HI, TA, TE, KN, ML, BN, MR |
| Brazil | br | PT |
| Mexico | mx | ES |
| Turkey | tr | TR |
| Netherlands | nl | NL, EN |
| Singapore | sg | EN |
| UAE | ae | EN, AR |
| Saudi Arabia | sa | AR, EN |
| Poland | pl | PL |
| Sweden | se | SV, EN |
| Belgium | be | NL, FR, EN |
| Egypt | eg | EN, AR |
Language codes must be in ISO 639-1 format (uppercase). If an unsupported language is specified, the API will return an error listing valid options.
Rate Limiting
The Amazon Scraper API has a concurrency limit of 1 request per token. This means you can only make one concurrent request at a time. If you need to process multiple URLs, queue your requests or wait for each one to complete before sending the next.
Exceeding the concurrency limit will result in a 429 Too Many Requests error.
Error Handling
All endpoints return errors in a consistent format:
{
"error": "error_code",
"message": "Human readable error message"
}Common Error Codes
| Status Code | Error | Description |
|---|---|---|
400 | invalid_zipcode | ZIP code format doesn't match country requirements |
400 | language_not_supported | Requested language not available for the geocode |
400 | token is required | Missing authentication token |
429 | concurrent limit exceeded | Too many simultaneous requests |
502 | amazon session client timeout | Session expired; retry the request |

