{
  "openapi": "3.0.1",
  "info": {
    "title": "Greenhouse, Lever & Ashby Jobs: New & Closed Roles",
    "description": "Job postings from company career boards on Greenhouse, Lever and Ashby, in one format, from their public APIs. Schedule it to get only new and closed roles. Filter by title, location, remote and salary. No proxy, no browser, pay per job.",
    "version": "0.1",
    "x-build-id": "brzEG99vWyA3Lnadn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jp-data-lab~greenhouse-lever-ashby-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jp-data-lab-greenhouse-lever-ashby-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/jp-data-lab~greenhouse-lever-ashby-jobs/runs": {
      "post": {
        "operationId": "runs-sync-jp-data-lab-greenhouse-lever-ashby-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/jp-data-lab~greenhouse-lever-ashby-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-jp-data-lab-greenhouse-lever-ashby-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": {
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Up to 5,000. Use a company name (stripe), a career board URL (https://jobs.lever.co/spotify), or platform:slug (ashby:ramp). A name that is not in the directory is tried on Greenhouse, Lever and Ashby, and the match is listed in RUN_SUMMARY.",
            "default": [
              "gitlab",
              "lever:spotify",
              "ashby:linear"
            ],
            "items": {
              "type": "string"
            }
          },
          "directoryCategories": {
            "title": "Directory categories",
            "type": "array",
            "description": "Also read the verified company boards bundled with this Actor. Choose all, or one or more categories. Combine with title and location filters, because you pay for each job returned.",
            "items": {
              "type": "string",
              "enum": [
                "all",
                "ai",
                "fintech",
                "devtools",
                "security",
                "saas",
                "consumer",
                "health",
                "crypto",
                "climate",
                "hardware"
              ],
              "enumTitles": [
                "All categories",
                "AI",
                "Fintech",
                "Developer tools",
                "Security",
                "Business software",
                "Consumer",
                "Health",
                "Crypto",
                "Climate and energy",
                "Hardware and robotics"
              ]
            }
          },
          "onlyNew": {
            "title": "Only new jobs",
            "type": "boolean",
            "description": "Remember what this account has received and output only jobs not seen before. Use it with a schedule. The first run outputs the newest jobs up to the limits and marks the other matching jobs as seen. Changing a filter starts a fresh record.",
            "default": false
          },
          "includeClosed": {
            "title": "Include closed jobs",
            "type": "boolean",
            "description": "With Only new jobs: also output a row with status closed when a job you received earlier leaves the board. Each closed row is charged as one result.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Only needed to keep two schedules with the same companies and filters separate, for example one per client."
          },
          "titleKeywords": {
            "title": "Title keywords",
            "type": "array",
            "description": "Keep jobs whose title contains any of these. Case and accents are ignored. English words match whole words, so add plurals.",
            "items": {
              "type": "string"
            }
          },
          "excludeTitleKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Leave out jobs whose title contains any of these, for example intern or senior.",
            "items": {
              "type": "string"
            }
          },
          "locationKeywords": {
            "title": "Location keywords",
            "type": "array",
            "description": "Keep jobs whose location contains any of these, for example London or Remote. Locations are the employer's own wording.",
            "items": {
              "type": "string"
            }
          },
          "departmentKeywords": {
            "title": "Department keywords",
            "type": "array",
            "description": "Keep jobs whose department or team contains any of these.",
            "items": {
              "type": "string"
            }
          },
          "descriptionKeywords": {
            "title": "Description keywords",
            "type": "array",
            "description": "Keep jobs whose description contains any of these, for example python or visa sponsorship.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Keep only jobs marked as fully remote. Hybrid jobs are left out. On Greenhouse this is read from the location text.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Only jobs posted in the last N days. 0 = no limit.",
            "default": 0
          },
          "onlyWithSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Keep only jobs with a pay range, from the platform's own field or read from the description.",
            "default": false
          },
          "minAnnualSalary": {
            "title": "Minimum annual salary",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only jobs whose range reaches this yearly amount, in the job's own currency. Hourly and monthly pay are converted. Implies only jobs with a salary. 0 = no limit.",
            "default": 0
          },
          "includeDescription": {
            "title": "Include description",
            "type": "boolean",
            "description": "Add the job description as plain text. Turn it off for much smaller rows.",
            "default": true
          },
          "includeHtml": {
            "title": "Include HTML description",
            "type": "boolean",
            "description": "Also add the description as HTML.",
            "default": false
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Newest first.",
            "default": 50
          },
          "maxJobs": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Total for the whole run. You are charged per result.",
            "default": 1000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}