# Limits

## What counts

A **call** is one request to the API or one question from your AI app. Both count against the same allowance. A call counts once however many results it returns. A call refused before it reaches the data never counts. One the data refuses does, such as a day before the first one or a ticker we don't have.

## Your plan's limits

| Plan | A minute | A day |
| --- | --- | --- |
| Individual | 30 | 1,000 |
| Corporate | 600 | 100,000 |

- **A minute** is a clock minute: it resets at the start of the next one.
- **A day** runs from midnight to midnight in New York time.

## The headers

Every call that counts, and every `429`, says where you stand:

```
RateLimit-Policy: "minute";q=30;w=60, "day";q=1000;w=86400
RateLimit: "minute";r=12;t=34, "day";r=871;t=40210
```

`q` is the limit, `r` what's left, `t` the seconds until that window resets. They follow the IETF's draft for these fields and may change to match it when it's final.

## When you hit a limit

You get a `429` with a `Retry-After` header: the seconds to wait. Wait that long, then go on. For the day, that's until midnight in New York.

## When we're busy

Rarely, everyone's calls are refused for the rest of a minute. You get a `503` with `code: ceiling` and a `Retry-After`. Wait, then retry. It never counts against you.

## Retrying well

- Honour `Retry-After` on every `429` and `503`.
- Otherwise back off: wait 1 second, then 2, then 4, with a little randomness.
- Don't retry a `400`, `401`, `403` or `404`: the same request gets the same answer.

## Results per request

`limit` is 1 to 100 on the API (25 in AI apps), 10 if you leave it out. More results cost the same one call.

## Keeping up

Poll [the feed](/docs/reference#feed) every 5 minutes. New items arrive every 5 minutes, so polling faster finds nothing new. That's 288 calls a day.

## More than Corporate

Corporate is our largest plan. If it isn't enough, write to feedback@bullpen.news.
