Skip to main content
GET
/
api
/
v1
/
reviews
Get cached reviews for an ASIN
curl --request GET \
  --url https://app.descripio.com/api/v1/reviews \
  --header 'Authorization: Bearer <token>'
{
  "asin": "B08N5WRWNW",
  "reviewCount": 156,
  "reviews": [
    {
      "id": 12345,
      "amazonReviewId": "R1ABC123DEF",
      "title": "Great product!",
      "content": "I've been using this for a month and it's exactly what I needed.",
      "date": "2026-01-15T00:00:00.000Z",
      "isTopReview": true,
      "country": "DE",
      "scrapedAt": "2026-02-02T10:31:00.000Z"
    }
  ],
  "cached": true,
  "title": "Example Product Title",
  "imageUrl": "https://m.media-amazon.com/images/I/example.jpg",
  "marketplace": "amazon.de",
  "lastScraped": "2026-02-02T10:31:00.000Z"
}

GET /api/v1/reviews

Fetch cached review data for an Amazon product.
Free & Unlimited: This endpoint doesn’t count toward your quota. Only refresh jobs are metered.

Request

Headers:
HeaderValueRequired
AuthorizationBearer YOUR_API_KEYYes
Query Parameters:
ParameterTypeRequiredDescription
asinstringYesAmazon ASIN to fetch reviews

Response (200 OK)

{
  "asin": "B08N5WRWNW",
  "title": "Example Product Title",
  "imageUrl": "https://m.media-amazon.com/images/I/...",
  "marketplace": "amazon.de",
  "reviewCount": 156,
  "reviews": [
    {
      "id": 12345,
      "amazonReviewId": "R1ABC123DEF",
      "title": "Great product!",
      "content": "I've been using this for a month and it's exactly what I needed...",
      "date": "2026-01-15T00:00:00.000Z",
      "isTopReview": true,
      "country": "DE",
      "scrapedAt": "2026-02-02T10:31:00.000Z"
    }
  ],
  "lastScraped": "2026-02-02T10:31:00.000Z",
  "cached": true
}
FieldTypeDescription
asinstringAmazon ASIN
titlestringProduct title
imageUrlstringProduct image URL
marketplacestringAmazon marketplace
reviewCountnumberTotal number of cached reviews
reviewsarrayArray of review objects
lastScrapedstringISO 8601 timestamp of last refresh
cachedbooleanWhether data is from cache

Review Object

FieldTypeDescription
idnumberInternal review ID
amazonReviewIdstringAmazon’s review ID
titlestringReview headline
contentstringFull review text
datestringReview date (ISO 8601)
isTopReviewbooleanWhether this is a “Top Review”
countrystringReviewer’s country code
scrapedAtstringWhen review was scraped

Response (404 Not Found)

When no cached data exists for an ASIN:
{
  "asin": "B08N5WRWNW",
  "reviews": [],
  "cached": false,
  "message": "No cached data. Create a refresh job first."
}

Errors

StatusErrorCause
400Missing asinasin query parameter not provided
401Invalid API keyKey doesn’t exist or was revoked
404No cached dataASIN hasn’t been refreshed yet
500Internal server errorTemporary backend/service issue

Examples

cURL:
curl "https://app.descripio.com/api/v1/reviews?asin=B08N5WRWNW" \
  -H "Authorization: Bearer dscr_abc123..."
Python:
import requests

response = requests.get(
    "https://app.descripio.com/api/v1/reviews",
    params={"asin": "B08N5WRWNW"},
    headers={"Authorization": "Bearer dscr_abc123..."}
)

data = response.json()

if data.get("cached"):
    print(f"Found {data['reviewCount']} reviews")
    for review in data["reviews"][:5]:
        print(f"- {review['title']}")
else:
    print("No cached data. Run a refresh job first.")
JavaScript:
const response = await fetch(
  'https://app.descripio.com/api/v1/reviews?asin=B08N5WRWNW',
  {
    headers: { 'Authorization': 'Bearer dscr_abc123...' }
  }
);

const data = await response.json();

if (data.cached) {
  console.log(`Found ${data.reviewCount} reviews`);
  data.reviews.slice(0, 5).forEach(r => console.log(`- ${r.title}`));
} else {
  console.log('No cached data. Run a refresh job first.');
}

Notes

  • Caching: Data persists until the next refresh job for that ASIN
  • Full Review Text: Get up to 200 reviews per ASIN (10 pages recent + 10 pages helpful).
  • Free: This endpoint is free and unlimited - only refresh jobs count toward quota

Authorizations

Authorization
string
header
required

API key passed in Authorization header as Bearer token.

Query Parameters

asin
string
required
Pattern: ^[A-Z0-9]{10}$

Response

Cached reviews found

asin
string
required
Example:

"B08N5WRWNW"

reviewCount
integer
required
Example:

156

reviews
object[]
required
cached
enum<boolean>
required
Available options:
true
Example:

true

title
string | null
Example:

"Example Product Title"

imageUrl
string | null
Example:

"https://m.media-amazon.com/images/I/example.jpg"

marketplace
string
Example:

"amazon.de"

lastScraped
string<date-time> | null
Example:

"2026-02-02T10:31:00.000Z"