{
  "openapi": "3.0.1",
  "info": {
    "title": "Greenhouse Jobs Scraper: Job Board API for Any Company",
    "description": "Every open job from any Greenhouse job board, or search 3,489 Greenhouse career sites by job title and location. Salary ranges, seniority, skills and visa sponsorship on every row. New, changed and removed jobs on a schedule. Pay per job.",
    "version": "0.1",
    "x-build-id": "VUdCNCamOC4g2XKgv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/stippled_journey~greenhouse-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-stippled_journey-greenhouse-jobs",
        "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/stippled_journey~greenhouse-jobs/runs": {
      "post": {
        "operationId": "runs-sync-stippled_journey-greenhouse-jobs",
        "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/stippled_journey~greenhouse-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-stippled_journey-greenhouse-jobs",
        "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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Job title words to look for, for example data engineer or account executive (case-insensitive; a job matches any of them). With no boards listed, these search the built-in directory of 3,476 Greenhouse career sites.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep jobs whose location or country contains any of these, for example London, Remote or United States. Leave empty for every location.",
            "items": {
              "type": "string"
            }
          },
          "maxJobs": {
            "title": "Max jobs in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs, newest first. 0 means no limit when you list boards; a directory search then stops at 500. Your run also stops at your spending limit.",
            "default": 0
          },
          "workplaceTypes": {
            "title": "Workplace types",
            "type": "array",
            "description": "Keep only these workplace types. Jobs whose career site does not state one are dropped while this is set.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Keep jobs at these levels, read from the job title (for example Senior, Staff, Head of, VP). Titles that do not state a level, such as plain Software Engineer, are dropped while this is set.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "entry",
                "mid",
                "senior",
                "lead",
                "manager",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Intern / co-op / working student",
                "Entry level / junior / graduate",
                "Mid level",
                "Senior",
                "Lead / staff / principal",
                "Manager",
                "Director / head of",
                "Executive (VP, C-level)"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted within days",
            "minimum": 1,
            "type": "integer",
            "description": "Keep jobs first published within this many days. Leave empty for every open job."
          },
          "visaSponsorship": {
            "title": "Only jobs that offer visa sponsorship",
            "type": "boolean",
            "description": "Keep only jobs whose posting says it sponsors visas (for example \"We can sponsor visas\"). Most postings say nothing either way and are dropped.",
            "default": false
          },
          "requireSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Keep only jobs that publish a pay range or amount.",
            "default": false
          },
          "keywordsInDescription": {
            "title": "Match keywords in descriptions too",
            "type": "boolean",
            "description": "Also match the keywords in job descriptions, not only titles. Broader but noisier.",
            "default": false
          },
          "boards": {
            "title": "Greenhouse boards (optional)",
            "type": "array",
            "description": "Leave empty to search the built-in directory. Or list Greenhouse career-site URLs (for example https://job-boards.greenhouse.io/stripe) or short forms like greenhouse:stripe. Every open job on each board is returned, then filtered.",
            "items": {
              "type": "string"
            }
          },
          "onlyChanges": {
            "title": "Only new, changed and removed jobs",
            "type": "boolean",
            "description": "Return only jobs that are new or changed since the last run with the same input, plus a row for each job that was taken down (expired). Schedule the run to monitor boards. Each row gets a change field: new, changed or removed.",
            "default": false
          },
          "stateName": {
            "title": "Change-tracking name",
            "pattern": "^[A-Za-z0-9_-]{1,60}$",
            "type": "string",
            "description": "Optional name for the change history, to keep separate histories for the same input. By default it is derived from the boards and filters."
          },
          "includeDescription": {
            "title": "Include description text",
            "type": "boolean",
            "description": "Plain-text job description. Email addresses and phone numbers are removed.",
            "default": true
          },
          "includeHtml": {
            "title": "Include description HTML",
            "type": "boolean",
            "description": "Also return the original description HTML (contact details removed).",
            "default": false
          },
          "maxJobsPerBoard": {
            "title": "Max jobs per board",
            "minimum": 0,
            "type": "integer",
            "description": "At most this many jobs from each board, newest first. 0 means no limit.",
            "default": 0
          },
          "searchMaxBoards": {
            "title": "Max directory boards",
            "minimum": 0,
            "type": "integer",
            "description": "Directory search only: search at most this many boards, largest first. 0 searches the whole directory.",
            "default": 0
          },
          "searchTimeLimitSecs": {
            "title": "Directory search time limit (seconds)",
            "minimum": 10,
            "maximum": 3000,
            "type": "integer",
            "description": "Directory search only: the search ends after this many seconds and returns the jobs found so far; boards still being read at that point are cut off and counted in the run status. The boards most likely to match are searched first.",
            "default": 150
          },
          "minRows": {
            "title": "Fail if fewer rows than",
            "minimum": 0,
            "type": "integer",
            "description": "Mark the run as failed when it returns fewer rows than this, so a scheduled run that comes back short triggers your Apify alerts. 0 turns the check off.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}