Skip to content
Amazon

Amazon reviews

A product's ratings histogram and featured reviews.

POST/v1/amazon/reviews
2 credits

The /product-reviews list requires sign-in (measured: redirected to sign-in over plain HTTP and in a fresh browser), so the answer is the product page's own reviews widget, rendered in a real browser: the 5→1 histogram, the global ratings count, and the featured reviews (title, rating, date, author, body, "Verified Purchase", helpful votes).

Request

POSThttps://api.scrapercompany.com/v1/amazon/reviews

Authenticate with your API key in the x-api-key header (see Authentication).

Body

JSON object. Unknown fields are rejected with 422.

  • asinstringrequiredmin length 10, max length 10, pattern ^[A-Z0-9]+$

    Product ASIN.

Example request

curl -X POST "https://api.scrapercompany.com/v1/amazon/reviews" \
  -H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "asin": "B084PBWBJR"
  }'

Response

200 — A product's ratings histogram and featured reviews. Metered responses carry x-credits-charged and x-credits-remaining headers (see credit headers).

200 response
{
  "search_parameters": {
    "engine": "amazon_reviews",
    "asin": "B084PBWBJR"
  },
  "total_ratings": 13206,
  "histogram": {
    "1": 3,
    "2": 2,
    "3": 6,
    "4": 11,
    "5": 78
  },
  "reviews": [
    {
      "source": "amazon",
      "rating": 5,
      "title": "Soft and comfy!!",
      "text": "Thick, soft, cozy, comfy, warm, good length, good quality, absorbent. Would purchase again.",
      "date": "2028-11-12",
      "author": "Ms. G.",
      "helpful_votes": 3,
      "labels": [
        "Verified Purchase"
      ]
    }
  ],
  "meta": {
    "source": "amazon",
    "wire_bytes": 54488,
    "elapsed_s": 8.9
  }
}

Errors

Errors return a JSON body with a detail field. Failed requests are not charged. See Errors for the full list and retry advice.

StatusMeaningRetry?
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 is a list of problems for schema errors, or a string for semantic checks performed by the endpoint.

{"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

  1. Export your key: export SCRAPERCOMPANY_API_KEY=sk_... (no key yet? request access).
  2. Copy the cURL example above and run it in a terminal.
  3. Or open the interactive playground on api.scrapercompany.com, paste your key and pick this endpoint.

Credits

2 credits per successful call. Failed, blocked and empty results are free. Credit metering is in beta and does not block requests yet.