데이터셋 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 | 화면에서 직접 시작한 수집. |
api | API 로 시작한 수집(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'