Product
Get one Amazon product by ASIN: price, variants, images, specifications, delivery and the competing-offer summary.
GET | POST /v1/amazon/productSend parameters as a query string with GET, or as a JSON body with POST. Both are equivalent.
Request
curl "https://gateway.apinoa.com/v1/amazon/product?id=B07F3FFTMK" \
-H "x-api-key: $APINOA_API_KEY"Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
id | string | yes | The marketplace's own product id, as carried by a search item. |
include | string | offers · offers:5 · offers:all — the enumerated competing-seller offers, which are fetched separately and so opt-in. Depth counts pages of offers (10 offers each) and each page is charged; all walks to the end, capped at 30 pages. | |
region | enum | Which Amazon marketplace to query, by buyer country: US, CA, MX, BR, FR, IT, ES, NL, SE, TR, AE, SA, IN, JP, SG, AU. Defaults to US. Prices come back in that marketplace's own currency (JP in JPY, FR in EUR). US CA MX BR FR IT ES NL SE TR AE SA IN JP SG AU |
The same parameters, and every response type, are in the OpenAPI document.
Response
Returns Product in data. A real response, shortened: arrays keep their first entries and long text is cut.
{
"success": true,
"data": {
"marketplace": "amazon",
"id": "B07F3FFTMK",
"url": "https://www.amazon.com/dp/B07F3FFTMK",
"title": "Mens Merino Wool Crew Socks Thermal and Warm Sock…",
"groupId": "B0BGFR76CF",
"deliveryTo": {
"label": "Edison 08817",
"country": "US",
"postalCode": "08817"
},
"features": [
"MAKE HIKING A COMFORTABLE EXPERIENCE These Merino…"
],
"brand": "Alvada",
"status": "In Stock",
"inStock": true,
"unitPrice": {
"price": {
"currency": "USD",
"amount": 4.5
},
"unit": "count"
},
"reviewAspects": [
{
"name": "quality",
"mentions": 4534,
"positive": 3976,
"negative": 558
}
],
"boxContents": [],
"returnsPolicy": "FREE 30-day refund/replacement",
"brandUrl": "https://www.amazon.com/stores/Alvada/page/C127B0C…",
"promotions": [],
"fulfilledBy": "Amazon",
"delivery": {
"estimate": "FREE delivery Thursday, October 29 on orders ship…",
"free": true,
"minimumOrder": {
"currency": "USD",
"amount": 35
},
"condition": "on orders shipped by Amazon over $35",
"minDays": 5,
"maxDays": 5
},
"shippingOptions": [
{
"estimate": "FREE delivery Thursday, October 29 on orders ship…",
"free": true,
"minimumOrder": {
"currency": "USD",
"amount": 35
},
"condition": "on orders shipped by Amazon over $35",
"minDays": 5,
"maxDays": 5
}
],
"badges": [
"Amazon's Choice"
],
"salesLabel": "10K+ bought in past month",
"salesCount": 10000,
"media": {
"images": [
"https://m.media-amazon.com/images/I/91aOC3G1W6L._…"
],
"videos": [
{
"url": "https://m.media-amazon.com/images/S/vse-vms-trans…",
"thumbnailUrl": "https://m.media-amazon.com/images/I/A16M+pgi4GL.S…",
"title": "Alvada wool socks: exceptional warmth and quality…",
"duration": "00:14"
}
]
},
"price": {
"currency": "USD",
"amount": 13.49
},
"listPrice": {
"currency": "USD",
"amount": 14.99
},
"rating": {
"average": 4.5,
"count": 37581,
"grouped": true,
"distribution": {
"1": 4,
"2": 2,
"3": 5,
"4": 11,
"5": 78
}
},
"category": [
{
"id": "7141123011",
"name": "Clothing, Shoes & Jewelry"
}
],
"seller": {
"name": "Alvada",
"id": "A12H3CME8AOYX8",
"url": "https://www.amazon.com/gp/help/seller/at-a-glance…"
},
"attributes": [
{
"name": "Fabric type",
"value": "80% Merino Wool, 15% Polyester, 4% Nylon, 1% Span…"
}
],
"options": [
{
"id": "size_name",
"name": "Size",
"values": [
{
"id": "size_name:Small-Medium",
"name": "Small-Medium"
}
]
}
],
"variants": [
{
"id": "B0GKGJZ323",
"productId": "B0GKGJZ323",
"selections": [
{
"optionId": "size_name",
"valueId": "size_name:Medium-Large",
"optionName": "Size",
"valueName": "Medium-Large"
}
]
}
],
"offers": [
{
"price": {
"currency": "USD",
"amount": 13.49
},
"listPrice": {
"currency": "USD",
"amount": 14.99
},
"seller": {
"name": "Alvada",
"id": "A12H3CME8AOYX8",
"url": "https://www.amazon.com/gp/help/seller/at-a-glance…"
},
"fulfilledBy": "Amazon",
"status": "In Stock",
"inStock": true,
"delivery": {
"estimate": "FREE delivery Thursday, October 29 on orders ship…",
"free": true,
"minimumOrder": {
"currency": "USD",
"amount": 35
},
"condition": "on orders shipped by Amazon over $35",
"minDays": 5,
"maxDays": 5
}
}
],
"reviews": [],
"identifiers": {
"gtin": "753610373339",
"mpn": "43528-95629",
"model": "Merino Wool Socks"
},
"reviewSummary": "Customers find these wool socks to be of good qua…",
"listedAt": "2022-08-10"
}
}Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | INVALID_PARAMS | A parameter is missing, unknown or out of range. The message names it. |
| 401 | UNAUTHORIZED | The x-api-key header is missing, or the key is revoked or unknown. |
| 402 | INSUFFICIENT_BALANCE | The balance does not cover this call. Top up in the dashboard. |
| 404 | PRODUCT_NOT_FOUND | The marketplace has no such product. |
| 429 | MARKETPLACE_SATURATED | Too many concurrent calls. Retry after the Retry-After seconds. |
| 502 | UPSTREAM_ERROR | The platform answered with something unusable. Retry with backoff. |
Every code is listed in Errors. Failed calls are not billed.
Pricing
Price $0.002 per call, plus $0.001 for each extra call it makes — at most 30 more, so $0.032 in total. Only include=offers adds them: one unit per page of ten offers, up to 30 pages. List price; the rate steps down above 1,000 calls a day.
Notes
- A search item's
idis the ASIN, so search chains straight into product. Pass the sameregionyou searched with: an ASIN is looked up on that marketplace, in its currency. include=offerslists competing sellers. The product always carries a roll-up (offersSummary, e.g. "New & Used (305) from $2.07"). The full list is opt-in and billed per page of ten offers, up to 30 pages:
include | Price |
|---|---|
| omitted | $0.002 |
offers | $0.003 |
offers:5 | up to $0.007 |
offers:all | up to $0.032 (30 pages) |
A deeper request is clamped, not refused. The response's ext.included says which expansions were actually fetched.