Rate limits + tokens
Two limits: tokens per month (your plan's allowance) and tokens per minute (your throttle).
Two limits
Every plan has:
- Monthly token quota — total tokens you can spend in a billing cycle
- Per-minute throttle — max tokens-per-minute burst allowed
Hit either and you get a 429 response with a Retry-After header.
Plan tiers
| Plan | Price | Tokens / month | Throttle (TPM) |
|---|---|---|---|
| Free | $0 | 1,000 | 5 |
| Starter | $49/mo | 864,000 | 20 |
| Growth | $119/mo | 2,592,000 | 60 |
| Pro | $429/mo | 10,800,000 | 100 |
| Scale | $819/mo | 21,600,000 | 100 |
| Business | $1,399/mo | 43,200,000 | 100 |
| Enterprise | $2,339+/mo | 86.4M+ | 100 |
Throttle caps at 100 TPM in 2026 due to current upstream limits. Higher TPM ships when our backend supports it; talk to sales for early access.
Token costs per call
| Call | Tokens |
|---|---|
| Base lookup (includes 90d price history + sales rank + velocity stats) | 1 |
| + include_offers_reviews (live sellers + review summary + top 5 reviews) | +5 |
| + include_cross_retailer (Amazon, eBay, Lowe's, Target, Best Buy, Home Depot) | +2 |
| + force_refresh | +3 |
| GET /v1/products/{id}/history (dedicated endpoint, server-filtered) | 2 |
| GET /v1/products/{id}/reviews (dedicated endpoint) | 3 |
| GET /v1/sellers/{id} | 2 |
How throttle works
Sliding-window per minute. We allow brief bursts up to 2x the throttle for short periods, then enforce strict limits. Heavy bulk-loaders should pace themselves at 80% of their plan's throttle to leave headroom.
Response headers
X-RateLimit-Tokens-Remaining: 998 # tokens left this billing cycle
X-RateLimit-Throttle-Limit: 60 # max TPM
X-RateLimit-Throttle-Remaining: 47 # TPM remaining now
X-RateLimit-Reset: 2026-06-01T00:00Z # when monthly quota resetsWhat happens when you exceed
Both limits return 429 Too Many Requests. Different Retry-After semantics:
- Throttle — Retry-After is a few seconds. Back off and retry.
- Monthly quota — Retry-After is the next renewal date. Either upgrade or wait.
Quota-exceeded calls do NOT auto-charge overage; we fail closed. If you want to pay for spillover, contact sales or upgrade plan.
Best practices
- Check
X-RateLimit-Tokens-Remainingafter each call to track burn rate - For batch jobs, throttle yourself at 80% of plan TPM to leave headroom for ad-hoc calls
- Cache responses client-side when appropriate (titles, brands, images rarely change)
- For routine lookups, the base call (1 token) already includes price history and stats — only add
include_offers_reviews=truewhen you need live sellers or full review data - Use
include_history=falseonly as a payload-size optimization; history is free and on by default