Rate Limits
- Limit: Specifies number of requests that can be sent in period.
- Period: Specifies period of the rule. Rate limit period starts from the first request for each endpoint.
- Blocks: Specifies timeout time of block.
- Policy: Specifies policy of rule. (Account based, Ip based)
- Retry-After: When you receive 429 (Too Many Requests) response, this indicates how long you have to wait before making a new request. This information is returned from the header.
- Example:
'Retry-After': '55'This means that you need to wait 55 seconds to make a new request.
- Example:
WebSocket
WebSocket connections are limited to a maximum of 15 connection requests per minute. If this limit is exceeded, new connection requests will be temporarily blocked for 60 seconds.
info
Sending subscription requests to WebSocket channels is not counted in these limits.
| Endpoints | Method | Limit | Period | Blocks | Policy |
|---|---|---|---|---|---|
| Balance | |||||
| /api/v1/users/balances | GET | 120 | 60s | 60s | ip |
| Order | |||||
| /api/v1/order | POST | 300 | 60s | 60s | account, ip |
| /api/v1/order | POST | 10 | 1s | 1s | account, ip |
| /api/v1/order | DELETE | 300 | 60s | 60s | account, ip |
| /api/v1/order | DELETE | 10 | 1s | 1s | account, ip |
| /api/v1/order/{orderId} | GET | 900 | 60s | 60s | account, ip |
| /api/v1/order/{orderId} | GET | 30 | 1s | 1s | account, ip |
| /api/v1/openOrders | GET | 300 | 60s | 60s | ip |
| /api/v1/allOrders | GET | 300 | 60s | 60s | ip |
| Trade | |||||
| /api/v1/trades | GET | 90 | 60s | 60s | ip |
| UserTransactions | |||||
| /api/v1/users/transactions/trade | GET | 120 | 60s | 60s | ip |
| /api/v1/users/transactions/crypto | GET | 90 | 60s | 60s | ip |
| /api/v1/users/transactions/fiat | GET | 90 | 60s | 60s | ip |
| Ticker | |||||
| /api/v2/ticker | GET | 600 | 60s | 60s | ip |
| /api/v2/orderBook | GET | 180 | 60s | 60s | ip |
| Graph | |||||
| /v1/ohlcs | GET | 120 | 60s | 60s | ip |
| graph-api.btcturk.com* | GET | 600 | 10m | 10m | ip |
| Crypto Exchanges | |||||
| /v1/exchanges | GET | 300 | 1m | 1m | account |
Response for ip based blocks.
{
"message": "TOO_MANY_REQUESTS",
"success": false,
"code": 429,
"details": "Quota exceeded. Maximum allowed: 120 per 1m.",
"limit": "120",
"period": "1m",
"policy": "ip"
}
Response for account based blocks.
{
"message": "TOO_MANY_REQUESTS",
"success": false,
"code": 429,
"details": "Quota exceeded. Maximum allowed: 300 per 1m. Please try again in 53 second(s).",
"limit": "300",
"period": "1m",
"policy": "account"
}