Amazon APIamazon.com.mx ↗
Access Amazon.com.mx product search, details, bestsellers, deals, and autocomplete via a structured JSON API. Prices and availability in MXN.
What is the Amazon API?
This API covers Amazon Mexico (amazon.com.mx) across 6 endpoints, returning product titles, ASINs, MXN pricing, star ratings, review counts, bullet-point features, and availability status. The get_product_details endpoint delivers the most complete per-item payload — images array, description text, and feature bullets — while get_bestsellers returns up to 30 ranked items per category and get_deals exposes active promotions with discount badges.
curl -X GET 'https://api.parse.bot/scraper/4bb06ed4-5c2c-45f1-b1db-c2537b3e4855/search_products?page=1&query=laptop' \ -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-com-mx-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 Mexico SDK — search, drill-down, bestsellers, deals."""
from parse_apis.amazon_com_mx_api import AmazonMX, CategorySlug, ProductNotFound
client = AmazonMX()
# Search products with a keyword, cap at 5 results
for product in client.productsummaries.search(query="audifonos", limit=5):
print(product.title, product.price, product.rating)
# Drill-down: take one search result and get full details
item = client.productsummaries.search(query="laptop", limit=1).first()
if item:
detail = item.details()
print(detail.title, detail.price, detail.availability)
for feature in detail.features[:2]:
print(" -", feature[:80])
# Fetch a product directly by ASIN
try:
product = client.products.get(asin="B09WNK39JN")
print(product.title, product.rating, product.reviews_count)
except ProductNotFound as exc:
print(f"Product not found: {exc}")
# Browse bestsellers in a category using the enum
for bs in client.bestselleritems.list(category_slug=CategorySlug.ELECTRONICS, limit=5):
print(bs.rank, bs.title, bs.price)
# Check current deals
for deal in client.deals.list(limit=3):
print(deal.title, deal.deal_badge, deal.price)
# Get autocomplete suggestions
suggestions = client.autocompletesuggestions.get(query="laptop")
print(suggestions.query, suggestions.suggestions[:5])
print("exercised: productsummaries.search / item.details / products.get / bestselleritems.list / deals.list / autocompletesuggestions.get")
Search for products on Amazon.com.mx by keyword. Returns a paginated list of products with their title, ASIN, price, rating, and image URL. Paginates via integer page number.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| queryrequired | string | Search keyword (e.g. 'laptop', 'audifonos') |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"query": "string, the search query",
"products": "array of product objects with asin, title, price, currency, rating, reviews_count, image_url, url"
},
"sample": {
"data": {
"page": 1,
"query": "audifonos",
"products": [
{
"url": "https://www.amazon.com.mx/dp/B0DBHRWRKC",
"asin": "B0DBHRWRKC",
"price": 199,
"title": "XIAOMI Audífonos Redmi Buds 6 Play Negro",
"rating": 4.6,
"currency": "MXN",
"image_url": "https://m.media-amazon.com/images/I/613gJ8g29aL._AC_UL320_.jpg",
"reviews_count": 22354
}
]
},
"status": "success"
}
}About the Amazon API
Product Search and Detail
The search_products endpoint accepts a query string (e.g. 'laptop' or 'audifonos') and an optional integer page for pagination. Each result in the products array includes asin, title, price, currency (always MXN), rating, reviews_count, image_url, and a direct url. To get fuller data on any item, pass its asin to get_product_details, which returns a richer payload: a multi-image images array, a features array of bullet-point strings, a description field, and an availability status string alongside the standard price and rating fields.
Deals, Bestsellers, and Suggestions
The get_deals endpoint takes no inputs and returns currently featured promotions as an array of deal objects, each carrying asin, title, price, currency, deal_type, deal_badge, and url. The get_bestsellers endpoint accepts an optional category_slug and returns up to 30 items ranked by rank, each with asin, title, price, and rating. For query-as-you-type use cases, search_suggestions accepts a partial query string and returns up to 10 autocomplete suggestion strings.
Endpoint Status and Known Limitations
The get_product_offers endpoint is currently blocked by AWS WAF protection and returns an empty offers array for most requests. All monetary values across endpoints are denominated in MXN — there is no currency conversion layer. Pagination for search_products is integer-based; the API does not expose a total page count or total result count field in the response.
The Amazon API is a managed, monitored endpoint for amazon.com.mx — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when amazon.com.mx 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.com.mx 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?+
- Track MXN price changes on specific ASINs using
get_product_detailsfor price monitoring pipelines. - Build a category-level bestseller dashboard by polling
get_bestsellerswith differentcategory_slugvalues. - Populate a deal-alert bot using
get_dealsto surface items with activedeal_badgediscounts. - Implement search-as-you-type in a shopping app by calling
search_suggestionson each keystroke. - Aggregate product feature bullets and descriptions from
get_product_detailsfor comparison tables. - Seed a product catalog with ASINs, titles, and images from
search_productsquery results. - Monitor availability status strings via
get_product_detailsto detect out-of-stock events.
| 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 Mexico have an official public developer API?+
What does `get_product_details` return beyond what `search_products` provides?+
get_product_details endpoint adds several fields not present in search results: a features array of bullet-point strings, a description text block, a multi-item images array of high-resolution URLs, and an availability status string. The search endpoint returns only one image_url per product.Does the API return seller ratings, shipping options, or third-party offer prices?+
get_product_offers endpoint is designed for seller offer data but is blocked by WAF protection and returns an empty array. The other endpoints cover product-level pricing (MXN), ratings, and availability only. You can fork this API on Parse and revise it to add an offers or seller-detail endpoint once WAF handling is in place.Does `get_bestsellers` cover all Amazon Mexico categories?+
category_slug string but does not publish an enumerated list of valid slugs. Passing an unrecognized slug may return an empty or default result. The response includes a category field confirming which slug was used. You can fork the API on Parse and revise it to add a dedicated category-listing endpoint.Does `search_products` expose a total result count or total page count?+
page (current page number) and the products array, but does not return a total results count or maximum page number. Pagination is controlled by incrementing the page integer until an empty products array is returned.