Browsable Browsable Docs

Amazon Reviews

Endpoint reference for /v1/amazon/product/reviews.

POST /v1/amazon/product/reviews

Authentication

Requires a managed amazon.com login on kernel. Browsable automatically uses a saved login when one is available.

If your team does not already have a usable login, the API returns 428 Authentication required with a hosted_url. Open that URL, finish sign-in, then retry the same request.

Request Parameters

Name In Type Required Description
asin body string No Amazon product ASIN (10-character alphanumeric code)
domain body string No Amazon domain (e.g., amazon.com, amazon.co.uk)
maxReviews body integer No Maximum number of reviews to scrape (omit for all reviews)
url body string No Amazon product URL (alternative to ASIN)

Response Structure

Async kickoff response

Polled run result response

Sync response

Authentication required response

Declared output schema

Code Examples

Async + polling

RUN=$(curl -s -X POST "https://api.browsable.app/v1/amazon/product/reviews" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"asin":"sample","domain":"amazon.com","maxReviews":1,"url":"https://www.amazon.com/dp/B004XAKAYE"}')
RUN_ID=$(echo "$RUN" | jq -r '.run_id')
while true; do
RESULT=$(curl -s -H "Authorization: Bearer YOUR_API_KEY" "https://api.browsable.app/v1/runs/$RUN_ID")
STATUS=$(echo "$RESULT" | jq -r '.run_status')
if [ "$STATUS" = "succeeded" ] || [ "$STATUS" = "failed" ]; then
echo "$RESULT"
break
fi
sleep 2
done

Sync

curl -X POST "https://api.browsable.app/v1/amazon/product/reviews" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"asin":"sample","domain":"amazon.com","maxReviews":1,"url":"https://www.amazon.com/dp/B004XAKAYE","_run":{"async":false}}'