Rate Limits

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 Origin header 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 CategoryMeasurement UnitDescription
Quotation REST APIIPRate limits are applied per IP address. All requests originating from the same IP address share the same quota.
Exchange REST APIAccountRate limits are applied per account. Multiple API Keys issued to the same account share the same quota.
WebSocket Connection RequestsIP or AccountThe measurement unit depends on the connection type. Connections without authentication are measured per IP, while authenticated connections are measured per account.
WebSocket Data RequestsConnectionRate 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 GroupRequest LimitMeasurement UnitTarget APIs
marketUp to 10 requests per secondIPList Trading Pairs
candleUp to 10 requests per secondIPList Second Candles
List Minute Candles
List Day Candles
List Week Candles
List Month Candles
List Year Candles
tradeUp to 10 requests per secondIPList Pair Trades
tickerUp to 10 requests per secondIPList Tickers by Pairs
List Tickers by Market
orderbookUp to 10 requests per secondIPGet Orderbook
List Orderbook Instruments

Exchange REST API

Rate Limit GroupRequest LimitMeasurement UnitTarget APIs
defaultUp to 30 requests per secondAccountAssets and Orders
Get Account Balances
Get Available Order Information
Cancel Order
Cancel Orders by IDs
Get Order
List Orders by IDs
List Open Orders
List Closed Orders
defaultUp to 30 requests per secondAccountWithdrawals
Withdraw Digital Asset
Cancel Withdrawal
Get Available Withdrawal Information
List Withdrawal Allowed Addresses
Get Withdrawal
List Withdrawals
defaultUp to 30 requests per secondAccountDeposits
Create Deposit Address
Get Deposit Address
List Deposit Addresses
Get Digital Asset Deposit Availability Information
Get Deposit
List Deposits
defaultUp to 30 requests per secondAccountTravel Rule
List Travel Rule Supporting VASPs
Verify Travel Rule by Deposit UUID
Verify Travel Rule by Deposit TxID
defaultUp to 30 requests per secondAccountServices
Get Deposit/Withdrawal Service Status
orderUp to 8 requests per secondAccountCreate Order
Cancel and New Order
order-testUp to 8 requests per secondAccountTest Order Creation
order-cancel-allUp to 1 request per 2 secondsAccountBatch Cancel Orders
❗️

Travel Rule Verification Request Limit

Travel Rule verification using a deposit UUID or TxID can be requested at most once every 10 minutes for the same deposit.

WebSocket

Rate Limit GroupRequest LimitMeasurement UnitTarget Requests
websocket-connectUp to 5 connections per secondNot authenticated: IP
Authenticated: Account
WebSocket connection requests
websocket-messageUp to 5 messages per second
Up to 100 messages per minute
ConnectionWebSocket 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
FieldDescription
groupThe Rate Limit Group that the request belongs to.
minDeprecated — A legacy per-minute field.
This field is no longer used. We recommend that you do not reference it when processing responses.
secThe number of requests remaining in the current second.
If the value is 0, wait before sending additional requests.
HTTP StatusMeaningRecommended Action
429 Too Many RequestsRate Limit exceededWait until the quota becomes available again before retrying.
418 I'm a teapotTemporarily blocked due to repeated Rate Limit violationsCheck the block duration included in the response and retry after the specified period.

Repeated violations may result in progressively longer block durations.