# Rate limits and quotas

Requests are limited per API key. Exceeding a limit returns `429` with `Retry-After` in seconds.

## Limits

| Plan | Requests/minute | Concurrent async jobs | Uploads/minute |
|---|---|---|---|
| Developer (free) | 60 | 2 | 20 |
| Scale | 300 | 10 | 20 |
| Enterprise | custom | custom | custom |
| Test keys | 20 | 2 | 10 |

Rate limits apply **per key**; credits pool **per organization**. A token bucket permits a 2× burst
for up to 10 seconds, so short spikes succeed while sustained overload does not.

## Headers

```
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 41
X-RateLimit-Reset: 1754827200
```

`X-RateLimit-Reset` is a Unix timestamp. It appears on every response, not only on `429`s — read it
and pace yourself rather than waiting to be throttled.

## Concurrency is a separate budget

An in-flight async job holds a concurrency slot until it reaches a terminal state. On Developer, two
running `deep_review` searches will make a third return `429` immediately. Slots are not queued.

## What to do when you hit one

1. Honour `Retry-After`; do not retry immediately
2. Exponential backoff with full jitter, capped at 5 attempts
3. Cap client-side concurrency instead of racing the limiter — one worker pool sized to your plan beats N retrying threads
4. Spread bulk work: one extraction over 500 sources costs one slot; 500 single-source runs cost 500

## Requesting an increase

Email `api-support@scispace.com` with your organization, the limit you need, expected sustained and
peak volume, and a sample `X-Request-Id`. Typical turnaround is 2 business days.

## Quotas are not rate limits

A quota caps total spend (credits) and returns `402`. A rate limit caps throughput and
returns `429`. Handle them differently: `402` needs a top-up, `429` needs patience.

## Changes to this policy

Limit reductions are announced 30 days ahead by email to organization owners and in the
changelog. Increases take effect immediately.

## Related

rate-limit · errors-and-retries · pricing-and-credits · cost-control
