This is a guide on Upbit API’s request rate limit policy and its implementation instructions.
General Policy
- Rate limits are primarily applied on a per-second basis.
- APIs in the same Rate Limit Group share the same request quota. You can check the group and applicable policy for each API in the tables below or in the Rate Limit section of each API Reference page.
- The maximum number of allowed requests may change with prior notice. Additional restrictions may also be applied depending on service conditions. Monitor your remaining request quota and avoid sending excessive requests.
- Requests that include an
Originheader are subject to a separate policy. For both Quotation REST API and WebSocket requests, only 1 request per 10 seconds is allowed. See the related announcement for details.
Measurement Units
Rate Limit measurement units vary by API category. Quotation requests are measured per IP address, while Exchange requests are measured per account. WebSocket connection requests and data request messages are measured separately.
| Function Category | Measurement Unit | Description |
|---|---|---|
| Quotation REST API | IP | Rate limits are applied per IP address. All requests originating from the same IP address share the same quota. |
| Exchange REST API | Account | Rate limits are applied per account. Multiple API Keys issued to the same account share the same quota. |
| WebSocket Connection Requests | IP or Account | The measurement unit depends on the connection type. Connections without authentication are measured per IP, while authenticated connections are measured per account. |
| WebSocket Data Requests | Connection | Rate limits are applied independently to each WebSocket connection. When multiple connections are established, each connection has its own quota. |
Rate Limit Group Policy
Requests are limited by Rate Limit Group. APIs that belong to the same group share the same quota.
Quotation REST API
| Rate Limit Group | Request Limit | Measurement Unit | Target APIs |
|---|---|---|---|
market | Up to 10 requests per second | IP | List Trading Pairs |
candle | Up to 10 requests per second | IP | List Second Candles List Minute Candles List Day Candles List Week Candles List Month Candles List Year Candles |
trade | Up to 10 requests per second | IP | List Pair Trades |
ticker | Up to 10 requests per second | IP | List Tickers by Pairs List Tickers by Market |
orderbook | Up to 10 requests per second | IP | Get Orderbook List Orderbook Instruments |
Exchange REST API
Travel Rule Verification Request LimitTravel Rule verification using a deposit UUID or TxID can be requested at most once every 10 minutes for the same deposit.
WebSocket
| Rate Limit Group | Request Limit | Measurement Unit | Target Requests |
|---|---|---|---|
websocket-connect | Up to 5 connections per second | Not authenticated: IP Authenticated: Account | WebSocket connection requests |
websocket-message | Up to 5 messages per second Up to 100 messages per minute | Connection | WebSocket data request messages |
The maximum request limit for each Rate Limit Group may change with prior notice according to service policy, and additional restrictions may be applied depending on service conditions.
How to Check Remaining Requests
You can check the remaining request quota in the Remaining-Req response header returned by REST APIs.
Remaining-Req: group=default; min=1800; sec=29| Field | Description |
|---|---|
group | The Rate Limit Group that the request belongs to. |
min | Deprecated — A legacy per-minute field. This field is no longer used. We recommend that you do not reference it when processing responses. |
sec | The number of requests remaining in the current second. If the value is 0, wait before sending additional requests. |
| HTTP Status | Meaning | Recommended Action |
|---|---|---|
429 Too Many Requests | Rate Limit exceeded | Wait until the quota becomes available again before retrying. |
418 I'm a teapot | Temporarily blocked due to repeated Rate Limit violations | Check the block duration included in the response and retry after the specified period. |
Repeated violations may result in progressively longer block durations.
