{
  "openapi": "3.0.1",
  "info": {
    "title": "Workable Jobs API - Search 66 Boards, No Company List",
    "description": "Query an index of 66 verified Workable boards — 1,116 open roles — with no account slugs of your own. Filter by title, location, remote and posting date, or name your own boards. Deduped so scheduled runs return only new roles. Free sync to Notion, HubSpot or Airtable.",
    "version": "1.0",
    "x-build-id": "fKjk9dwEGkITIbILD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deadwood_data_solutions~workable-jobs-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deadwood_data_solutions-workable-jobs-api",
        "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/deadwood_data_solutions~workable-jobs-api/runs": {
      "post": {
        "operationId": "runs-sync-deadwood_data_solutions-workable-jobs-api",
        "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/deadwood_data_solutions~workable-jobs-api/run-sync": {
      "post": {
        "operationId": "run-sync-deadwood_data_solutions-workable-jobs-api",
        "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": {
          "searchIndex": {
            "title": "Search every board we know - no company list at all",
            "type": "boolean",
            "description": "Ignore company lists entirely and query our index of 66 verified workable boards (1,116 open roles at last check, 2026-08-24). Combine with the title, location and remote filters below to pull, say, every remote senior backend role posted this week. Boards are fetched most-active first, up to \"Maximum boards to search\".",
            "default": false
          },
          "maxBoards": {
            "title": "Maximum boards to search",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Only used when the index search above is on. Each board is one request, so a higher number means a longer run. 200 covers the most active boards in the index."
          },
          "companies": {
            "title": "Workable account slugs",
            "type": "array",
            "description": "One or more Workable account slugs — the company slug in apply.workable.com/<slug> (e.g. walter-careers, welcome-jobs).",
            "items": {
              "type": "string"
            }
          },
          "includeDescription": {
            "title": "Include full job description",
            "type": "boolean",
            "description": "Fetch each posting's full HTML description, requirements and benefits. Makes one extra request per job, so larger records and a slightly slower run.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum records to return",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many normalized records have been pushed. Leave blank for no limit."
          },
          "onlyNewSinceLastRun": {
            "title": "Only return jobs not seen in a previous run",
            "type": "boolean",
            "description": "Recommended for scheduled runs. Uses persisted state to skip postings already returned earlier, so a recurring schedule only charges for genuinely new jobs.",
            "default": true
          },
          "syncEnabled": {
            "title": "Sync new records to a connected app (optional)",
            "type": "boolean",
            "description": "Send each new record to a connected destination (Notion, HubSpot, Airtable, Supabase, or any Apify MCP connector) in addition to the dataset. Free — this never triggers a billable event. A sync failure never blocks or fails the run.",
            "default": false
          },
          "syncDestination": {
            "title": "Sync destination connector",
            "type": "string",
            "description": "Connect the app under Integrations in Apify Console first, then pick it here. Required only if 'Sync new records' is on."
          },
          "syncWriteTool": {
            "title": "Sync destination tool to call per record",
            "type": "string",
            "description": "Name of the destination's MCP tool that creates one record, e.g. 'create_page' for Notion, 'insert' for Supabase. Run the dataset-sync-connector Actor in 'list-tools' mode against the same destination if you don't know it."
          },
          "syncFieldMap": {
            "title": "Sync field mapping",
            "type": "object",
            "description": "Maps destination argument names to this Actor's output field names, e.g. {\"title\": \"legalName\", \"phone\": \"phone\"}. Leave empty to pass each record through unchanged."
          },
          "syncExtraArgs": {
            "title": "Sync constant arguments",
            "type": "object",
            "description": "Fixed arguments merged into every sync write call, e.g. {\"database_id\": \"abc123\"} for Notion."
          },
          "maxPerCompany": {
            "title": "Maximum jobs per company",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many jobs from each board, so one large employer cannot fill the whole result. Recommended with bundles and with index search. Leave empty for no per-company cap."
          },
          "titleIncludes": {
            "title": "Title keywords (any match)",
            "type": "array",
            "description": "Keep only jobs whose title contains one of these (case-insensitive). Leave empty for all titles. E.g. engineer, product, sales.",
            "items": {
              "type": "string"
            }
          },
          "locationIncludes": {
            "title": "Location keywords (any match)",
            "type": "array",
            "description": "Keep only jobs whose location contains one of these (case-insensitive). Leave empty for all locations. E.g. new york, london, remote.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote roles only",
            "type": "boolean",
            "description": "Keep only jobs flagged remote (or whose location mentions remote).",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Keep only postings published in the last N days. 7 gives you this week’s roles. Postings on boards that publish no date are left out, because they cannot be shown to be recent. Leave empty for no date limit."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}