{
  "openapi": "3.0.1",
  "info": {
    "title": "Workable Jobs Scraper - Search All Jobs & Company Boards",
    "description": "Scrape Workable job listings by keyword and location across every Workable employer, or pull whole company careers boards. Full descriptions, requirements, benefits, salary when stated, company info and apply links. Remote, job type, experience and date filters, plus only-new-jobs alerts. No login.",
    "version": "0.1",
    "x-build-id": "JauQpocp8NBLQOuCN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yugenox~workable-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yugenox-workable-jobs-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/yugenox~workable-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-yugenox-workable-jobs-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/yugenox~workable-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-yugenox-workable-jobs-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": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "search",
              "companies"
            ],
            "type": "string",
            "description": "<b>Search</b>: keyword + location search across every company that hires on Workable. <b>Company boards</b>: every open job at the companies you list (keywords, locations and filters below still apply).",
            "default": "search"
          },
          "queries": {
            "title": "Job titles / keywords",
            "type": "array",
            "description": "One search per line, e.g. \"data analyst\" or \"react developer\". Each keyword is combined with each location. Leave empty to get every job in the chosen locations.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "City, region or country, e.g. \"Toronto\", \"London\", \"Germany\", \"United States\". Leave empty for worldwide.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Workable URLs (optional)",
            "type": "array",
            "description": "Paste links from Workable instead of (or as well as) keywords: a job-board search page (https://jobs.workable.com/search?query=...&location=...) runs that exact search with its filters; a company page (https://apply.workable.com/<company>/ or https://jobs.workable.com/company/...) pulls that company's board.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "workplace": {
            "title": "Workplace",
            "type": "array",
            "description": "Only on-site, hybrid and/or remote jobs. Pick several to get any of them. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "on_site",
                "hybrid",
                "remote"
              ],
              "enumTitles": [
                "On-site",
                "Hybrid",
                "Remote"
              ]
            }
          },
          "employmentType": {
            "title": "Employment type",
            "type": "array",
            "description": "Only these employment types. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "contract",
                "temporary",
                "other"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Other"
              ]
            }
          },
          "experience": {
            "title": "Experience level",
            "type": "array",
            "description": "Only these seniority levels. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entry_level",
                "associate",
                "mid_senior_level",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior level",
                "Director",
                "Executive"
              ]
            }
          },
          "postedWithin": {
            "title": "Date posted",
            "enum": [
              "any",
              "1",
              "7",
              "30"
            ],
            "type": "string",
            "description": "Only jobs posted in this window.",
            "default": "any"
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "One company per line: the careers-page name (\"huggingface\"), a careers page link (https://apply.workable.com/huggingface/ or https://huggingface.workable.com) or a company link from jobs.workable.com (https://jobs.workable.com/company/.../jobs-at-...).",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max jobs (total)",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs across all searches. 0 = no limit.",
            "default": 1000
          },
          "maxItemsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Cap for each keyword x location (or company) combination. 0 = no limit.",
            "default": 0
          },
          "includeDescription": {
            "title": "Include job description",
            "type": "boolean",
            "description": "Save the full description, requirements and benefits. Turn off for smaller, faster exports (salary is still extracted).",
            "default": true
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "text",
              "html",
              "both"
            ],
            "type": "string",
            "description": "Plain text, the original HTML, or both.",
            "default": "text"
          },
          "includeCompanyDetails": {
            "title": "Include company description",
            "type": "boolean",
            "description": "Add the employer's \"about us\" text to every job. Company name, website, logo and board link are always included.",
            "default": true
          },
          "onlyNew": {
            "title": "Only new jobs",
            "type": "boolean",
            "description": "Remember every job this search has returned before and skip it next time, so scheduled runs return (and charge for) only new postings. The memory is kept per search setup (or per \"Memory name\" below).",
            "default": false
          },
          "monitorKey": {
            "title": "Memory name (optional)",
            "type": "string",
            "description": "Give the only-new memory a name to share it between tasks or to keep it when you change the search. Letters, numbers and dashes."
          },
          "maxConcurrency": {
            "title": "Parallel searches",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many searches / company boards run at once. Each runs page by page on its own IP.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy (datacenter) works well and is cheapest. If Workable starts limiting datacenter IPs the run switches to residential proxies by itself.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}