# Plans & limits

Paid plans have no request quotas. The only limit is a per-second burst cap that protects the service for everyone.

## Limits by plan

|  | Free | Pro ($15/mo) |
| --- | --- | --- |
| REST requests | 100 per day | Unlimited |
| News delay | 15 minutes | Real time |
| History | Last year | Full archive |
| Burst rate | 20 req/s | 20 req/s |
| WebSocket | No | 3 concurrent connections, unlimited messages |
| MCP server | No | Yes |
| API keys | Multiple | Multiple |

## How the Free plan works

- **Daily limit:** 100 requests per UTC day, shared across all your keys. The counter resets at 00:00 UTC. Calls to `/usage` and `/status` don't count.
- **Delay:** articles appear 15 minutes after we ingest them. Responses include `meta.delayed_minutes`.
- **History:** results are limited to the last year. If you ask for older data, the window is clamped and `meta.notice` explains why.

Pro, including the 7-day trial, searches the full archive. An older `from` is not moved forward.

## Burst cap

Every account can make up to 20 requests per second. Above that you get `429 rate_limited` with a `Retry-After` header. Real integrations almost never hit it. If yours does, use the WebSocket stream instead of tight polling, or batch tickers into one request (up to 50 per call).

## Response headers

| Header | Description |
| --- | --- |
| `X-Request-Id` | Unique id for the request. Include it when you contact support. |
| `X-Plan` | Your plan: `free` or `pro`. |
| `X-Daily-Limit` | Free plan only: your daily request allowance. |
| `X-Daily-Remaining` | Free plan only: requests left today (UTC). |
| `Retry-After` | On 429 responses: seconds to wait before retrying. |

## Fair use

"Unlimited" means we don't meter or cap your requests or messages. It doesn't cover reselling the raw feed or bulk-mirroring the archive into a competing service. See the [acceptable use policy](/legal/acceptable-use).
