{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Site Jobs API: Greenhouse, Workday, Lever + 7 more",
    "description": "Search 1.6M+ open jobs from nearly 30,000 companies' own career sites (Greenhouse, Workday, Lever, Ashby, SmartRecruiters, Workable, BambooHR, Recruitee, Personio, iCIMS). Filter by keyword, location, remote, seniority, pay and job type. Daily new and closed jobs feeds. $3 per 1,000 jobs.",
    "version": "1.0",
    "x-build-id": "5cVVTWr1skDAIY4F9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/trap_check~career-site-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-trap_check-career-site-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/trap_check~career-site-jobs/runs": {
      "post": {
        "operationId": "runs-sync-trap_check-career-site-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/trap_check~career-site-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-trap_check-career-site-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": "Job title keywords",
            "type": "array",
            "description": "Words from the job title, e.g. \"data engineer\", \"nurse\" or \"Account Executive\". Each entry matches titles containing all its words; with several entries, a job matching any of them is returned. Keep them short: \"nurse\" finds more than \"registered nurse ICU night shift\". Leave empty for all jobs.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Country names or two-letter codes, e.g. United States, United Kingdom, Germany, India, or US, GB, DE, IN. Any country works. Leave empty for the whole world.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "A city, state or region that must appear in the job's location, e.g. \"Austin\", \"London\", \"Bavaria\", \"CA\". A job matching any of them is returned. For a whole country, use Countries; for remote jobs, use Workplace type.",
            "items": {
              "type": "string"
            }
          },
          "workplaceTypes": {
            "title": "Workplace type",
            "type": "array",
            "description": "Remote, hybrid or on-site, as stated by the employer or found in the location text.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "maxResults": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many jobs. Newest first.",
            "default": 1000
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Worked out from the job title (e.g. \"Senior\", \"Staff\", \"Intern\", \"Director\").",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "junior",
                "senior",
                "lead",
                "manager",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Intern / co-op",
                "Junior / entry level",
                "Senior",
                "Lead / staff / principal",
                "Manager",
                "Director",
                "Executive / VP / head of"
              ]
            }
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "As the employer labels the job (Full-time, Part-time, Contract...). About half of employers don't say, and those jobs are left out when you pick a type.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "contract",
                "temporary",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract / freelance",
                "Temporary / seasonal",
                "Internship / apprenticeship"
              ]
            }
          },
          "minSalary": {
            "title": "Minimum salary",
            "minimum": 0,
            "type": "integer",
            "description": "Only jobs whose posted pay range reaches this amount (in the job's own currency and period). Jobs without posted pay are left out."
          },
          "onlyWithSalary": {
            "title": "Only jobs with posted pay",
            "type": "boolean",
            "description": "Only jobs where the employer published a pay range.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted in the last N days",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Uses the employer's posting date; when the employer gives none, the day we first saw the job."
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Only these companies: a name (\"Stripe\"), a careers page URL (https://jobs.lever.co/acme) or a company id from earlier results. Leave empty for all companies.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Leave out titles containing",
            "type": "array",
            "description": "Jobs whose title contains any of these are left out, e.g. \"senior\", \"intern\", \"sales\".",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Leave out companies",
            "type": "array",
            "description": "Jobs from these companies are left out: a name, a careers page URL or a company id.",
            "items": {
              "type": "string"
            }
          },
          "searchIn": {
            "title": "Search keywords in",
            "enum": [
              "title",
              "all"
            ],
            "type": "string",
            "description": "Title only (precise), or title + company + location + department (broader).",
            "default": "title"
          },
          "onlyNewSinceLastRun": {
            "title": "Only jobs new since my last run",
            "type": "boolean",
            "description": "Schedule this Actor daily and turn this on to get only jobs that appeared since the previous run of the same search. The first run returns everything that matches.",
            "default": false
          },
          "includeClosedJobs": {
            "title": "Also list jobs that closed since my last run",
            "type": "boolean",
            "description": "Used with \"Only new since my last run\". From the second run on, jobs matching your search that the employer took down since the previous run are added too, with status \"closed\" and closedAt. Handy for keeping a job board or dataset clean.",
            "default": false
          },
          "feedName": {
            "title": "Feed name (optional)",
            "type": "string",
            "description": "Used with \"Only new since my last run\". Give a search a name to keep its bookmark when you edit its filters. Leave empty to track each different search separately."
          },
          "includeDescription": {
            "title": "Include full job descriptions",
            "type": "boolean",
            "description": "Fetch each job's full description (text and HTML) from the employer's own job system. Slower, same price.",
            "default": false
          },
          "sources": {
            "title": "Job systems",
            "type": "array",
            "description": "Limit to companies using these job systems. Leave empty for all eleven.",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "lever",
                "ashby",
                "workday",
                "smartrecruiters",
                "workable",
                "bamboohr",
                "personio",
                "recruitee",
                "icims",
                "paylocity"
              ],
              "enumTitles": [
                "Greenhouse",
                "Lever",
                "Ashby",
                "Workday",
                "SmartRecruiters",
                "Workable",
                "BambooHR",
                "Personio",
                "Recruitee",
                "iCIMS",
                "Paylocity"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}