{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Page Scraper — Company Jobs by Domain, 9 ATS Boards",
    "description": "Career page jobs: paste a company domain and get every live opening from its Greenhouse, Lever, Ashby, Workday or other ATS board — nine platforms, one box, no board tokens needed. From $0.80 per 1,000 jobs. Never pay for a domain we couldn't resolve.",
    "version": "1.0",
    "x-build-id": "hYkp7n6wWsm6ucBlz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/steadyfetch~company-jobs-by-domain/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-steadyfetch-company-jobs-by-domain",
        "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/steadyfetch~company-jobs-by-domain/runs": {
      "post": {
        "operationId": "runs-sync-steadyfetch-company-jobs-by-domain",
        "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/steadyfetch~company-jobs-by-domain/run-sync": {
      "post": {
        "operationId": "run-sync-steadyfetch-company-jobs-by-domain",
        "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": [
          "domains"
        ],
        "properties": {
          "domains": {
            "title": "Company domains",
            "type": "array",
            "description": "Company domains (stripe.com), careers-page URLs (https://stripe.com/jobs), board URLs (https://jobs.lever.co/leverdemo) or plain company names. Each company we positively identify is charged once as a Company check ($0.002) — a verified zero-openings answer included — on top of the per-job price for the openings delivered; domains we cannot resolve are never charged. An Indeed search belongs in steadyfetch/indeed-jobs-scraper; Indeed and company boards merged into one feed is steadyfetch/multi-job-board-scraper. Called with no input at all (an empty {} from the API or an agent), the run is a 5-opening sample — vercel.com's own hiring board — charged like any run; set only the filters below and no companies and that sample runs under them, charged like any run, with a limit larger than the sample's own capped at it.",
            "default": [
              "_demo"
            ],
            "items": {
              "type": "string"
            }
          },
          "atsFilter": {
            "title": "Only these hiring platforms",
            "type": "array",
            "description": "Restrict the search to named platforms. Leave empty to check all of them.",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "lever",
                "ashby",
                "workday",
                "workable",
                "smartrecruiters",
                "rippling",
                "personio",
                "teamtailor",
                "breezy",
                "bamboohr",
                "adp",
                "phenom"
              ],
              "enumTitles": [
                "Greenhouse",
                "Lever",
                "Ashby",
                "Workday",
                "Workable",
                "SmartRecruiters",
                "Rippling",
                "Personio",
                "Teamtailor",
                "Breezy",
                "BambooHR",
                "ADP WorkforceNow",
                "Phenom People"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "type": "integer",
            "description": "Only openings the board says were posted in the last N days. These boards publish dates back 30 days at most, so ask for a longer window and the run continues at 30, with one uncharged row saying so. Openings a board publishes no posting date for are left out too, and the company's own row says how many. Openings left out are never charged."
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only openings the board marks remote. Greenhouse and Workday publish no remote flag, so their openings are left out and the company's own row says so. Openings left out are never charged.",
            "default": false
          },
          "keywords": {
            "title": "Job title keywords",
            "type": "array",
            "description": "Keep only openings whose job TITLE matches one of these words — any one of them is enough. Matching is on whole words and the start of a word, so \"engineer\" keeps \"Engineering Manager\" and \"ny\" keeps \"NY\" but not \"Sunnyvale\". Up to 25 words: ask for more and the run continues at 25, with one uncharged row saying so. Openings left out are never charged.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location contains",
            "type": "string",
            "description": "Keep only openings whose location matches this place. ONE place, not a list — a city, a region or a country, for example \"New York\" or \"Germany\". Matching is on whole words and the start of a word, so \"new york\" keeps \"New York, NY\". Openings on a board that publishes no location are left out too, and the company's own row says how many. Openings left out are never charged."
          },
          "maxItems": {
            "title": "Max jobs for the whole run",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on delivered jobs across every company in this run. This actor delivers up to 100,000 jobs in one run; ask for more and the run continues at 100,000, with one uncharged row saying so.",
            "default": 1000
          },
          "maxItemsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on delivered jobs from any single company. This actor delivers up to 5,000 jobs from one company in a run; ask for more and the run continues at 5,000, with one uncharged row saying so.",
            "default": 200
          },
          "maxRunSeconds": {
            "title": "Max run seconds",
            "type": "integer",
            "description": "The run stops cleanly before this many seconds and reports what is left, instead of being killed by a timeout. A run is given between 30 and 3,600 seconds; ask for more or less and the run continues at whichever of the two is nearer, with one uncharged row saying so.",
            "default": 900
          },
          "includeSeen": {
            "title": "Include openings you already have",
            "type": "boolean",
            "description": "OFF (default): an opening already delivered to your account is skipped before it takes a row slot — not delivered again, not charged, not counted against your row cap. ON: those rows come back anyway, marked `repeat: true` with `firstSeenAt` and `firstSeenRunId` naming the run that first delivered them, and still not charged. Use it when you want one complete dataset per run rather than only what changed.",
            "default": false
          },
          "resumeFromDatasetId": {
            "title": "Continue from an earlier run's dataset",
            "type": "string",
            "description": "The default dataset ID of an earlier run of this actor. Leave empty to start fresh. If the dataset cannot be read, the run stops before fetching anything and charges nothing, rather than risk billing you twice."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}