429? Back off and retry with jitter — failed requests cost 0 credits, so retrying is cheap. There are three throttles you can hit; this page walks through each.
What’s throttled
Every credit-spending request runs through two per-plan throttles, with one extra SmartBrowse-specific monthly quota:
Read-only endpoints (polling SmartBrowse runs,
GET /v1/smartbrowse/usage) aren’t rate-limited.
Telling them apart
Every429 uses error.code: rate_limited and includes error.details.reason so you can branch on it:
Example:
Checking SmartBrowse quota up front
GET /v1/smartbrowse/usage returns your rolling 30-day run count, your plan caps, and your schedule allowance. It’s free to poll (credits_used: 0). Use it to show “X runs left this month” in your own UI instead of finding out the hard way.
When to retry
Retry on429 and 5xx with a capped exponential backoff and jitter — three tries at 1s / 2s / 4s base delay with ±30% jitter is a sensible default.
Don’t retry on 400, 401, 402, 403, 404, or 422. Nothing will change until you fix the request.