---
title: "Full product detail for a single ASIN"
method: GET
path: "/v2/product-details"
tags: ["Amazon Data"]
---

# Full product detail for a single ASIN

`GET /v2/product-details`

## Request

- Base URL: `https://dash.apiguru.app/api/v1`
- URL: `https://dash.apiguru.app/api/v1/v2/product-details`
- Auth: one of:
  - API key in header `X-API-KEY`
  - API key in query parameter `api_key`
  - none

Use for one product's current listing. Not for several ASINs (product_details_batch), seller offers or stock (offers_stock), or review text (product_reviews). Fetches the complete product record for one ASIN on one marketplace: title, price, star rating, rating count, images, description, feature bullets, variations and category.

**Price:** $0.003 per call

**Notes:** 404 means the ASIN is absent from that marketplace and IS billed. 503 is a temporary failure on our side and is NOT billed - retry. Bullet points and specs are what Amazon shows for the listing; on multi-variant listings they can describe the product family rather than the exact variant. A null field means Amazon did not show it. Keys of `product_information`, `tech_specs` and the other specification tables are trimmed: Amazon prints some rows twice, once with a trailing space ("Package Dimensions "), and the copies are merged under the clean name; when they differ the listing's own value wins (the second copy of "ASIN" on a variant often names the parent).

## Query parameters

- `asin` string, required
- `geo` 'US' | 'CA' | 'DE' | 'MX' | 'UK' | 'FR' | 'IT' | 'ES' | 'AU' | 'BR' | 'IN' | 'JP' | 'NL' | 'AE' | 'PL' | 'SA' | 'SG' | 'SE' | 'TR' | 'BE' | 'IE' | 'ZA' | 'EG'

## Response `200`

Success.

- object

## Other responses

- `400`: Bad input (bad ASIN format, unknown geo, missing required param), or a page past the last one Amazon serves for a list (`code: page_out_of_range`, with `reachable_pages`). On agent.apiguru.app an `api_key` in the URL is refused the same way (`code: api_key_in_query`): send it as the X-API-KEY header. NOT billed.
- `401`: Missing or invalid API key on the keyed path.
- `402`: Payment required. On the agent path this carries a PAYMENT-REQUIRED challenge (over MCP: an x402 PaymentRequired tool result, payable in-band via _meta["x402/payment"]). On the keyed path it means the account balance is exhausted.
- `403`: Account disabled, or no active subscription plan.
- `404`: The ASIN genuinely does not exist on that marketplace. BILLED - the lookup was performed and the bad input was the caller's. Retrying will not help; try a different geo.
- `413`: Too many items in a batch request.
- `429`: Per-second rate limit exceeded for the plan (`code: rate_limited`, `Retry-After: 1`). NOT billed. Back off and retry.
- `500`: Internal error. NOT billed.
- `502`: Bad gateway. NOT billed. Same class as 503: retry with backoff.
- `503`: Temporary failure on our side (`code: upstream_unavailable`). NOT billed. Safe and correct to retry.
- `504`: Gateway timeout: no answer within 55 s, so agent.apiguru.app stopped the request before it was billed (`code: deadline_exceeded`). NOT billed. Retry once; a batch with fewer items answers sooner.
- `timeout`: No response before your own client's deadline. A keyless call without a payment is never billed. On an API key, or with an x402 payment attached, the request may still complete after your client gave up, and is then billed like any answered call. Some marketplaces answer more slowly than others; allow 60s rather than retrying early (agent.apiguru.app answers a 504 itself at 55 s).

---

[API](https://skmtc.dev/apiguru/apis/apiguru-amazon-data-api.md) · [All operations](https://skmtc.dev/apiguru/apis/apiguru-amazon-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/apiguru/apis/apiguru-amazon-data-api/revisions/121618530d03?raw)
