Amazon search
One page (~48) of Amazon search results.
/v1/amazon/searchOver plain HTTP. Prices follow the local point-of-sale — a Canadian exit answers CAD — so price_text keeps the display string verbatim and currency carries the best-effort guess from its symbol. Sponsored rows come labelled in sponsored rather than dropped.
Request
https://api.scrapercompany.com/v1/amazon/searchAuthenticate with your API key in the x-api-key header (see Authentication).
Body
JSON object. Unknown fields are rejected with 422.
- qstringrequiredmin length 1, max length 300
Search query.
- pageintegerdefault
1min 1, max 20Result page.
- sortstring | null
Amazon's own sort values.
One of
date-desc-rankprice-asc-rankprice-desc-rankrelevanceblanksreview-rank - min_ratingnumber | nullmin 0, max 4.5
Amazon's customer-rating filter (0..4.5).
Example request
curl -X POST "https://api.scrapercompany.com/v1/amazon/search" \
-H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"q": "bathrobe"
}'Response
200 — One page of Amazon search results (prices in the local point-of-sale). Metered responses carry x-credits-charged and x-credits-remaining headers (see credit headers).
{
"search_parameters": {
"engine": "amazon_search",
"q": "bathrobe"
},
"products": [
{
"asin": "B084PBWBJR",
"title": "PAVILIA Premium Womens Plush Soft Robe, Fluffy Warm Fleece Sherpa Bathrobe",
"price": 42.52,
"price_text": "CAD 42.52",
"currency": "CAD",
"rating": 4.6,
"ratings_count": 13206,
"url": "https://www.amazon.com/dp/B084PBWBJR",
"image": "https://m.media-amazon.com/images/I/61VOJmplqeL._AC_UL320_.jpg",
"sponsored": false
},
{
"asin": "B07FZSP1BR",
"title": "Alexander Del Rossa Womens Robe, Long Fleece Bathrobe",
"price": 55,
"price_text": "CAD 55.00",
"currency": "CAD",
"rating": 4.7,
"ratings_count": 8941,
"url": "https://www.amazon.com/dp/B07FZSP1BR",
"sponsored": true
}
],
"total": 2,
"meta": {
"source": "amazon_search",
"wire_bytes": 110467,
"elapsed_s": 1.212
}
}Errors
Errors return a JSON body with a detail field. Failed requests are not charged. See Errors for the full list and retry advice.
| Status | Meaning | Retry? |
|---|---|---|
401Unauthorized | Missing or invalid API key. {"detail":"missing or invalid API key"} | No, fix the request |
402Payment Required | Not enough credits for this request. Only returned once credit enforcement is switched on; during the beta metering runs in shadow mode and never blocks. {"detail":"insufficient credits: this request costs 5, 0 available. Credits renew 2026-11-01."} | No, fix the request |
422Unprocessable Content | Request validation failed. {"detail":[{"loc":["body","name"],"msg":"Field required","type":"missing"}]} | No, fix the request |
429Too Many Requests | Too many requests: the key's requests-per-minute limit was exceeded, or (once credit enforcement is on) the plan's concurrent-request limit. No rate-limit or Retry-After headers are sent; back off and retry. {"detail":"rate limit 60/min exceeded"} | Yes, with backoff |
502Bad Gateway | The upstream source failed, blocked the request or returned an unusable answer. Safe to retry later; failed requests are not charged. {"detail":"RuntimeError"} | Yes, with backoff |
503Service Unavailable | Temporarily unavailable: a dependency of this endpoint is down, or the upstream source changed its contract. Retry later. {"detail":"database unavailable: OperationalError"} | Yes, with backoff |
Try it
- Export your key:
export SCRAPERCOMPANY_API_KEY=sk_...(no key yet? request access). - Copy the cURL example above and run it in a terminal.
- Or open the interactive playground on api.scrapercompany.com, paste your key and pick this endpoint.