Skip to main content
POST
/
api
/
v1
/
reviews
/
refresh
Start a review refresh job
curl --request POST \
  --url https://app.descripio.com/api/v1/reviews/refresh \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "asin": "B08N5WRWNW",
  "marketplace": "amazon.de"
}
'
{
  "jobId": 2877,
  "asin": "B08N5WRWNW",
  "status": "queued",
  "message": "Review refresh job created successfully",
  "estimatedCompletionSeconds": 60
}

POST /api/v1/reviews/refresh

Trigger a review scraping job for an Amazon product.

Request

Headers:
HeaderValueRequired
AuthorizationBearer YOUR_API_KEYYes
Content-Typeapplication/jsonYes
Body:
{
  "asin": "B08N5WRWNW",
  "marketplace": "amazon.de"
}
FieldTypeRequiredDescription
asinstringYesAmazon ASIN (10 alphanumeric characters)
marketplacestringNoAmazon marketplace (defaults to amazon.de if omitted)

Response (202 Accepted)

{
  "jobId": 2877,
  "asin": "B08N5WRWNW",
  "status": "queued",
  "message": "Review refresh job created successfully",
  "estimatedCompletionSeconds": 60
}
FieldTypeDescription
jobIdnumberUnique job ID (use to poll status)
asinstringThe ASIN being processed
statusstringAlways queued for new jobs
messagestringHuman-readable confirmation
estimatedCompletionSecondsnumberTypical completion time (~60 seconds)

Errors

StatusErrorCauseSolution
400Invalid ASIN formatASIN not 10 alphanumeric charactersVerify ASIN format
401Invalid API keyKey doesn’t exist or was revokedCheck your API key
402Monthly quota exceededUsed all refresh jobs for the monthWait for reset or upgrade plan
403Marketplace not authorizedStore doesn’t have marketplace accessAdd marketplace in dashboard
429Rate limit exceededToo many requests per minuteWait 60 seconds
429Too many concurrent jobsConcurrent job limit reachedWait for a job to complete
429ASIN cooldown activeASIN was refreshed recentlyWait for cooldown (24h for Free)
500service_errorTemporary backend/service issueRetry after a short delay

Examples

cURL:
curl -X POST https://app.descripio.com/api/v1/reviews/refresh \
  -H "Authorization: Bearer dscr_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "asin": "B08N5WRWNW",
    "marketplace": "amazon.de"
  }'
Python:
import requests

response = requests.post(
    "https://app.descripio.com/api/v1/reviews/refresh",
    headers={"Authorization": "Bearer dscr_abc123..."},
    json={
        "asin": "B08N5WRWNW",
        "marketplace": "amazon.de"
    }
)

if response.status_code == 202:
    job = response.json()
    print(f"Job ID: {job['jobId']}")
else:
    print(f"Error: {response.json()}")
JavaScript:
const response = await fetch(
  'https://app.descripio.com/api/v1/reviews/refresh',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer dscr_abc123...',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      asin: 'B08N5WRWNW',
      marketplace: 'amazon.de'
    })
  }
);

const job = await response.json();
console.log(`Job ID: ${job.jobId}`);

Notes

  • Cooldown: Each ASIN can only be refreshed once per 24 hours (Free tier). Paid plans have shorter cooldowns.
  • Caching: Results are cached after job completion. Use GET /reviews to fetch without triggering a new job.
  • Concurrent jobs: The number of jobs you can run simultaneously depends on your plan.

Authorizations

Authorization
string
header
required

API key passed in Authorization header as Bearer token.

Body

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

"B08N5WRWNW"

marketplace
string

Optional. Defaults to amazon.de if omitted.

Example:

"amazon.de"

Response

Job queued

jobId
integer
required
Example:

2877

asin
string
required
Example:

"B08N5WRWNW"

status
enum<string>
required
Available options:
queued
Example:

"queued"

message
string
required
Example:

"Review refresh job created successfully"

estimatedCompletionSeconds
integer
required
Example:

60