{
  "openapi": "3.0.1",
  "info": {
    "title": "Greenhouse, Lever & Ashby Jobs + Hiring Company Leads",
    "description": "Open jobs from companies' own Greenhouse, Lever and Ashby boards. Paste names, websites or board links, or search 12,000 companies by job title. Plus one row per hiring company with website, emails and phones.",
    "version": "1.0",
    "x-build-id": "rRXdWFjB6hje8qZqQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/snappytools~greenhouse-lever-ashby-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-snappytools-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/snappytools~greenhouse-lever-ashby-jobs/runs": {
      "post": {
        "operationId": "runs-sync-snappytools-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/snappytools~greenhouse-lever-ashby-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-snappytools-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": {
          "mode": {
            "title": "Where to look",
            "enum": [
              "companies",
              "directory"
            ],
            "type": "string",
            "description": "\"My list of companies\": the companies you paste below. \"Search the directory\": every company in the built-in directory of about 12,000 Greenhouse, Lever and Ashby boards, filtered by your job title keywords. Takes about 7 to 10 minutes.",
            "default": "companies"
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "One company per line, in any of these forms: a name (\"Stripe\"), a website (\"ramp.com\"), a careers page (\"acme.com/careers\"), a job board link (\"https://jobs.lever.co/palantir\", \"https://job-boards.greenhouse.io/stripe\", \"https://jobs.ashbyhq.com/ramp\"), or a board name with its system (\"greenhouse:stripe\", \"lever:palantir\", \"ashby:ramp\"). A name and website together also work: \"Acme Robotics | acme.io\". The tool works out which system each company uses. Up to 1,000 lines.",
            "default": [
              "Stripe",
              "ramp.com",
              "https://jobs.lever.co/palantir"
            ],
            "items": {
              "type": "string"
            }
          },
          "output": {
            "title": "What to return",
            "enum": [
              "jobs",
              "jobsAndCompanies",
              "companies"
            ],
            "type": "string",
            "description": "Jobs only, jobs plus one row per hiring company, or just the hiring companies (for lead lists).",
            "default": "jobsAndCompanies"
          },
          "findCompanyContacts": {
            "title": "Find company emails and phone numbers",
            "type": "boolean",
            "description": "For each hiring company, find its website (from the job board, its job links, its job ads, or its name) and check the homepage and contact page for emails, phone numbers and social links. Emails written in the job ads are added too. Needs \"Jobs and hiring companies\" or \"Hiring companies only\". Allow about 2 to 5 seconds per company.",
            "default": false
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "The most jobs to return from each company, newest first. Company rows still count all of the company's matching jobs.",
            "default": 100
          },
          "titleKeywords": {
            "title": "Job title has any of",
            "type": "array",
            "description": "Only jobs whose title contains one of these words or phrases, for example \"account executive\", \"engineer\" or \"marketing\". A word matches at the start of a word, so \"engineer\" also finds \"Engineering Manager\". Leave empty for all jobs. Required for a directory search.",
            "items": {
              "type": "string"
            }
          },
          "excludeTitleKeywords": {
            "title": "Job title has none of",
            "type": "array",
            "description": "Leave out jobs whose title contains one of these, for example \"intern\" or \"senior\".",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Location has any of",
            "type": "array",
            "description": "Only jobs whose location contains one of these, as the company wrote it, for example \"London\", \"New York\", \"Germany\", \"Remote\" or \"US\". Leave empty for anywhere.",
            "items": {
              "type": "string"
            }
          },
          "workplaceTypes": {
            "title": "Remote, hybrid or on-site",
            "type": "array",
            "description": "Leave empty for all. Uses the board's own remote/hybrid/on-site setting, or the word \"Remote\" or \"Hybrid\" in the location. Jobs that say neither count as on-site only when the board says so.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "departments": {
            "title": "Department has any of",
            "type": "array",
            "description": "Only jobs in a department or team containing one of these, for example \"Sales\" or \"Engineering\". Departments are named by each company, so check a few rows.",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted in the last",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "14",
              "30",
              "60",
              "90"
            ],
            "type": "string",
            "description": "Only jobs first posted in this many days.",
            "default": "any"
          },
          "directoryAts": {
            "title": "Directory: which job boards",
            "type": "array",
            "description": "For a directory search only. Leave empty for all three (about 6,500 Greenhouse, 2,500 Lever and 3,400 Ashby boards).",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "lever",
                "ashby"
              ],
              "enumTitles": [
                "Greenhouse",
                "Lever",
                "Ashby"
              ]
            }
          },
          "maxJobsTotal": {
            "title": "Directory: max jobs in total",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "For a directory search only. The newest matching jobs across all companies are kept, up to this many, and company rows are made for the companies behind them.",
            "default": 500
          },
          "skipAggregators": {
            "title": "Directory: leave out job aggregators and recruitment agencies",
            "type": "boolean",
            "description": "For a directory search only. Leaves out boards that repost other companies' jobs (job aggregators such as Jobgether) and recruitment or staffing agencies, judged by their name, so your leads are companies hiring for themselves. A few may slip through.",
            "default": true
          },
          "includeDescriptions": {
            "title": "Include full job descriptions",
            "type": "boolean",
            "description": "Adds the full job description as plain text and as HTML. Costs a little extra per job.",
            "default": false
          },
          "onlyNewSinceLastRun": {
            "title": "Only new jobs since my last run",
            "type": "boolean",
            "description": "For schedules. Remembers the jobs each company has already returned and skips them next time. Company rows also show how many jobs opened and closed since the last run. The first run returns everything, as usual.",
            "default": false
          },
          "newCompaniesOnly": {
            "title": "Only companies I haven't had before",
            "type": "boolean",
            "description": "Skip hiring companies that an earlier run already delivered (with the same list, or the same watch name). Stops you paying twice for the same lead.",
            "default": false
          },
          "watchName": {
            "title": "Watch name",
            "type": "string",
            "description": "Optional. Runs with the same input share their memory automatically. Give a name to keep two schedules separate, or to share one company memory across different inputs."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}