업비트 API의 요청 수 제한(Rate Limits) 정책 안내 및 구현 가이드입니다.
요청 수 제한 정책
업비트 Open API는 안정적인 서비스 운영을 위해 초 단위의 요청 수 제한(Rate Limit) 정책을 적용하고 있습니다.
기본 정책 안내
- 모든 요청 수 제한은 초(Second) 단위로 적용됩니다.
- API가 속한 Rate Limit 그룹 별 초당 최대 허용 요청 수가 정의됩니다. 같은 그룹 API 간 요청 수가 함께 집계됩니다. 본 문서 하단 및 각 API Reference 하단 Rate Limit 영역에서 해당 API의 Rate Limit 그룹과 정책을 확인할 수 있습니다.
- 안정적인 서비스 제공을 위해, 서비스 상황에 따른 추가 초당 최대 허용 요청 수 제한이 발생할 수 있습니다. 또한 Rate Limit 그룹별 초당 최대 허용 요청 수는 서비스 정책에 따라 공지 후 변경될 수 있습니다. 잔여 요청 수 확인 방법을 참고하여 과도한 요청이 발생하지 않도록 유의해주시기 바랍니다.
- Origin 헤더를 포함한 요청의 경우 별도의 요청 수 제한 정책을 적용합니다. 시세 조회(Quotation) REST API와 WebSocket 요청에 대해 모두 10초당 1회의 요청만을 허용합니다. 자세한 사항은 관련 공지를 확인해주시기 바랍니다.
기준 초과 요청에 대한 제한 안내
- 초당 최대 허용 요청 수를 초과한 요청에 대해 응답의 HTTP 상태 코드가 429 Too Many Requests 에러로 반환됩니다.
- 429 에러 응답에도 지속적으로 요청을 전송하는 경우, 시스템에 의해 동일 IP 또는 계정 단위 요청이 일시적으로 차단됩니다. IP 및 계정 차단 시 418 HTTP 상태 코드와 함께 차단 시간 정보가 함께 반환되오니 안내된 시간 이후 재시도하시기 바랍니다.
- 정책을 위반한 과도한 요청이 반복되는 경우 IP 차단 시간은 점진적으로 증가할 수 있습니다.
제한 단위
기능 분류 | 측정 단위 | 설명 |
---|---|---|
시세 조회 REST API (Quotation) |
IP 단위 | 동일한 IP 주소에서 발생한 요청간 초 당 잔여 요청 횟수가 공유/차감되며, IP 단위로 제한이 적용됩니다. |
거래 및 자산 관리 REST API (Exchange) |
계정 단위 | 동일한 계정으로 발급된 여러 API Key를 사용 하는 경우에도, 해당 계정 단위로 초 당 잔여 요청 횟수가 공유/차감됩니다. |
WebSocket 연결 요청 및 데이터 요청 |
인증 헤더를 포함한 경우 계정 단위/미포함한 경우 IP 단위 | 시세(Quotation) 정보만 구독하기 위해 인증 없이 요청하는 경우 IP단위, 내 주문 및 체결(My Order), 내 자산(My Asset) 정보 구독을 위해 인증 정보를 포함하여 요청하는 경우 계정 단위로 측정됩니다. |
Rate Limit 그룹 정책
Rate Limit 그룹 | 정책 | 대상 API |
---|---|---|
Quotationmarket |
초당 최대 10회 | |
Quotationcandle |
초당 최대 10회 |
|
Quotationtrade |
초당 최대 10회 |
|
Quotationticker |
초당 최대 10회 |
|
Quotationorderbook |
초당 최대 10회 |
|
Exchangedefault |
초당 최대 30회 |
(동일 입금 건에 대해 10분당 최대 1회 요청 허용) (동일 입금 건에 대해 10분당 최대 1회 요청 허용) |
Exchangeorder |
초당 최대 8회 |
|
Exchangeorder-cancel-all |
2초당 최대 1회 |
|
websocket-connect |
초당 최대 5회 |
|
websocket-message |
초당 최대 5회, 분당 100회 |
|
잔여 요청 수 확인 방법
REST API 응답의 Remaining-Req
헤더로 아래와 같은 잔여 요청 수 정보가 반환됩니다.
group=default; min=1800; sec=29
group
: 해당 요청이 포함된 Rate Limit Group 입니다.min
: 현재는 Depreated 된 분 단위 요청 제한 정보 필드입니다. 고정 값으로 반환되므로 참조 대상에서 제외하시기 바랍니다.sec
: 현재 잔여 요청 수 입니다. 값이 0으로 반환되는 경우 잔여 요청 수가 없는 상황이므로 일정 시간 이후 요청해야 합니다.