API 레퍼런스
URL 색인 API 문서
IndexBolt URL 색인 API를 사용하면 URL을 Google에 색인용으로 제출하고, 제출 진행 상황을 추적하며, 크레딧을 프로그래밍 방식으로 관리할 수 있습니다. 대량 URL 색인을 SEO 워크플로, WordPress 플러그인 또는 맞춤형 도구에 통합하세요.
기본 URL:
https://www.indexbolt.com/api/v1•JSON 요청 및 응답•Bearer 토큰 인증인증#
모든 API 요청에는 Authorization 헤더에 Bearer 토큰이 필요합니다. 대시보드 설정에서 API 키를 생성하세요.
요청 헤더 예시
Authorization: Bearer ib_your_api_key_here중요: API 키는
ib_ 접두사로 시작합니다. 키를 비밀로 유지하세요 — 클라이언트 측 코드에 노출하지 마세요. 계정당 최대 5개의 API 키를 생성할 수 있습니다.요청 제한#
요청 제한은 슬라이딩 윈도우 방식으로 API 키별로 적용됩니다. 요청 제한에 도달하면 429 상태 코드를 받게 됩니다.
| 엔드포인트 | 제한 | 기간 |
|---|---|---|
POST /submit | 10회 요청 | 60초 |
GET /balance | 30회 요청 | 60초 |
GET /submissions, /submissions/:id | 60회 요청 | 60초 |
응답 헤더 X-RateLimit-Remaining 및 X-RateLimit-Reset은 현재 사용량을 나타냅니다.
오류 처리#
모든 오류는 일관된 JSON 구조를 반환합니다:
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Human-readable description"
}
}| HTTP 상태 | 코드 | 설명 |
|---|---|---|
400 | INVALID_INPUT | 잘못된 요청 본문 또는 매개변수 |
401 | UNAUTHORIZED | API 키가 없거나 유효하지 않음 |
402 | INSUFFICIENT_CREDITS | 작업을 수행할 크레딧이 부족함 |
403 | FORBIDDEN | 이메일이 확인되지 않음 |
404 | NOT_FOUND | 리소스를 찾을 수 없음 |
429 | RATE_LIMITED | 너무 많은 요청 |
500 | INTERNAL_ERROR | 예기치 않은 서버 오류 |
크레딧 및 가격#
일반 색인
1 크레딧 / URL
표준 처리. URL이 색인을 위해 Google에 제출됩니다.
즉시 색인
10 크레딧 / URL
더 빠른 색인 결과를 위한 우선 처리.
크레딧은 만료되지 않습니다. 각 제출에는 1개에서 1,000개의 URL을 포함할 수 있습니다. 유효하지 않은 URL은 필터링되며 크레딧을 소모하지 않습니다.
URL 제출#
POST
/api/v1/submit10회 요청 / 60초Google 색인을 위해 여러 URL을 일괄 제출합니다.
요청 본문
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
urls | string[] | 필수 | 색인할 URL 배열 (1~1,000개) |
indexingType | string | 필수 | "normal" 또는 "instant" |
projectId | string | 선택 | 프로젝트와 연결 |
submissionName | string | 선택 | 제출에 사용할 맞춤 이름 |
요청 예시
cURL
curl -X POST https://www.indexbolt.com/api/v1/submit \
-H "Authorization: Bearer ib_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://example.com/page-1",
"https://example.com/page-2"
],
"indexingType": "normal"
}'응답 — 201 Created
{
"success": true,
"data": {
"submissionId": "sub_abc123",
"totalUrls": 2,
"creditsUsed": 2,
"balanceAfter": 98,
"invalidUrls": []
}
}URL 검증: URL은 HTTP/HTTPS를 사용해야 하고, 2,048자 미만이어야 하며, 공용 주소를 가리켜야 합니다. 비공개/내부 IP(localhost, 10.x.x.x, 192.168.x.x 등)는 거부됩니다. 중복된 URL은 자동으로 제거됩니다.
제출 목록#
GET
/api/v1/submissions60회 요청 / 60초페이지로 구분된 제출 목록을 가져옵니다.
쿼리 매개변수
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
page | integer | 선택 | 페이지 번호 (기본값: 1) |
pageSize | integer | 선택 | 페이지당 결과 수, 최대 100 (기본값: 20) |
status | string | 선택 | "queued", "processing", "completed", "partial_failure" 또는 "failed" |
요청 예시
cURL
curl https://www.indexbolt.com/api/v1/submissions?page=1&pageSize=10 \
-H "Authorization: Bearer ib_your_api_key"응답 — 200 OK
{
"success": true,
"data": {
"submissions": [
{
"id": "sub_abc123",
"name": "Submission #1",
"status": "completed",
"indexingType": "normal",
"totalUrls": 5,
"creditsUsed": 5,
"createdAt": "2025-01-15T10:30:00Z",
"completedAt": "2025-01-15T11:45:00Z"
}
],
"pagination": {
"page": 1,
"pageSize": 10,
"total": 45,
"totalPages": 5
}
}
}제출 조회#
GET
/api/v1/submissions/:id60회 요청 / 60초URL별 상태를 포함한 제출의 전체 세부 정보를 가져옵니다.
경로 매개변수
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
id | string | 필수 | 제출 ID |
요청 예시
cURL
curl https://www.indexbolt.com/api/v1/submissions/sub_abc123 \
-H "Authorization: Bearer ib_your_api_key"응답 — 200 OK
{
"success": true,
"data": {
"id": "sub_abc123",
"name": "Submission #1",
"status": "completed",
"indexingType": "normal",
"totalUrls": 5,
"creditsUsed": 5,
"createdAt": "2025-01-15T10:30:00Z",
"completedAt": "2025-01-15T11:45:00Z",
"urls": [
{ "url": "https://example.com/page-1", "status": "completed" },
{ "url": "https://example.com/page-2", "status": "completed" }
]
}
}잔액 확인#
GET
/api/v1/balance30회 요청 / 60초현재 크레딧 잔액을 확인합니다.
요청 예시
cURL
curl https://www.indexbolt.com/api/v1/balance \
-H "Authorization: Bearer ib_your_api_key"응답 — 200 OK
{
"success": true,
"data": {
"balance": 98,
"unit": "credits"
}
}