Scraper Results (All Data Sets) V4

GET www.hashscraper.com/v4/api/schedules/{schedule_id}/results

Returns records collected across all data sets of a single scraper, paginated.

Returns up to limit records per call (default 100, max 1000). Pass the response's next_cursor back as the cursor on the next call to fetch the next page.

Records from multiple data sets are returned together; each record's schedule_result_id identifies the data set it belongs to.

The returned columns differ per scraper and are determined by that scraper's result column configuration. Use since to fetch only records created after a specific timestamp. All timestamps are in Korean local time (Asia/Seoul). since and cursor can be combined.

Scrapers with large text/content columns can produce responses tens of MB in size at high limit values. Prefer smaller limit with cursor pagination for those scrapers.

Request Parameters

  • Authorization: Header
    HashScraper API key. Send it in the form Bearer <api_key>.
    Example Bearer YOUR_API_KEY
  • schedule_id: String (path)
    ID of the scraper to query. Passed as the {schedule_id} path segment. You can copy the Bot ID from Actions → Copy Bot ID on the scraper's detail page.
    Example 8f3a7c1e9b5d24f6
  • sorting: optional String
    Sort direction by collection time. Do not change mid-pagination — the cursor direction flips with it.
    Default asc Allowed asc, desc
  • cursor: optional Integer
    Pass the response's next_cursor back to fetch the next page. Applied in the current sorting direction.
  • since: optional String
    Fetch records created at or after this timestamp. Format %Y-%m-%d %H:%M:%S, Korean local time.
    Example 2026-05-06 00:00:00
  • limit: optional Integer
    Maximum records per page.
    Default 100 Allowed 1 ~ 1000

Response Fields

  • result: String
    Result of the request.
    Allowed success, error
  • version: String
    API version.
    Example v4
  • request_id: String
    Request trace ID.
    Example req_5a8c1f1c-...
  • elapsed_sec: Float
    Time the server took to produce the response, in seconds (Float).
    Example 0.0178
  • count: Integer
    Number of records in this response.
  • next_cursor: Integer | null
    Pass back as cursor on the next call. null means this is the last page.
  • data: Array<Object>
    Array of collected records.
    • id: Integer
      Unique ID of the record.
    • schedule_result_id: Integer
      ID of the data set this record belongs to.
    • created_at: String (ISO 8601)
      Collection time (ISO 8601, Asia/Seoul).
    • updated_at: String (ISO 8601)
      Last update time (ISO 8601, Asia/Seoul). Collected results are rarely modified, so this is typically equal to created_at.
    • <dynamic fields>: Any
      Scraper-specific dynamic fields. Key names are determined by the scraper's result column configuration. Values may be null (columns the worker did not populate). Time columns may use scraper-specific formats that are not guaranteed to be ISO 8601 with timezone like the top-level created_at (e.g. "2026-05-21 10:34:12").

Error Responses

  • MISSING_API_KEY
    Missing or malformed Authorization header. Send as 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
    No user matches the provided API key. (HTTP 401)
    {
      "result": "error",
      "version": "v4",
      "request_id": "req_5a8c1f1c-...",
      "code": "INVALID_API_KEY",
      "message": "API key is invalid.",
      "elapsed_sec": 0.0011
    }
  • SCHEDULE_NOT_FOUND
    No scraper matches the ID, or the caller does not have access. (HTTP 404)
    {
      "result": "error",
      "version": "v4",
      "request_id": "req_5a8c1f1c-...",
      "code": "SCHEDULE_NOT_FOUND",
      "message": "Schedule not found.",
      "elapsed_sec": 0.0021,
      "details": { "resource": "schedule", "id": "8f3a7c1e9b5d24f6" }
    }
  • INVALID_PARAM (sorting)
    sorting must be asc or desc. (HTTP 400)
    {
      "result": "error",
      "version": "v4",
      "request_id": "req_5a8c1f1c-...",
      "code": "INVALID_PARAM",
      "message": "Invalid sorting parameter.",
      "elapsed_sec": 0.0014,
      "details": { "param_name": "sorting", "allowed": ["asc","desc"] }
    }
  • INVALID_PARAM (since)
    since is malformed or unparseable. (HTTP 400)
    {
      "result": "error",
      "version": "v4",
      "request_id": "req_5a8c1f1c-...",
      "code": "INVALID_PARAM",
      "message": "Invalid since parameter.",
      "elapsed_sec": 0.0014,
      "details": { "param_name": "since", "value": "not-a-date" }
    }

Related Guides

Example Request
  • cURL
  • Ruby
  • Python
  • NodeJS
  • PHP
  • Java
Optional
Example Response 200
{
  "result": "success",
  "version": "v4",
  "request_id": "req_5a8c1f1c-9b2d-4e7c-9abf-3f7e0a4d1b21",
  "elapsed_sec": 0.0192,
  "count": 3,
  "next_cursor": 26284152,
  "data": [
    {
      "id": 26283699,
      "schedule_result_id": 239758028,
      "created_at": "2026-05-06T16:20:19+09:00",
      "updated_at": "2026-05-06T16:20:19+09:00",
      "제목": "함께할 개발자 모집 (C#)",
      "회사명": "에딤스 주식회사",
      "URL": "https://www.saramin.co.kr/..."
    },
    {
      "id": 26283700,
      "schedule_result_id": 239758028,
      "created_at": "2026-05-06T16:20:19+09:00",
      "updated_at": "2026-05-06T16:20:19+09:00",
      "제목": "백엔드 개발자",
      "회사명": "(주)텍스트웨이",
      "URL": "https://www.saramin.co.kr/..."
    },
    {
      "id": 26284152,
      "schedule_result_id": 239758029,
      "created_at": "2026-05-07T09:00:14+09:00",
      "updated_at": "2026-05-07T09:00:14+09:00",
      "제목": "함께할 개발자 모집 (C#)",
      "회사명": "에딤스 주식회사",
      "URL": "https://www.saramin.co.kr/..."
    }
  ]
}