# Rate limits

Source: https://docs.pipsocket.com/rate-limits

The limits Pipsocket enforces, and the broker's own.

Pipsocket doesn't limit how many requests a key makes. What it does limit is how much can wait at once, so one slow call can't hold up the rest:

| Limit | Where | When it's reached |
| --- | --- | --- |
| 5 seconds for the trade server's answer | Each trade call | `202` with `"state": "pending"`: the request goes on without you. |
| 30 seconds for the host's answer | Each REST call | `504 engine_timeout`. |
| 16 calls waiting for their answer | Each stream | `{ "type": "error", "error": "too_many_calls" }`; send more as answers arrive. |
| 100 symbols with ticks | Each account, all its streams together | `422 too_many_symbols` on `PUT /ticks`. |
| 256 calls at once | Each host, all its accounts together | `503 engine_busy`: try again. |
| 1,000 trades waiting for the trade server | Each account's terminal | The request is `refused` with `busy`. |

Your broker has limits of its own. MT5 answers them as retcodes, such as `10024` (`TRADE_RETCODE_TOO_MANY_REQUESTS`), `10033` (pending orders) and `10040` (open positions): see [retcodes](/errors#mt5-retcodes).

