Skip to main content

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)
marketplacestringYesAmazon marketplace (e.g., amazon.de, amazon.com)

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)

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.