Look up up to 100 products in one request

Last updated · Changelog · OpenAPI spec · Markdown

Look up multiple products at once. For small batches (up to 20 identifiers), results are returned immediately. For larger batches (21-100), processing happens asynchronously — you receive a batch ID and poll for results.

Endpoint: POST /v1/products/batch

Credit Cost: Same as individual lookups (1 credit per product found, + 3 per product that has offers if including offers, + 1 per product that has a review if including reviews)

Request Body:

FieldTypeRequiredDescription
identifiersstring[]YesArray of product identifiers (1-100). Supports barcodes, ASINs, URLs, model numbers.
includestring[]NoAdditional data to fetch: "offers" and/or "reviews"

Example Request (Synchronous, <=20 identifiers):

curl -X POST 'https://api.shopsavvy.com/v1/products/batch' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "identifiers": ["B09XS7JWHH", "B0CHX3TW6K", "027242923782"],
    "include": ["offers"]
  }'

Synchronous Response (<=20 identifiers):

{
  "success": true,
  "results": [
    { "identifier": "B09XS7JWHH", "status": "found", "product": { "title": "Sony WH-1000XM5", ... }, "offers": [...] },
    { "identifier": "B0CHX3TW6K", "status": "found", "product": { "title": "iPhone 15 Pro", ... }, "offers": [...] },
    { "identifier": "INVALID123", "status": "not_found", "product": null }
  ],
  "summary": { "total": 3, "found": 2, "not_found": 1 },
  "meta": { "request_id": "abc-123", "credits_used": 8, "credits_remaining": 992 }
}

Async Response (>20 identifiers):

When submitting more than 20 identifiers, you receive a batch ID immediately:

{
  "success": true,
  "batch": {
    "id": "batch_abc123def456",
    "status": "processing",
    "total": 50,
    "processed": 0,
    "poll_url": "/v1/batch/batch_abc123def456",
    "estimated_seconds": 75
  }
}

Poll GET /v1/batch/{batch_id} until status is "completed", then the response includes the full results array.

Was this page helpful?