List Scrapers V4

GET www.hashscraper.com/v4/api/schedules

Lists scrapers registered to your account, paginated.

Returns up to limit scrapers per call (default 100, max 1000). Results are sorted by scraper ID ascending (oldest first) — pass the response's next_cursor back as the cursor on the next call to fetch the next page.

Each scraper includes metadata (id, name, period, ...), worker information (worker_source), and parameter information (param_info). Each param_info entry exposes its allowed value list (options) inline, so clients can discover acceptable values without an extra call.

Request Parameters

  • Authorization: Header
    HashScraper API key. Send it in the form Bearer <api_key>.
    Example Bearer YOUR_API_KEY
  • cursor: optional Integer
    Pass the response's next_cursor back to fetch the next page.
  • limit: optional Integer
    Maximum scrapers 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.0234
  • count: Integer
    Number of scrapers 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 scrapers.
    • id: String
      Scraper ID. Use it as schedule_id in other V4 endpoints.
    • name: String
      Scraper name.
    • description: String | null
      Scraper description. May contain raw HTML (e.g. <br>, line breaks); escape or sanitize when rendering.
    • schedule_group: Object | null
      Group this scraper belongs to. null when the scraper has no group.
      • id: Integer
        Group ID.
      • name: String
        Group name.
      • name_en: String
        Group name (English). The key is omitted if not configured.
    • period: String | null
      Collection period. One of manual, hour, day; may be null if not set.
      Allowed manual, hour, day
    • union: Boolean
      Whether union mode is enabled. Union mode reuses the scraper's last data set instead of creating a new one, accumulating results inside it.
    • created_at: String (ISO 8601)
      Scraper creation time (ISO 8601, Asia/Seoul).
    • updated_at: String (ISO 8601)
      Scraper last update time (ISO 8601, Asia/Seoul).
    • worker_source: Object | null
      Worker information used by this scraper. null when no worker is attached.
      • name: String
        Worker name.
      • version: Integer
        Worker version.
      • updated_at: String (ISO 8601)
        Worker last update time (ISO 8601, Asia/Seoul).
      • price: Float
        Credits consumed per record collected by this worker.
    • param_info: Object
      Scraper input parameters. Keys are stable (param1~paramN) and only in-use slots are included.
      • name: String
        Parameter label (Korean).
      • name_en: String
        Parameter label (English). The key is omitted if not configured.
      • alias: String
        English alias configured for this parameter. You can send it instead of paramN in a request. (omitted if not set)
      • value: String | null
        Current value stored on the scraper. null if unset.
      • options: Array<Object>
        Allowed values for this parameter. The key is omitted for free-form parameters. Each entry has name (Korean), name_en (English), and value (the actual value to send on collect).

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
    }

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.0234,
  "count": 2,
  "next_cursor": null,
  "data": [
    {
      "id": "8f3a7c1e9b5d24f6",
      "name": "네이버 뉴스 검색",
      "description": "키워드로 네이버 뉴스를 수집합니다.",
      "schedule_group": { "id": 7, "name": "뉴스", "name_en": "NEWS" },
      "period": "manual",
      "union": false,
      "created_at": "2026-04-12T10:00:00+09:00",
      "updated_at": "2026-05-06T16:20:19+09:00",
      "worker_source": {
        "name": "DemoNaverNewsListWorker",
        "version": 12,
        "updated_at": "2026-05-01T11:00:00+09:00",
        "price": 0.5
      },
      "param_info": {
        "param1": { "name": "키워드", "alias": "keyword", "value": "키성장" },
        "param2": {
          "name": "정렬",
          "alias": "sorting",
          "value": "관련도순",
          "options": [
            { "name": "관련도순", "name_en": "Relevance", "value": "관련도순" },
            { "name": "최신순",   "name_en": "Newest",    "value": "최신순" }
          ]
        }
      }
    },
    {
      "id": "2b9d4f0a6c1e8a73",
      "name": "사람인 채용공고",
      "description": null,
      "schedule_group": { "id": 2, "name": "쇼핑몰", "name_en": "E-Commerce" },
      "period": "day",
      "union": true,
      "created_at": "2026-03-20T09:30:00+09:00",
      "updated_at": "2026-05-05T08:00:00+09:00",
      "worker_source": {
        "name": "DemoSaraminListWorker",
        "version": 7,
        "updated_at": "2026-04-30T15:00:00+09:00",
        "price": 1.0
      },
      "param_info": {
        "param1": { "name": "검색어", "value": "백엔드 개발자" }
      }
    }
  ]
}