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.
- Optional ZIP Code Geo-Targeting: Pass a
zipcodeto lock the delivery location for location-specific pricing, stock availability, and shipping information. Omit it to fall back to the standard rotator (delivery location may vary between requests). - 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 ZIP code and geocode 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, 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 |
ZIP Code Parameter
Amazon displays different prices, stock levels, and shipping options based on the delivery location. The zipcode parameter lets you specify an exact postal code to see location-specific data.
zipcode is optional on every Amazon endpoint. When provided, it must be used together with geocode and the request is routed through a ZIP-keyed cookie pool that locks the delivery location to that postal code. When omitted, the request uses only geocode; country-level cookies are still applied, but the delivery location follows the rotator's IP and may vary between requests. The structured endpoints (/pdp, /offer-listing, /search) still return parsed JSON in both cases.
Supported Countries and ZIP Code Formats
| 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 |
au | Australia | Numeric | 2000, 3000, 4000 |
jp | Japan | Numeric | 100-0001, 530-0001, 460-0008 |
in | India | Numeric | 560001, 400001, 110001 |
br | Brazil | Numeric | 01310-100, 22041-080 |
mx | Mexico | Numeric | 06600, 64000, 44100 |
tr | Turkey | Numeric | 34015, 06000, 35000 |
nl | Netherlands | Whitelist | Nederland, Belgium |
sg | Singapore | Numeric | 018956, 238823 |
ae | UAE | Whitelist | Dubai, Abu Dhabi, Sharjah |
sa | Saudi Arabia | Numeric | 11564, 21589 |
pl | Poland | Numeric | 00-001, 30-001 |
se | Sweden | Numeric | 111 57, 411 06 |
be | Belgium | Whitelist | Belgium |
eg | Egypt | Whitelist | Cairo, Alexandria, Giza |
ZIP code format is validated per country. Invalid formats will be 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 |

