Amazon APIamazon.co.uk ↗
Search Amazon.co.uk products, fetch ASIN details, get best sellers by category, and retrieve autocomplete suggestions via 4 structured endpoints.
What is the Amazon API?
The Amazon.co.uk API provides 4 endpoints for querying the UK Amazon catalog: search products by keyword, retrieve full product details by ASIN, list best sellers by category, and fetch autocomplete suggestions. The get_product_details endpoint returns 10 fields per product including feature bullets, high-resolution images, availability status, and star rating — covering the core data points developers typically need for price tracking, catalog enrichment, or competitive research.
curl -X GET 'https://api.parse.bot/scraper/030c9703-8c63-4893-a80c-3f0e0fbf3b71/search_products?page=1&query=wireless+headphones&sort_by=price-desc-rank&category=aps' \ -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-co-uk-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 UK Product API — search, inspect, and discover bestsellers."""
from parse_apis.amazon_uk_product_api import AmazonUK, Sort, ProductNotFound
client = AmazonUK()
# Search for products sorted by price, capped at 5 results total.
for product in client.productsummaries.search(query="usb c cable", sort_by=Sort.PRICE_ASC, limit=5):
print(product.title, product.price, product.is_prime)
# Drill into the first search result for full specifications.
summary = client.productsummaries.search(query="wireless mouse", limit=1).first()
if summary:
detail = summary.details()
print(detail.title, detail.price, detail.availability)
for bullet in detail.bullets[:3]:
print(" -", bullet[:80])
# Fetch a product directly by ASIN with typed error handling.
try:
headphones = client.products.get(asin="B0BTJD6LCL")
print(headphones.title, headphones.rating, headphones.review_count)
except ProductNotFound as exc:
print(f"ASIN not found: {exc.asin}")
# Discover bestsellers in electronics.
for item in client.bestsellers.list(category="electronics", limit=5):
print(item.rank, item.title, item.price)
# Get autocomplete suggestions for a prefix.
for suggestion in client.suggestions.list(query="iphone", limit=5):
print(suggestion.value, suggestion.type)
print("exercised: productsummaries.search / summary.details / products.get / bestsellers.list / suggestions.list")
Full-text search over Amazon.co.uk product catalog. Returns a paginated list of product cards with ASIN, title, price, rating, and Prime eligibility. Prices may display in USD when the site detects international traffic. Pagination via integer page counter. Each product card is lightweight; use get_product_details for full specifications.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number to fetch |
| queryrequired | string | Search keyword or phrase |
| sort_by | string | Sort criteria for results ordering |
| category | string | Amazon search alias for category filtering (e.g. 'aps' for all departments, 'electronics', 'books') |
{
"type": "object",
"fields": {
"products": "array of product objects with asin, title, url, image_url, price, rating, reviews_count, is_prime",
"total_results": "integer total number of results found"
},
"sample": {
"data": {
"products": [
{
"url": "https://www.amazon.co.uk/dp/B0BTJD6LCL",
"asin": "B0BTJD6LCL",
"price": "£24.99",
"title": "Sony WH-CH520 Wireless Bluetooth On-Ear Headphones",
"rating": "4.6",
"is_prime": false,
"image_url": "https://m.media-amazon.com/images/I/61rFE093esL._AC_UY218_.jpg",
"reviews_count": null
}
],
"total_results": 16
},
"status": "success"
}
}About the Amazon API
Search and Product Detail
The search_products endpoint accepts a required query string and optional category, page, and sort_by parameters. It returns a paginated list of product cards, each with asin, title, url, image_url, price, rating, reviews_count, and is_prime flag. The category parameter uses Amazon's search alias format — for example, aps for all departments, electronics, or books. One known quirk: prices may display in USD rather than GBP when Amazon's servers detect international traffic.
Product Details by ASIN
The get_product_details endpoint takes a single 10-character alphanumeric asin and returns a detailed product record. Response fields include brand, bullets (feature bullet points as an array of strings), images (array of high-resolution URLs), availability (stock status string), and review_count. This endpoint is suited for catalog enrichment workflows where you already have ASINs from search results or an external source.
Best Sellers and Autocomplete
The get_best_sellers endpoint fetches up to 30 ranked products for a given category slug such as electronics, books, or toys. Each record includes a rank integer, asin, title, price, rating, and image_url. The get_search_suggestions endpoint accepts a query prefix and returns an array of suggestion objects, each with a value (the suggestion text) and type field, mirroring the dropdown a user sees in the Amazon search bar. The alias field in the response indicates which department scope was applied.
The Amazon API is a managed, monitored endpoint for amazon.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when amazon.co.uk 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.co.uk 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 price changes for specific ASINs using
get_product_detailson a scheduled basis - Identify trending products by polling
get_best_sellersacross multiple category slugs - Build a product comparison tool using
search_productsresults filtered by category - Enrich an internal product catalog with brand, bullets, and images via ASIN lookup
- Discover high-volume search terms for SEO or PPC research using
get_search_suggestions - Monitor Prime eligibility shifts across a set of tracked ASINs
- Seed an affiliate product feed by pulling best sellers with rank and image URL
| 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.co.uk have an official developer API?+
What does `get_product_details` return beyond basic price and title?+
bullets (an array of feature bullet points as they appear on the product page), images (an array of high-resolution image URLs), availability (a string describing stock status), brand, and review_count. Rating is returned as a formatted string like '4.6' rather than a numeric type.Does the API return customer reviews or Q&A content?+
How does pagination work in `search_products`, and are there known limitations?+
page parameter. There is no cursor or token — you increment the page counter to advance. One known limitation: prices may appear in USD instead of GBP when Amazon routes the request through international infrastructure, so price values should be treated as approximate for currency-sensitive use cases.Does `get_best_sellers` cover all Amazon.co.uk departments?+
category slug such as electronics, books, or toys and returns up to 30 ranked products per call. It does not expose sub-category granularity (e.g. specific sub-genres within Books). You can fork the API on Parse and revise the category parameter handling to target more specific department nodes.