Scraper Hub API

사용 가이드

인증, 응답 형식, 공통 엔드포인트, 에러 코드입니다. 채널별 파라미터는 좌측 수집 채널에서 확인하세요.

인증

모든 요청에 발급받은 API 키를 헤더로 포함합니다. 키는 관리자에게 발급받으세요(없거나 비활성이면 401).

Authorization: Bearer YOUR_API_KEY

X-API-Key: YOUR_API_KEY 헤더로 보내도 됩니다.

화이트리스트 IP — 키 없이 호출
관리자가 API 키에 허용 IP를 등록해 두면, 그 IP에서 오는 요청은 키(헤더) 없이도 해당 키로 인증됩니다(요청한 클라이언트의 실제 IP 기준).
  • 키를 보내면 → 항상 키로 인증(허용 IP 무관).
  • 키가 없으면 → 요청 IP가 어떤 키의 허용 IP에 맞으면 그 키로 통과, 아니면 401.
  • 허용 IP는 단일 IP·CIDR 대역(IPv4/IPv6)을 지원합니다. 등록은 관리자 → API 키에서.

응답 형식

// 성공 { "success": true, "data": { ... } } // 실패 { "success": false, "error": { "code": "invalid_params", "message": "..." } }

엔드포인트

GET/channels

호출 가능한 채널과 파라미터 정의를 반환합니다.

POST/collect

수집 요청 생성. 202request_id를 즉시 반환(수집은 백그라운드 진행).

필드타입필수설명
channelstring채널 코드 (좌측 수집 채널 참고)
paramsobject채널별 파라미터
callback_urlURL아니오완료 시 결과 요약 POST 받을 주소
external_refstring아니오클라이언트 식별자(응답·콜백에 반환)
priorityint아니오클수록 먼저 처리
// 202 { "success":true, "data":{ "request_id":42, "status":"pending", "status_url":"https://scraper.conbus.co.kr/api/v1/requests/42" } }
GET/requests/{request_id}

상태 조회. 완료 시 data.items에 결과 배열 포함. (본인 키로 만든 요청만 조회)

{ "success":true, "data":{ "status":"done", "result_count":30, "items":[ { "post_id":"...", "title":"...", "author":"...", ... } ] } }
GET/requests

본인 키로 만든 최근 요청 목록(최대 50건).

에러 코드

HTTPcode의미
401unauthorizedAPI 키 없음/유효하지 않음
403forbidden_channel허용되지 않은 채널
404unknown_channel / not_found없는 채널 / 없는 요청
422invalid_params필수 파라미터 누락/형식 오류
429(throttle)분당 요청 한도 초과