수집 상태 조회 V4

GET www.hashscraper.com/v4/api/schedule_results/{id}

특정 데이터셋의 수집 진행 상태와 메타데이터를 조회합니다.

schedule_result_id로 해당 데이터셋의 진행 상태를 조회합니다. 수집 중에는 같은 ID로 반복 호출해 진행 상황을 폴링할 수 있습니다.

응답의 schedule.latest_schedule_result_id는 같은 크롤링 봇의 가장 최근 데이터셋 ID입니다. 요청한 ID와 다르면 더 최근에 다른 수집이 트리거되었다는 의미입니다.

요청 파라미터

  • Authorization: Header
    해시스크래퍼 API 키. Bearer <api_key> 형식으로 전달합니다.
    예시 Bearer YOUR_API_KEY
  • id: Integer (path)
    조회할 데이터셋 ID. 수집 응답의 schedule_result_id를 그대로 전달합니다.
    예시 239758028

응답 필드

  • result: String
    요청 처리 결과.
    허용값 success, error
  • version: String
    API 버전.
    예시 v4
  • request_id: String
    요청 추적용 ID.
    예시 req_5a8c1f1c-...
  • elapsed_sec: Float
    응답 생성에 걸린 시간(초 단위 Float).
    예시 0.0089
  • data: Object
    수집 상태 정보.
    • schedule_result_id: Integer
      조회된 데이터셋 ID(echo).
    • sr_status: String
      수집 진행 상태. 일반적으로 ready(시작 대기), running(수집 중), retry(재시도 중), finish/complete(완료), canceling(취소 진행 중), canceled(취소 완료) 중 하나입니다. 일부 legacy 데이터셋은 locale에 따라 다른 라벨(예: 한국어 '완료'/'처리중'/'취소'/'중지' 또는 영문 Complete/Processing/Cancel/Stop)이 반환될 수 있습니다. 클라이언트는 위 7개 영문 코드를 우선 매칭하고, 실패 시 raw 문자열로 fallback 처리하는 것을 권장합니다.
    • data_count: Integer
      현재까지 수집된 결과 건수. 호출 시점의 실시간 값으로, 진행 중에는 호출마다 증가할 수 있습니다.
    • created_at: String (ISO 8601)
      데이터셋 생성 시각 (ISO 8601, Asia/Seoul).
    • updated_at: String (ISO 8601)
      데이터셋 마지막 갱신 시각 (ISO 8601, Asia/Seoul). 진행 중에는 워커가 갱신하면서 자주 변하고, 완료 이후에는 보통 변하지 않습니다.
    • param_info: Object
      해당 수집의 파라미터 스냅샷. 키는 param1~paramN으로 안정적이며, 각 항목은 name(라벨)과 value를 포함합니다.
    • union: Boolean | null
      union 모드 여부. union 모드는 같은 크롤링 봇의 마지막 데이터셋에 새 결과를 누적해 추가하는 모드로, 크롤링 봇 설정에 따라 결정됩니다. 해당 수집 실행 시점의 union 값을 그대로 반환합니다.
    • schedule: Object
      이 데이터셋이 속한 크롤링 봇의 컨텍스트.
      • id: String
        크롤링 봇의 ID.
      • name: String
        크롤링 봇의 이름.
      • latest_schedule_result_id: Integer | null
        같은 크롤링 봇의 가장 최근 데이터셋 ID. 요청한 ID와 다르면 더 최근 수집이 있다는 의미.

에러 응답

  • MISSING_API_KEY
    Authorization 헤더가 없거나 형식이 올바르지 않습니다. Authorization: Bearer <api_key> 형태로 전달하세요. (HTTP 401)
    {
      "result": "error",
      "version": "v4",
      "request_id": "req_5a8c1f1c-...",
      "code": "MISSING_API_KEY",
      "message": "API key is missing.",
      "elapsed_sec": 0.0008,
      "details": { "hint": "Send `Authorization: Bearer <api_key>` header." }
    }
  • INVALID_API_KEY
    전달된 API 키와 일치하는 사용자가 없습니다. (HTTP 401)
    {
      "result": "error",
      "version": "v4",
      "request_id": "req_5a8c1f1c-...",
      "code": "INVALID_API_KEY",
      "message": "API key is invalid.",
      "elapsed_sec": 0.0011
    }
  • SCHEDULE_RESULT_NOT_FOUND
    전달된 ID로 데이터셋을 찾을 수 없거나 접근 권한이 없습니다. (HTTP 404)
    {
      "result": "error",
      "version": "v4",
      "request_id": "req_5a8c1f1c-...",
      "code": "SCHEDULE_RESULT_NOT_FOUND",
      "message": "ScheduleResult not found.",
      "elapsed_sec": 0.0021,
      "details": { "resource": "schedule_result", "id": "999999" }
    }

관련 가이드

요청 예시
  • cURL
  • Ruby
  • Python
  • NodeJS
  • PHP
  • Java
응답 예시 200
{
  "result": "success",
  "version": "v4",
  "request_id": "req_5a8c1f1c-9b2d-4e7c-9abf-3f7e0a4d1b21",
  "elapsed_sec": 0.0089,
  "data": {
    "schedule_result_id": 239758028,
    "sr_status": "running",
    "data_count": 42,
    "created_at": "2026-05-06T10:00:00+09:00",
    "updated_at": "2026-05-06T10:01:23+09:00",
    "param_info": {
      "param1": { "name": "키워드", "alias": "keyword", "value": "키성장" },
      "param2": { "name": "정렬",   "alias": "sorting", "value": "추천순" }
    },
    "union": false,
    "schedule": {
      "id": "8f3a7c1e9b5d24f6",
      "name": "네이버 뉴스 검색",
      "latest_schedule_result_id": 239758028
    }
  }
}