Amazon APIamazon.es ↗
Search Amazon.es products, fetch ASIN details, get autocomplete suggestions, and browse Best Sellers. Filters for price, brand, rating, and category.
What is the Amazon API?
The Amazon.es API covers 4 endpoints for querying the Spanish Amazon marketplace: keyword search with filtering, full product detail lookup by ASIN, autocomplete suggestions, and Best Sellers browsing. The search_products endpoint returns paginated results including ASIN, title, EUR price, star rating, and product URL, and accepts filters for price range, brand, minimum rating, category, and delivery speed.
curl -X GET 'https://api.parse.bot/scraper/b5d1b465-9cf8-49d0-8270-f40ac9e6ad29/search_products?page=1&sort=featured&brand=Samsung&query=laptop&category=computers&max_price=500&min_price=10&min_rating=4&fast_delivery=false' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace amazon-es-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Amazon.es product search, suggestions, and details — bounded, re-runnable."""
from parse_apis.amazon_es_product_and_search_api import AmazonEs, Sort, ProductNotFound
client = AmazonEs()
# Autocomplete suggestions for a prefix — single-page, capped.
for suggestion in client.suggestions.list(query="port", limit=5):
print(suggestion.value, suggestion.type)
# Search products with sort and filters — paginated, capped.
result = client.products.search(query="laptop", sort=Sort.REVIEW, limit=3).first()
if result:
print(result.title, result.price, result.rating)
# Drill into the summary to get full product details.
product = result.details()
print(product.brand, product.rating, product.images)
# Best sellers — single page of ranked ASINs.
for seller in client.products.best_sellers(limit=5):
print(seller.rank, seller.asin)
# Typed error handling: attempt to fetch a non-existent ASIN.
try:
client.products.get(asin="B000000000")
except ProductNotFound as exc:
print(f"Product not found: {exc.asin}")
print("exercised: suggestions.list / products.search / details / products.best_sellers / products.get")
Full-text search over Amazon.es product listings. Returns paginated results with product title, price, rating, and ASIN. Supports filtering by price range, brand, minimum star rating, category, and delivery speed. Paginates via integer page number; each page contains up to ~50 results. An empty items array on a valid query means no products matched the filters.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-based) |
| sort | string | Sort order for results |
| brand | string | Filter results to a specific brand name |
| queryrequired | string | Search keyword or phrase |
| category | string | Department or category alias to narrow search scope (e.g. 'electronics', 'computers') |
| max_price | number | Maximum price in EUR |
| min_price | number | Minimum price in EUR |
| min_rating | integer | Minimum average star rating (1-5) |
| fast_delivery | boolean | When true, filters for Prime-eligible / 1-day delivery products |
{
"type": "object",
"fields": {
"page": "integer echoing the page number",
"items": "array of product objects with asin, title, price, rating, and url",
"query": "string echoing the search query",
"total": "integer count of products returned on this page"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"url": "https://www.amazon.es/dp/B0GFF6FBJW",
"asin": "B0GFF6FBJW",
"price": 453.72,
"title": "ASUS Vivobook 15 F1504VA-BQ360 - Ordenador Portátil 15.6\" Full HD (Intel Core 7 150U, 16GB RAM, 512GB SSD)",
"rating": 3
},
{
"url": "https://www.amazon.es/dp/B0GN48XQ33",
"asin": "B0GN48XQ33",
"price": 578.5,
"title": "ASUS Vivobook 15 M1502NAQ-BQ045W",
"rating": null
}
],
"query": "laptop",
"total": 53
},
"status": "success"
}
}About the Amazon API
Search and Filtering
The search_products endpoint accepts a query string and optional filters — min_price and max_price in EUR, brand, min_rating (1–5), and a category department alias such as electronics or computers. Results are paginated via an integer page parameter, with each page returning up to ~50 items. Each item in the items array includes asin, title, price, rating, and url. The total field reflects the count of items on the current page, not the total across all pages.
Product Details
get_product_details takes a 10-character asin and returns a detailed record: title, brand, price, rating, an images array of URLs, a features array of bullet-point strings, a description string, a specifications table, and optionally ingredients and upc/EAN. Fields like description, ingredients, and upc may be null depending on the product category — physical grocery items are more likely to carry ingredients than electronics.
Autocomplete and Best Sellers
get_search_suggestions accepts a partial query prefix and returns up to 10 suggestion objects, each with a value (the suggestion text) and a type field (typically KEYWORD). This is useful for building type-ahead search interfaces against the Amazon.es catalog. get_best_sellers returns a ranked list of up to 50 items, each with an integer rank and an asin. An optional category_node parameter (e.g. toys, electronics) narrows the list to a specific department.
Coverage Notes
All prices are denominated in EUR, reflecting the Amazon.es marketplace. Product availability, seller information, and review text are not included in the current response shapes. The API covers the Spanish locale; listings exclusive to other Amazon regional marketplaces (Amazon.de, Amazon.fr, etc.) are out of scope.
The Amazon API is a managed, monitored endpoint for amazon.es — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when amazon.es changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official amazon.es API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Price monitoring: track EUR price changes for specific ASINs over time using
get_product_details - Catalog enrichment: bulk-fetch
features,images, andbrandfor a set of ASINs to populate an internal product database - Best-seller tracking: poll
get_best_sellersby category to monitor rank shifts in Spanish Amazon categories - Type-ahead search UI: use
get_search_suggestionsto power autocomplete in a shopping or research tool - Competitive analysis: query
search_productswith a competitor brand name andmin_ratingfilter to survey their listings - Price-range discovery: use
min_price/max_pricefilters insearch_productsto identify products in specific EUR price tiers - Gift or deal finder: combine
category,max_price, andsortparameters insearch_productsto surface affordable top-rated items
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Amazon.es have an official developer API?+
What does `get_best_sellers` return — full product details or just identifiers?+
rank (integer, 1-based) and asin (string). It does not include titles, prices, or ratings. To get those fields, pass the returned ASINs to get_product_details individually.Does `search_products` return the total number of search results across all pages?+
total field reflects the count of items on the current page, not the global result count. To iterate through results, increment the page parameter until fewer than the expected number of items are returned.