{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Site Jobs: Greenhouse, Lever, Ashby, Workday & 7 More",
    "description": "Search 1M+ open jobs from 15,000+ company career sites in seconds — Greenhouse, Lever, Ashby, Workday & 7 more ATS — or read any company live. Experience level, job category, skills, visa sponsorship and yearly pay in USD on every job. Salary, remote, only-new mode.",
    "version": "0.3",
    "x-build-id": "Vvita9MbHDEmKt6nB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sports-odds-lab~ats-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sports-odds-lab-ats-jobs-scraper",
        "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/sports-odds-lab~ats-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sports-odds-lab-ats-jobs-scraper",
        "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/sports-odds-lab~ats-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sports-odds-lab-ats-jobs-scraper",
        "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": {
          "searchAllCompanies": {
            "title": "Search all 15,000+ companies (instant)",
            "type": "boolean",
            "description": "Search the open jobs of every company in our directory — 15,000+ career sites on Greenhouse, Lever, Ashby, Workday, SmartRecruiters and 6 more, over 1,000,000 open jobs — in seconds: our crawler reads all of them every 6 hours, and this search runs on that copy. Use the filters below (job title, location, remote, experience level, category, salary, visa, skills…). Companies listed below are read live as well. If the job database is ever unavailable, the Actor reads the career sites live instead (10-15 minutes).",
            "default": false
          },
          "companies": {
            "title": "Companies (read live)",
            "type": "array",
            "description": "One company per line, in any of these forms:\n• a job board URL — boards.greenhouse.io/stripe, jobs.lever.co/palantir, jobs.ashbyhq.com/openai, nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite, jobs.smartrecruiters.com/BoschGroup, apply.workable.com/…, ….recruitee.com, ….jobs.personio.de, ….teamtailor.com, ….breezy.hr, ….pinpointhq.com\n• the company's own careers page or website (figma.com/careers) — the Actor finds the job board it uses\n• just the name (OpenAI, Databricks, Notion) — the Actor tries it on every ATS and picks the board with most jobs\n• 'ats:slug' to be explicit (greenhouse:stripe, lever:palantir, smartrecruiters:BoschGroup)\nWorkday sites always need their URL.\nRead live, right now, from the company's own job board. Leave it empty when you only use 'Search all companies'.",
            "items": {
              "type": "string"
            }
          },
          "directoryAts": {
            "title": "Search all: only these systems (ATS)",
            "type": "array",
            "description": "Optional: with 'Search all companies', only jobs from companies on these applicant tracking systems. Empty = all 11.",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "lever",
                "ashby",
                "workday",
                "smartrecruiters",
                "workable",
                "recruitee",
                "personio",
                "teamtailor",
                "breezy",
                "pinpoint"
              ],
              "enumTitles": [
                "Greenhouse",
                "Lever",
                "Ashby",
                "Workday",
                "SmartRecruiters",
                "Workable",
                "Recruitee",
                "Personio",
                "Teamtailor",
                "Breezy HR",
                "Pinpoint"
              ]
            }
          },
          "keywords": {
            "title": "Job title contains",
            "type": "array",
            "description": "Keep jobs whose title has any of these words or phrases at the start of a word (case-insensitive): 'engineer' also finds 'Engineering', but not 'Reengineering'; 'data engineer' not 'Metadata Engineer'. Short words like 'AI', 'QA' or 'C#' match whole words only. Empty = all jobs.",
            "items": {
              "type": "string"
            }
          },
          "searchInDescription": {
            "title": "Also search job descriptions",
            "type": "boolean",
            "description": "Match the keywords in the description too, not only the title (e.g. a skill like 'Kubernetes'). With 'Search all companies' the first 6,000 characters of each description are searched.",
            "default": false
          },
          "excludeKeywords": {
            "title": "Job title does not contain",
            "type": "array",
            "description": "Drop jobs whose title has any of these at the start of a word, e.g. 'senior', 'intern', 'manager'.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep jobs in any of these places: a city, region or country ('Berlin', 'California', 'Germany'), a country code or alias ('US', 'UK', 'DE' — matched against each job's country, never inside other words), or 'Remote'. Matched against every location of the job. Empty = anywhere.",
            "items": {
              "type": "string"
            }
          },
          "workplace": {
            "title": "Remote / hybrid / on-site",
            "enum": [
              "any",
              "remote",
              "hybrid",
              "onsite",
              "remoteOrHybrid"
            ],
            "type": "string",
            "description": "Keep only remote, hybrid or on-site jobs. Jobs whose board says nothing about it count as unknown and are dropped by this filter.",
            "default": "any"
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Keep only these types. Jobs whose board does not state a type are kept.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "contract",
                "temporary",
                "internship",
                "apprenticeship",
                "volunteer",
                "other"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract / freelance",
                "Temporary",
                "Internship",
                "Apprenticeship",
                "Volunteer",
                "Other"
              ]
            }
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "Keep jobs whose department or team contains any of these, e.g. 'Engineering', 'Sales'. Jobs without a department are kept.",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Only jobs posted in the last N days. 0 = any time. Jobs on boards that show no posting date (Pinpoint) are dropped by this filter.",
            "default": 0
          },
          "experienceLevels": {
            "title": "Experience level",
            "type": "array",
            "description": "Keep jobs of these levels — from the title ('Senior', 'Junior', 'Head of', 'Intern'…), the ATS's own level, or the years of experience asked for. Jobs whose level cannot be told are dropped by this filter.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entry",
                "mid",
                "senior",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Internship / working student",
                "Entry level / junior",
                "Mid level",
                "Senior / lead / principal",
                "Director / head of / VP",
                "Executive (C-level, founder)"
              ]
            }
          },
          "jobCategories": {
            "title": "Job category",
            "type": "array",
            "description": "Keep jobs in these categories (from the title, or the department when the title says nothing).",
            "items": {
              "type": "string",
              "enum": [
                "Software Engineering",
                "Data & Analytics",
                "AI & Machine Learning",
                "IT & Infrastructure",
                "Security",
                "Product Management",
                "Design & UX",
                "Engineering & Hardware",
                "Sales",
                "Marketing & Communications",
                "Customer Success & Support",
                "Operations & Supply Chain",
                "Finance & Accounting",
                "HR & Recruiting",
                "Legal",
                "Healthcare & Medical",
                "Science & Research",
                "Consulting & Strategy",
                "Administration",
                "Education & Training",
                "Manufacturing & Trades",
                "Retail & Hospitality",
                "Project & Program Management",
                "Content & Writing"
              ]
            }
          },
          "minYearlySalaryUsd": {
            "title": "Minimum yearly pay (US dollars)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs whose published pay reaches at least this much per year, any currency or period converted to US dollars per year (hourly × 2,080). Jobs without published pay are dropped by this filter. 0 = no filter."
          },
          "onlyWithSalary": {
            "title": "Only jobs that publish pay",
            "type": "boolean",
            "description": "Keep only jobs with a salary range (from the ATS's pay fields or found in the description).",
            "default": false
          },
          "visaSponsorship": {
            "title": "Visa sponsorship",
            "enum": [
              "any",
              "yes",
              "no"
            ],
            "type": "string",
            "description": "Read from the description ('visa sponsorship is available', 'we are unable to sponsor'…). Most postings say nothing — 'Any' keeps them all.",
            "default": "any"
          },
          "maxYearsOfExperience": {
            "title": "Max years of experience asked",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Drop jobs that ask for more years of experience than this ('5+ years of experience' = 5). Jobs that do not say are kept."
          },
          "skills": {
            "title": "Skills",
            "type": "array",
            "description": "Keep jobs that name all of these in the title or description (case does not matter). Our list: .NET, AWS, Adobe Creative Suite, Agile, Airflow, Android, Angular, AutoCAD, Azure, Bash, BigQuery, C#, C++, CFA, CI/CD, CISSP, CPA, Computer Vision, Cypress, Databricks, Django, Docker, Elasticsearch, English, Excel, FastAPI, Figma, Flask, French, GCP, German, Git, Go, Google Ads, Google Analytics, GraphQL, HubSpot, Java, JavaScript, Jira, Kafka, Kotlin, Kubernetes, LLMs, Linux, Looker, MATLAB, Machine Learning, MongoDB, MySQL, NLP, NetSuite, Next.js, Node.js, PHP, PLC, PMP, Pandas, PostgreSQL, Power BI, PyTorch, Python, R, REST APIs, React, Redis, Redshift, Ruby, Ruby on Rails, Rust, SAP, SEO, SQL, Salesforce, Scala, Selenium, ServiceNow, Snowflake, SolidWorks, Spanish, Spark, Spring Boot, Swift, Tableau, TensorFlow, Terraform, TypeScript, Vue, Zendesk, dbt, iOS, scikit-learn. Every job gets its skills in the 'skills' field.",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Company names (as in the 'company' field) or 'ats:slug' to leave out, e.g. staffing agencies or your current employer.",
            "items": {
              "type": "string"
            }
          },
          "onlyNew": {
            "title": "Only new jobs since the previous run",
            "type": "boolean",
            "description": "For schedules: skip jobs that an earlier run with the same companies and filters already delivered, so you get — and pay for — new postings only. The first run returns all current jobs. The memory is kept in the key-value store 'ats-jobs-incremental' in your account.",
            "default": false
          },
          "incrementalName": {
            "title": "Memory name (only new jobs)",
            "type": "string",
            "description": "Optional: your own name for the 'only new jobs' memory, e.g. to share it between tasks or start over with a fresh name. Empty = one memory per combination of companies and filters."
          },
          "descriptionFormat": {
            "title": "Job description",
            "enum": [
              "text",
              "html",
              "both",
              "none"
            ],
            "type": "string",
            "description": "Plain text, HTML, both, or none. 'None' is fastest on Workday, SmartRecruiters, Workable and Breezy HR, which need one extra request per job for the description and exact posting date.",
            "default": "text"
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Newest first. 0 = no limit.",
            "default": 0
          },
          "maxItems": {
            "title": "Max jobs in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many saved jobs. 0 = no limit.",
            "default": 0
          },
          "concurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "type": "integer",
            "description": "How many requests run at once (up to 8 per job board and 3 boards at a time; more when searching all companies).",
            "default": 24
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}