When using the Binance API for quantitative trading or data analysis, rate limits are one of the most frustrating issues. Too fast and your IP gets banned; too slow and strategy execution suffers.
Binance API Rate Limits
After signing up for Binance and creating an API Key, you must follow these rate limits:
REST API Limits
Request Weight
Binance doesn't simply limit requests per minute — it uses a "weight" system. Different endpoints consume different weights:
- General market queries: Weight 1-5
- Depth data queries: Weight 5-50 (depends on depth requested)
- Order placement: Weight 1
- Account info queries: Weight 5-10
Default limits:
- 1200 weight per minute (per IP)
- 100 orders per 10 seconds (per account)
- 200,000 orders per day (per account)
WebSocket Limits
- Maximum 200 streams per connection
- Limited WebSocket connections per IP
- Maximum 5 messages per second per connection
How to Check Your Usage?
Each API response header returns current usage info:
X-MBX-USED-WEIGHT-1m: Weight used in current 1-minute windowX-MBX-ORDER-COUNT-10s: Orders in current 10-second windowX-MBX-ORDER-COUNT-1d: Orders today
Read these headers to monitor your usage.
What Happens When You Exceed Limits?
HTTP 429
When you exceed rate limits, the API returns HTTP 429 (Too Many Requests):
- That IP or account is temporarily restricted
- Must wait for a cooldown period to recover
- Cooldown is typically seconds to minutes
HTTP 418
If you persistently exceed limits, you may get a 418 error, meaning your IP is banned for a longer period (minutes to days).
How to Avoid Exceeding Limits?
1. Use WebSocket Instead of Polling
Don't repeatedly poll the REST API for real-time prices — use WebSocket streams instead. WebSocket is push-based and doesn't consume REST API weight.
2. Batch Requests
If you need data for multiple trading pairs, use batch endpoints to fetch at once rather than querying one by one.
3. Cache Data
Data that doesn't need real-time updates (trading rules, coin info) shouldn't be requested every time — cache locally and refresh periodically.
4. Monitor Weight Usage
Track weight consumption per request in your code and automatically slow down when approaching limits.
5. Space Out Requests
Use delays to control request frequency rather than firing everything at once.
Rate Limit Differences by Account Level
Higher VIP levels get more generous API rate limits:
- Regular users: Standard limits
- VIP 1-3: Slight increase
- VIP 4+: Higher weight and order limits
- Market maker accounts: Highest limits
If your strategy requires higher frequency, consider upgrading your VIP level (by increasing trading volume or holding BNB).
Common Questions
Q: Can I bypass limits with multiple IPs? Weight limits apply both per-IP and per-account. Multiple IPs can bypass per-IP limits, but per-account order limits remain.
Q: Are testnet limits the same? The testnet may have different limits from the mainnet.
Q: Do limits change? Yes. Binance may adjust limits based on system load — follow announcements for updates.
If you haven't installed the app yet, download the Binance App first.
Summary
Binance API uses a weight system for rate control, defaulting to 1200 weight per minute. Exceeding limits triggers 429 or 418 errors. Optimization strategies include using WebSocket, batching requests, caching data, and monitoring weight. Higher VIP levels get higher limits.