> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withhopper.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate limits

> 600 requests/min per key; 429 with Retry-After past the limit

Each key allows **600 requests per minute**, enforced at the gateway on a fixed one-minute window. The limit applies per key on every metered route — LLM, TTS, STT, voices, pronunciation dictionaries, jobs — and at STT WebSocket upgrade.

Past the limit, requests return 429 with a `Retry-After: <seconds>` header; retry after that many seconds.

```json theme={null}
{"error":{"message":"Rate limit reached: 600 requests per minute per key. Retry after Ns.","type":"rate_limit_error","code":"rate_limit_exceeded","param":null}}
```

The limit is per key, not per connection — one warm HTTP/2 connection multiplexes concurrent streams and is the recommended client pattern. Opening a connection per request adds a TCP + TLS handshake (\~250 ms EU to us-west) to every call and gains you nothing.
