{
  "openapi": "3.0.1",
  "info": {
    "title": "Workable Jobs & Careers Board Scraper",
    "description": "Scrape public job listings from any Workable careers board by account slug or board URL. Extract job title, company, department, city, region, country, remote flag, employment type, apply URL and full description. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "Zf0l2HN0jhSUb3L2h"
  },
  "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/careers/. 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 careers, remote-va, walter-careers. 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": ""
          },
          "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
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}