{
  "openapi": "3.0.1",
  "info": {
    "title": "Workable Jobs Scraper & Careers Board API - ATS Job Listings",
    "description": "Workable jobs scraper and careers board API. Scrape ATS job listings from any Workable board by slug or URL: title, company, location, salary, full description, apply links and application questions. Filter by keyword, location, department and more. Export recruiting data to JSON, CSV, Excel.",
    "version": "0.1",
    "x-build-id": "Ce2eScuf8FnZHfCtH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~workable-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-workable-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapers_lat~workable-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-workable-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapers_lat~workable-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-workable-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "maxJobs": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of jobs to collect. Optional."
          },
          "withDetails": {
            "title": "Fetch Full Job Details",
            "type": "boolean",
            "description": "When enabled, each job is enriched with the full description, requirements and benefits text from its detail page. Slower but richer.",
            "default": true
          },
          "startUrls": {
            "title": "Board URLs",
            "type": "array",
            "description": "One or more Workable careers board URLs, for example https://apply.workable.com/quickhirestaffing/. The company account is read from the URL. Use this or the Accounts field below.",
            "items": {
              "type": "string"
            }
          },
          "accounts": {
            "title": "Accounts",
            "type": "array",
            "description": "One or more Workable account slugs (the part after apply.workable.com/), for example quickhirestaffing, journey-further-1. Use this or the Board URLs field above.",
            "items": {
              "type": "string"
            }
          },
          "searchQuery": {
            "title": "Search Query",
            "type": "string",
            "description": "Keyword applied server-side by Workable to match the job title, department or location, for example developer, marketing or nurse. Leave empty to return every open role."
          },
          "employmentType": {
            "title": "Employment Type",
            "enum": [
              "",
              "full",
              "part",
              "contract",
              "temporary",
              "internship"
            ],
            "type": "string",
            "description": "Keep only roles of this employment type. Applied server-side by Workable.",
            "default": ""
          },
          "remoteOnly": {
            "title": "Remote Only",
            "type": "boolean",
            "description": "When enabled, only roles flagged as remote by the company are returned. Applied server-side by Workable.",
            "default": false
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Keep only jobs whose city, region or country (including every secondary location) contains this value (case-insensitive), for example United States, Berlin or Philippines. Applied by the actor after fetching."
          },
          "department": {
            "title": "Department",
            "type": "string",
            "description": "Keep only jobs whose department contains this value (case-insensitive), for example Engineering, Sales or Marketing. Applied by the actor after fetching."
          },
          "workplace": {
            "title": "Workplace",
            "enum": [
              "",
              "remote",
              "hybrid",
              "on_site"
            ],
            "type": "string",
            "description": "Keep only jobs with this workplace arrangement. Applied by the actor after fetching.",
            "default": ""
          },
          "jobFunction": {
            "title": "Job Function",
            "type": "string",
            "description": "Keep only jobs whose job function contains this value (case-insensitive), for example Engineering, Sales or Customer Service. Applied by the actor after fetching."
          },
          "industry": {
            "title": "Industry",
            "type": "string",
            "description": "Keep only jobs whose industry contains this value (case-insensitive), for example Computer Software or Financial Services. Applied by the actor after fetching."
          },
          "experienceLevel": {
            "title": "Experience Level",
            "type": "string",
            "description": "Keep only jobs whose experience level contains this value (case-insensitive), for example Entry level, Mid-Senior level or Director. Applied by the actor after fetching."
          },
          "postedAfter": {
            "title": "Posted After",
            "type": "string",
            "description": "Keep only jobs published on or after this date, for example 2026-01-01. Applied by the actor after fetching."
          },
          "includeHtml": {
            "title": "Include Raw HTML",
            "type": "boolean",
            "description": "When enabled (with Fetch Full Job Details), each job also includes the original description, requirements and benefits as raw HTML in descriptionHtml, requirementsHtml and benefitsHtml, alongside the clean text versions.",
            "default": false
          },
          "withQuestions": {
            "title": "Fetch Application Questions",
            "type": "boolean",
            "description": "When enabled, each job is enriched with the employer's custom application (screening) questions from its public application form, returned in applicationQuestions with the question text, type, whether it is required and any answer choices. Paid plans only; adds one extra request per job.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}