Getting Started

속도 제한

API 요청 제한 및 처리 방법 이해하기

속도 제한

Blitz Rocket API는 공정한 사용과 서비스 안정성 보호를 위해 속도 제한을 적용합니다. 속도 제한은 API 키별로 적용되며 엔드포인트에 따라 다릅니다.

기본 제한

엔드포인트 카테고리제한기간
일반 엔드포인트100 요청1분
콘테스트 참가 생성5 요청15분 (IP + 콘테스트별)
이메일/전화번호 인증10 요청15분 (IP + 이메일별)
참가 조회20 요청5분 (IP별)

속도 제한 헤더

속도 제한에 근접하거나 초과할 경우, API는 429 Too Many Requests 상태 코드를 반환합니다:

json
{
  "success": false,
  "error": "속도 제한 초과. 나중에 다시 시도해 주세요."
}

권장 사항

  • 가능한 경우 응답을 캐시하여 API 호출 수를 줄이세요
  • 429 응답을 받으면 지수 백오프를 구현하세요
  • 여러 개별 요청 대신 배치 작업을 사용하세요
  • 엔드포인트 폴링 대신 웹훅을 사용하여 실시간 업데이트를 받으세요

예시: 지수 백오프

javascript
async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    const response = await fetch(url, options);

    if (response.status === 429) {
      const delay = Math.pow(2, attempt) * 1000;
      await new Promise((resolve) => setTimeout(resolve, delay));
      continue;
    }

    return response;
  }
  throw new Error("Max retries exceeded");
}