{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Site Jobs Scraper — Greenhouse, Lever, Workday",
    "description": "Every open role at the companies you name, from fifteen ATSs — Greenhouse, Lever, Ashby, Workday, Workable, BambooHR, Personio, Dayforce, JobAdder, Employment Hero and five more — in one schema. Give board links, domains or names. Incremental mode charges only for what changed. No personal data.",
    "version": "0.3",
    "x-build-id": "EEf7QNTp42ebvJNJ1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/adderleydata~career-site-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-adderleydata-career-site-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/adderleydata~career-site-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-adderleydata-career-site-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/adderleydata~career-site-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-adderleydata-career-site-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",
        "required": [
          "companies"
        ],
        "properties": {
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "One entry per company, in any of these forms: a job-board link on any of fifteen sources — boards.greenhouse.io/acme, jobs.lever.co/acme, jobs.ashbyhq.com/acme, acme.wd5.myworkdayjobs.com/External, acme.recruitee.com, acme.breezy.hr, ats.rippling.com/acme, apply.workable.com/acme, acme.bamboohr.com/careers, acme.jobs.personio.de, acme.applytojob.com/apply, acme.pinpointhq.com, jobs.dayforcehcm.com/en-US/acme/CANDIDATEPORTAL, clientapps.jobadder.com/12345/acme-recruitment or employmenthero.com/jobs/organisations/acme-health (read exactly as given); a source and a board name such as \"lever:acme\" (read on that source only); a company domain such as acme.com, or a careers-page link on it (its name is taken from the domain); or a company name such as \"Acme Robotics\". A domain or a name is looked up as a board name on Greenhouse, Lever, Ashby, Recruitee, Breezy HR, Rippling, BambooHR, Personio and JazzHR. Workday, Workable, Pinpoint, Dayforce, JobAdder and Employment Hero boards always need their link or a pin such as \"workable:acme\". Up to 500 entries per run, of which up to 200 domains or names.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Title keywords",
            "type": "array",
            "description": "Keep postings whose title contains every word of any keyword, in any order — \"engineer data\" matches \"Senior Data Engineer\". On Workday and Dayforce boards each keyword is a search on the board itself. Leave empty for all titles.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep postings whose location contains this text, e.g. \"Melbourne\", \"Canada\", \"Remote\". Leave empty for all locations.",
            "items": {
              "type": "string"
            }
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "Keep postings in a department whose name contains this text, e.g. \"Engineering\" — on JobAdder the posting's category, on Employment Hero its team. Dayforce boards list no department, so this filter is not applied to them. Leave empty for all departments.",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Published within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Keep postings first published in the last N days. Rippling, BambooHR, JazzHR and Pinpoint boards list no dates, so this filter is not applied to them; Workday boards state a posting's age only up to 30 days, so a longer window reads every Workday posting. Leave empty for any time."
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "The run stops once this many postings are saved, across all companies. You are charged per posting saved, so this is also your cost cap.",
            "default": 100
          },
          "includeDescription": {
            "title": "Include full descriptions",
            "type": "boolean",
            "description": "On: the full posting text comes back with each row. On Greenhouse, Lever, Ashby, Recruitee, Workable, Personio, Pinpoint and Employment Hero it arrives with the board itself, and on Workday, Rippling, BambooHR, JazzHR and Dayforce with the posting's own record, which is read anyway: no extra request. On Breezy HR and JobAdder it costs one request per posting saved. Personio text is read in English. Off: listing fields only.",
            "default": false
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "text",
              "text_and_html"
            ],
            "type": "string",
            "description": "Plain text, or plain text plus sanitised HTML.",
            "default": "text"
          },
          "redactContacts": {
            "title": "Redact contact details in descriptions",
            "type": "boolean",
            "description": "On by default: email addresses, phone numbers and personal profile links inside description text are replaced with [redacted]. This Actor never outputs recruiter names or contact fields.",
            "default": true
          },
          "incremental": {
            "title": "Incremental mode",
            "type": "boolean",
            "description": "Remember what earlier runs saw and save only postings that are new, changed or gone. Unchanged postings are skipped and not charged. Put the Actor on a schedule with this on.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Optional name for this monitor, e.g. \"competitor-hiring\". Runs with the same key share memory. Left empty, a key is derived from the companies and filters themselves."
          },
          "emitExpired": {
            "title": "Report expired postings",
            "type": "boolean",
            "description": "Incremental mode only. When a complete run no longer finds a posting it saw before, save one row with changeType EXPIRED.",
            "default": true
          },
          "emitUnchanged": {
            "title": "Also save unchanged postings",
            "type": "boolean",
            "description": "Incremental mode only. Saves (and charges for) every posting, labelled UNCHANGED where nothing moved.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy, automatic group, is the default and is what this Actor is tested with.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Maximum concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Parallel requests. The default is deliberately modest.",
            "default": 4
          },
          "maxRequestsPerMinute": {
            "title": "Maximum requests per minute",
            "minimum": 6,
            "maximum": 240,
            "type": "integer",
            "description": "An upper bound on request rate across the whole run, all sources together. Workable boards are read at most one request every six seconds and Employment Hero boards one every ten, whatever this says.",
            "default": 90
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}