요청 한도

요청 한도의 작동 방식, 플랜별 데이터 접근, 429 응답 처리 방법을 알아보세요.

요청 한도는 플랜마다 다릅니다. GET /api/v1/limits 엔드포인트로 현재 등급과 한도를 프로그래밍 방식으로 확인하세요.
키별 요청 한도
등급요청 / 분버스트 / 초
Builder (3일 무료 체험 포함)25012
Pro75040
Enterprise맞춤맞춤

분당 한도는 슬라이딩 윈도우를 사용합니다. 버스트는 토큰 버킷을 사용합니다.

플랜별 데이터 접근

Builder 플랜(Builder 전체 기능이 포함된 3일 무료 체험 포함)에서는 최근 마켓으로만 접근이 제한됩니다. Pro와 Enterprise 등급은 모든 마켓과 스냅샷에 제한 없이 접근할 수 있습니다.

마켓 유형BuilderPro / Enterprise
5m4,100무제한
15m1,400무제한
1hr350무제한
4hr85무제한
24hr14무제한

목록 쿼리가 등급 상한을 넘으면 응답 개수가 상한으로 조정되고 warning 필드가 포함됩니다.

API 키 한도

보유할 수 있는 활성 API 키 수는 플랜에 따라 다릅니다. 폐기되었거나 만료된 키는 한도에 포함되지 않습니다.

3
Builder (3일 무료 체험 포함)
10
Pro
무제한
Enterprise
요청 한도 헤더

모든 응답에는 요청 한도 헤더가 포함되어 있어 사용량을 실시간으로 추적할 수 있습니다.

X-RateLimit-Limit: 250
X-RateLimit-Remaining: 237
X-RateLimit-Reset: 1740800060

429 응답 처리

요청 한도를 초과하면 API는 몇 초 기다려야 하는지 알려주는 Retry-After 헤더와 함께 429 상태 코드를 반환합니다. 응답 본문에는 error, message, retry_after 필드가 포함됩니다.

import time
import requests

def fetch_with_retry(url, headers, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)
        if response.status_code == 429:
            wait = int(response.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait)
            continue
        return response
    raise Exception("Rate limit exceeded after retries")
403 Forbidden — 데이터 접근

등급의 데이터 구간을 벗어난 마켓이나 그 스냅샷에 접근하려 하면 API는 403 Forbidden을 반환합니다. 플랜을 업그레이드하거나 더 최근 마켓에 접근하세요.

{
  "error": "Forbidden",
  "message": "Your builder plan only includes the most recent markets for this type. Upgrade for full access.",
  "tier": "builder"
}