Skip to content
← Back to Documentation

API Reference

Integrate Shimm into your workflow

Authentication

All API requests require authentication using a Bearer token. Generate your API key from the Shimm dashboard under Settings → API Keys.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://shimm.app/api/v1/products/B0XXXXXXXX

API keys are scoped to your workspace. Rotate keys regularly and never expose them in client-side code.

Endpoints

GET/api/v1/products/:asin

Retrieve detailed product analysis for a single ASIN.

Parameters

  • asin (string, required) — A valid Amazon Standard Identification Number

Response

{
  "asin": "B0XXXXXXXX",
  "signal_score": 85,
  "price_current": 29.99,
  "price_low_90d": 24.99,
  "price_high_90d": 49.99,
  "bsr": 12345,
  "bsr_category": "Electronics",
  "rating": 4.3,
  "review_count": 1247,
  "demand_signal": "high",
  "roi_estimate": 127.50
}
POST/api/v1/products/batch

Analyze multiple ASINs in a single request. Up to 100 ASINs per batch.

Request Body

{
  "asins": ["B0XXXXXXXX", "B0YYYYYYYY"],
  "options": {
    "include_history": true,
    "include_bsr": true
  }
}

Batch requests are processed asynchronously. Response includes a job_id for polling results.

GET/api/v1/discovery/feed

Access your personalized discovery feed of high-scoring opportunities. Results are sorted by score, descending.

Query Parameters

  • min_score (number, optional) — Minimum score filter (0–100)
  • category (string, optional) — Amazon category filter
  • limit (number, optional) — Results per page (default: 25, max: 100)
  • cursor (string, optional) — Pagination cursor from previous response

Rate Limits

Rate limits vary by plan tier to ensure fair usage across all customers.

PlanRequests/HourBurst Limit
Starter6010/min
Pro30030/min
Studio1,000100/min

Rate limit headers (X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response. Implement exponential backoff when you receive a 429 status.

Error Handling

The API uses standard HTTP status codes and returns structured error responses.

{
  "error": {
    "code": "INVALID_ASIN",
    "message": "The provided ASIN format is invalid",
    "status": 400
  }
}

Common Error Codes

  • 400 — Bad request (invalid ASIN, missing parameters)
  • 401 — Authentication failed (invalid or expired API key)
  • 404 — Product not found on Amazon
  • 429 — Rate limit exceeded
  • 500 — Internal server error

SDKs & Libraries

Official SDKs are in development. In the meantime, the REST API works with any HTTP client.

JavaScript

Coming soon

Python

Coming soon

cURL

Available now (REST API)

Need Help?