데이터셋 V5 (beta)

수집 결과(데이터셋)를 거르고, 어떻게 만들어졌는지와 데이터를 읽습니다.

데이터셋은 수집 한 번의 결과입니다(v4 의 schedule_results). v5 에서는 그 수집이 수동인지 어느 주기인지(trigger·plan), 어떤 조건으로 돌았는지(inputs)까지 읽을 수 있습니다. 재수집·취소는 수집에서 다룹니다.

엔드포인트

  • GET /v5/api/datasets 목록 — 거르기 지원
  • GET /v5/api/datasets/{dataset_id} 상태·건수·소요·크레딧·시작 방식·주기·조건
  • GET /v5/api/datasets/{dataset_id}/results 데이터(결과 행)

목록 거르기

최근 것부터 옵니다. cursor는 앞 응답의 next_cursor를 그대로 넘기세요. bot_id를 함께 주면 더 빠르게 읽힙니다. 모르는 값은 400 INVALID_PARAM이고 details.allowed에 허용 값이 있습니다.

파라미터설명
bot_id이 봇의 데이터셋만.
plan_id이 주기가 시작한 데이터셋만(주기 id 글자). 봇 설정을 따라가는 첫 주기는 주기 기록이 없던 때의 주기 수집도 포함합니다. bot_id와 다른 봇의 주기를 같이 주면 빈 목록입니다.
trigger시작 방식 — 아래 표.
status상태 — 아래 표.
from·to만든 시각 범위. ISO 8601 또는 YYYY-MM-DD(KST).
cursor·limit이어 받기. limit 기본 100, 최대 1000.
요청 예시
curl 'https://www.hashscraper.com/v5/api/datasets?bot_id=8f3a7c1e9b5d24f6&trigger=period&status=done&from=2026-09-01&to=2026-09-30&limit=20' \
  -H 'Authorization: Bearer YOUR_API_KEY'
응답 예시 200
{
  "result": "success",
  "version": "v5",
  "request_id": "req_5a8c1f1c-9b2d-4e7c-9abf-3f7e0a4d1b21",
  "elapsed_sec": 0.0123,
  "count": 1,
  "next_cursor": 239700100,
  "data": [
    {
      "id": 239758028,
      "bot": {
        "id": "8f3a7c1e9b5d24f6",
        "name": "Sample shopping bot"
      },
      "status": "done",
      "data_count": 1280,
      "union": false,
      "trigger": "period",
      "plan_id": "512",
      "credits_used": 6400,
      "created_at": "2026-09-28T09:00:03+09:00",
      "updated_at": "2026-09-28T09:01:37+09:00"
    }
  ]
}
요청 예시
curl 'https://www.hashscraper.com/v5/api/datasets?plan_id=512' \
  -H 'Authorization: Bearer YOUR_API_KEY'

시작 방식 trigger

값뜻
manual화면에서 직접 시작한 수집.
apiAPI 로 시작한 수집(v5 collections 포함).
period주기가 예정 시각에 시작한 수집.
period_manual주기를 "지금 돌리기"로 시작한 수집.
excel엑셀로 시작한 수집.

상태 status

값뜻
waiting시작 대기.
running수집 중.
retrying재시도 중.
done완료.
attention확인이 필요합니다 — 끝났지만 알림이 붙었거나(검색 결과 없음 등), 오래 갱신되지 않고 멈춘 수집.
failed실패.
canceling취소 중.
canceled취소됨.

상세

목록 칸에 started_at·elapsed_sec(수집 중이면 지금까지)와 아래 세 칸이 더해집니다. 목록에는 주기 이름을 읽지 않으려고 plan_id(글자)만 있고, 이름·문장은 상세에서 봅니다.

칸설명
trigger위 표의 값.
plan주기가 시작한 수집이면 { id, name, label, scheduled_at }(id는 글자, scheduled_at은 그 회차의 예정 시각), 수동이면 null.
inputs그 수집에 쓴 조건 { param1: { name, value } }. 엑셀 행으로 채운 유니온 데이터셋은 null.
credits_used쓴 크레딧(정수).
empty_reason수집이 끝났는데 데이터가 0건인 이유. no_new_items(수집 기간 안에 새 항목 없음), duplicates_only(찾은 데이터가 모두 이미 수집한 것과 겹침), not_found(대상을 찾을 수 없음). 데이터가 있거나 이유를 알 수 없으면 null. 목록에도 같은 칸이 있고, v3 get_results 응답과 웹훅 본문에도 같은 이름으로 들어갑니다.
data_count모인 건수.
요청 예시
curl 'https://www.hashscraper.com/v5/api/datasets/239758028' \
  -H 'Authorization: Bearer YOUR_API_KEY'
응답 예시 200
{
  "result": "success",
  "version": "v5",
  "request_id": "req_5a8c1f1c-9b2d-4e7c-9abf-3f7e0a4d1b21",
  "elapsed_sec": 0.0123,
  "data": {
    "id": 239758028,
    "bot": {
      "id": "8f3a7c1e9b5d24f6",
      "name": "Sample shopping bot"
    },
    "status": "done",
    "data_count": 1280,
    "union": false,
    "trigger": "period",
    "credits_used": 6400,
    "created_at": "2026-09-28T09:00:03+09:00",
    "updated_at": "2026-09-28T09:01:37+09:00",
    "plan": {
      "id": "512",
      "name": "주기 2",
      "label": "매주 월요일 09:00 (KST)",
      "scheduled_at": "2026-09-28T09:00:00+09:00"
    },
    "inputs": {
      "param1": {
        "name": "Keyword",
        "value": "sneakers"
      }
    },
    "started_at": "2026-09-28T09:00:03+09:00",
    "elapsed_sec": 94
  }
}

데이터 읽기

한 번에 limit건(기본 100, 최대 1000)씩 옵니다. sorting은 asc(기본)·desc, since는 그 시각 이후 만들어진 행만(ISO 8601·KST)입니다. 이어 받는 도중 sorting을 바꾸지 마세요.

각 행은 id·created_at·updated_at에 봇의 칸 이름을 키로 한 값이 더해진 모양입니다. v4 와 같은 열입니다.

요청 예시
curl 'https://www.hashscraper.com/v5/api/datasets/239758028/results?limit=1000&sorting=asc' \
  -H 'Authorization: Bearer YOUR_API_KEY'
응답 예시 200
{
  "result": "success",
  "version": "v5",
  "request_id": "req_5a8c1f1c-9b2d-4e7c-9abf-3f7e0a4d1b21",
  "elapsed_sec": 0.0123,
  "count": 1,
  "next_cursor": 91000001,
  "data": [
    {
      "id": 91000001,
      "created_at": "2026-09-28T09:00:40+09:00",
      "updated_at": "2026-09-28T09:00:40+09:00",
      "title": "Sneakers A",
      "price": "59000"
    }
  ]
}
요청 예시
curl 'https://www.hashscraper.com/v5/api/datasets/239758028/results?limit=1000&cursor=91000001' \
  -H 'Authorization: Bearer YOUR_API_KEY'

함께 보면 좋은 가이드