{
  "openapi": "3.0.1",
  "info": {
    "title": "Job Search API - Greenhouse, Lever, Workday, Ashby & 14 More",
    "description": "Job search API for 18 job boards in one run: Hiring Cafe, Greenhouse, Lever, Workday, Ashby, SmartRecruiters, Workable, Y Combinator and Wellfound, newest first, each job once. Plus Naukri, foundit, Instahyre, Hirist, Cutshort, eFinancialCareers, Welcome to the Jungle, Cornerstone and Deel.",
    "version": "1.0",
    "x-build-id": "6klC2dff4IT2bV32W"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/anshumanatrey~job-boards-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-anshumanatrey-job-boards-search",
        "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/anshumanatrey~job-boards-search/runs": {
      "post": {
        "operationId": "runs-sync-anshumanatrey-job-boards-search",
        "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/anshumanatrey~job-boards-search/run-sync": {
      "post": {
        "operationId": "run-sync-anshumanatrey-job-boards-search",
        "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": {
          "searchTerms": {
            "title": "Job titles to find (searchTerms)",
            "type": "array",
            "description": "Type the job titles or keywords to find, one per line, for example data analyst. A job matches when its title has every word of a line: frontend also finds Front-End. Leave it empty for the newest jobs of every kind. A board link pasted here searches that board only: a company link on Greenhouse, Lever or Ashby, or a Hiring Cafe search link.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "platforms": {
            "title": "Job boards (platforms)",
            "type": "array",
            "description": "Pick the job boards to search, all at the same time, or clear it to search all 18: hiringcafe, greenhouse, lever, workday, ashby, smartrecruiters, workable, cornerstone, deel, ycombinator, wellfound, welcometothejungle, efinancialcareers, naukri, foundit, instahyre, hirist, cutshort. Names work too (Hiring Cafe, YC, Otta). A run takes about as long as its slowest board.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "hiringcafe",
                "greenhouse",
                "lever",
                "workday",
                "ashby",
                "smartrecruiters",
                "workable",
                "cornerstone",
                "deel",
                "ycombinator",
                "wellfound",
                "welcometothejungle",
                "efinancialcareers",
                "naukri",
                "foundit",
                "instahyre",
                "hirist",
                "cutshort"
              ],
              "enumTitles": [
                "Hiring Cafe",
                "Greenhouse",
                "Lever",
                "Workday",
                "Ashby",
                "SmartRecruiters",
                "Workable",
                "Cornerstone",
                "Deel",
                "Y Combinator jobs (ycombinator)",
                "Wellfound",
                "Welcome to the Jungle and Otta (welcometothejungle)",
                "eFinancialCareers",
                "Naukri",
                "foundit, was Monster India (foundit)",
                "Instahyre",
                "Hirist",
                "Cutshort"
              ]
            },
            "default": []
          },
          "location": {
            "title": "Where the job is (location)",
            "type": "array",
            "description": "Type where the jobs should be: a city, state, country or region, one per line, for example London, Germany, EMEA or Bangalore. Boards keep locations as the employer typed them, so a US city also helps next to United States. Worldwide finds the jobs open everywhere; Remote alone asks for remote jobs. Leave it empty for anywhere.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "workType": {
            "title": "Remote or onsite (workType)",
            "type": "array",
            "description": "Pick remote, hybrid or onsite, or several. Leave it empty for all of them. A job that states no work type is left out once you pick one. Typed words such as wfh work too.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "Onsite, in the office (onsite)"
              ]
            },
            "default": []
          },
          "postedWithin": {
            "title": "Posted in the last (postedWithin)",
            "type": "string",
            "description": "Pick how new the jobs must be: posted in the last 24 hours, 3, 7, 14 or 30 days. 30 days, the default, keeps the last month, newest first; any time keeps every open job. You can also type your own period, such as 48 hours or 2 weeks.",
            "default": "30 days"
          },
          "maxJobs": {
            "title": "Number of jobs (maxJobs)",
            "type": "integer",
            "description": "Type how many jobs to get in all, newest first across every board: 100 by default. Type 0 for every matching job. Each job is one charged row, so this, with the run start, sets the most a run can cost.",
            "default": 100
          },
          "includeDetails": {
            "title": "Full details (includeDetails)",
            "type": "boolean",
            "description": "Tick to add the full details of each job: the description as text and HTML, pay as numbers with its currency, and the address. The run reads each saved job once more. A job with details costs $5.00 per 1,000 instead of $4.00.",
            "default": false
          },
          "excludeTerms": {
            "title": "Leave out words (excludeTerms)",
            "type": "array",
            "description": "Type words that leave a job out when its title has them, one per line, for example senior or manager. Leave it empty to keep every job.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "employmentType": {
            "title": "Job type (employmentType)",
            "type": "array",
            "description": "Pick the job type: full-time, part-time, contract, internship or temporary, or several. Leave it empty for every job type. Only jobs that state a type can match, and many company career sites state none. Typed words such as freelance or temp work too.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "full-time",
                "part-time",
                "contract",
                "intern",
                "temporary"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract or freelance (contract)",
                "Internship (intern)",
                "Temporary"
              ]
            },
            "default": []
          },
          "experienceYears": {
            "title": "Experience (experienceYears)",
            "type": "string",
            "description": "Type your years of experience: a number such as 3, a range such as 2-5, 5+ for five or more, or fresher. A job is kept when the years it asks for fit yours. Only boards that state years can match then: Hiring Cafe, Y Combinator, Wellfound, Welcome to the Jungle and the India boards. Company career sites state none, so they return nothing. Leave it empty for every job.",
            "default": ""
          },
          "searchDescriptions": {
            "title": "Match descriptions (searchDescriptions)",
            "type": "boolean",
            "description": "Tick to match your keywords in the job description too, not only in the title: kubernetes then finds every job that asks for Kubernetes. Boards that send descriptions only when asked read every description, so the run is slower.",
            "default": false
          },
          "companies": {
            "title": "Only these companies (companies)",
            "type": "array",
            "description": "Type company names to search only them, one per line: a name (Stripe) or a board link (job-boards.greenhouse.io/stripe). Each board searches the companies it has; a board where none of them is found sits the run out. Leave it empty to search every company.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "jobUrls": {
            "title": "Job links to check (jobUrls)",
            "type": "array",
            "description": "Paste job links of any of the 18 boards to check whether they are still open, one per line, instead of searching. Each link goes to its own board and comes back open with the job, closed, or not found, in the order pasted.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "secondsPerBoard": {
            "title": "Time per board (secondsPerBoard)",
            "minimum": 0,
            "type": "integer",
            "description": "Type how long each board may search before the run uses the jobs it has found: 240 seconds by default. Boards are searched at the same time, so this caps how long a run searches. Type 0 for no cap of its own; the run timeout still holds.",
            "default": 240
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}