GET
/products/details
1 credit
Amazon Product Details API
The full product record for a single ASIN: title, brand, price and list price, rating, availability, merchant, feature bullets, the complete image gallery and parent-variation linkage.
Try it
You are not signed in, so this runs against sample data and costs nothing.
Create a free account to run it against your own key.
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
|
asin
required |
string | — | Amazon Standard Identification Number. |
| marketplace | string | US | Two-letter marketplace code (US, UK, DE, FR, IT, ES, CA, JP, IN, AU, …). |
| zip | string | — | Delivery postcode. Without one, many listings report “cannot be shipped to your location” and come back with no price or images. Always send it for price-accurate data. |
Request
curl -sS "https://amazoncrawler.com/v1/products/details?asin=B07CMS5Q6P&marketplace=US&zip=10001" \
-H "x-api-key: YOUR_API_KEY"
import requests
API_KEY = "YOUR_API_KEY"
response = requests.get(
"https://amazoncrawler.com/v1/products/details",
params={
"asin": "B07CMS5Q6P",
"marketplace": "US",
"zip": "10001",
},
headers={"x-api-key": API_KEY},
timeout=30,
)
response.raise_for_status()
data = response.json()
print(data)
const API_KEY = "YOUR_API_KEY";
const url = new URL("https://amazoncrawler.com/v1/products/details");
const params = {
asin: "B07CMS5Q6P",
marketplace: "US",
zip: "10001",
};
Object.entries(params).forEach(([k, v]) => url.searchParams.set(k, v));
const response = await fetch(url, {
headers: { "x-api-key": API_KEY },
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
console.log(data);
<?php
$apiKey = 'YOUR_API_KEY';
$query = http_build_query([
'asin' => 'B07CMS5Q6P',
'marketplace' => 'US',
'zip' => '10001',
]);
$ch = curl_init("https://amazoncrawler.com/v1/products/details?$query");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["x-api-key: $apiKey"],
CURLOPT_TIMEOUT => 30,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
u, _ := url.Parse("https://amazoncrawler.com/v1/products/details")
q := u.Query()
q.Set("asin", "B07CMS5Q6P")
q.Set("marketplace", "US")
q.Set("zip", "10001")
u.RawQuery = q.Encode()
req, _ := http.NewRequest("GET", u.String(), nil)
req.Header.Set("x-api-key", "YOUR_API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var data map[string]any
json.NewDecoder(res.Body).Decode(&data)
fmt.Println(data)
}
Response
{
"url": "https://www.amazon.com/dp/B07CMS5Q6P",
"asin": "B07CMS5Q6P",
"brand": "Logitech G",
"price": {
"amount": 29.99,
"display": "$29.99",
"currency": "USD",
"list_price": 49.99
},
"title": "Logitech G305 Lightspeed Wireless Gaming Mouse - Black",
"images": [
{
"url": "https://m.media-amazon.com/images/I/51sg9BLSMTL.jpg",
"width": null,
"height": null,
"thumbnail": "https://m.media-amazon.com/images/I/51sg9BLSMTL._AC_SF700,700_.jpg"
}
],
"rating": 4.6,
"in_stock": true,
"merchant": "Sold by Amazon Resale and Fulfilled by Amazon.",
"variations": {
"parent_asin": "B0H5WRQK7Q"
},
"availability": "In Stock",
"product_facts": {},
"reviews_count": 39364,
"feature_bullets": [
"The next-generation optical HERO sensor delivers incredible performance and up to 10x the power efficiency over previous generations, with 400 IPS precision and up to 12,000 DPI sensitivity",
"Ultra-fast LIGHTSPEED wireless technology gives you a lag-free gaming experience with 1 ms report rate"
]
}
Errors
Beyond the shared error codes, this endpoint returns
422 when a parameter fails validation — the
detail array names the field.
{
"detail": [
{
"loc": ["query", "asin"],
"msg": "Field required",
"type": "missing",
"input": null
}
]
}