This is a guide on Upbit API’s request rate limit policy and its implementation instructions.
Rate Limit Policy
Upbit Open API enforces per-second request rate limits to ensure stable and reliable service for all users.
General Policy
- All rate limits are applied per second.
- Each API belongs to a Rate Limit Group, and the maximum number of allowed requests per second is defined for each group. Requests to APIs in the same group are counted together. You can check the Rate Limit group and policy for each API at the bottom of this document or in the Rate Limit section of each API Reference page.
- Additional per-second limits may be imposed depending on service conditions. The maximum allowed request rate for each group may also change with prior notice according to service policy. Please monitor your remaining quota to avoid excessive requests.
- Requests that include the Origin header are subject to a separate rate limit policy. For both Quotation REST API and WebSocket requests, only 1 request per 10 seconds is allowed. For details, please refer to the related announcement.
How to Check Remaining Requests
Upbit REST API responses return a Remaining-Req
header that provides your current request quota status:
group=default; min=1800; sec=29
group
: The Rate Limit Group that this request belongs to.min
: (Deprecated) This field previously indicated the remaining requests per minute. It is now a fixed value and should be ignored.sec
: The number of remaining requests you can make in the current second. If this value is 0, you have exhausted your quota and must wait before making additional requests.
The REST API Best Practice guide provides instructions on managing request limits using the Remaining-Req header, along with a Python example (update_from_header). Refer to this when implementing rate-limit handling based on tracking available requests.
Restrictions for Exceeding Rate Limits
- If you exceed the per-second request limit, the API will return an HTTP 429 Too Many Requests error.
- If you continue to send requests after receiving a 429 error, your IP address or account may be temporarily blocked by the system. In such cases, an HTTP 418 status code and the block duration will be returned. Please wait for the indicated period before retrying.
- Repeated violations may lead to progressively longer block durations.
Unit of Limitation
Function Category | Measurement Unit | Description |
---|---|---|
Quotation REST API |
Per IP | Remaining request counts per second are shared and deducted among requests originating from the same IP address. Limits are applied per IP. |
Exchange REST API |
Per Account | When multiple API Keys issued to the same account are used, the remaining requests per second are shared and deducted per account. |
WebSocket Connection and Data Requests |
Per Account if authenticated / Per IP if not authenticated |
When subscribing to Quotation information without authentication, requests are measured per IP, When subscribing to My Order and My Asset data with authentication, requests are measured per account. |