{
  "openapi": "3.0.1",
  "info": {
    "title": "Lever Jobs Scraper: Salary, Remote & New Jobs",
    "description": "Search open jobs across 1,800+ companies on Lever, or read any company’s Lever job board: Spotify, Palantir, Binance and more. Salary ranges, workplace, employment type, team, department, seniority, visa and full text. Only-new-jobs mode. No login.",
    "version": "1.0",
    "x-build-id": "KhtNZOQQgftACHEvN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/digital_influx~lever-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-digital_influx-lever-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/digital_influx~lever-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-digital_influx-lever-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/digital_influx~lever-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-digital_influx-lever-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": {
          "keywords": {
            "title": "Job title keywords",
            "type": "array",
            "description": "Keep jobs whose title contains any of these words (whole-word match: 'intern' does not match 'internal'). Example: software engineer, data scientist. Leave empty for all jobs.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words, e.g. senior, manager, intern.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep jobs whose location, any secondary location or country code contains one of these texts: New York, Germany, DE, London. Codes of two letters match whole words only. The word 'remote' also matches jobs flagged remote.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Keep only jobs that the company marked as remote in Lever.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only jobs created on Lever in the last N days."
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Keep only these levels, read from the job title: \"Senior Data Engineer\" is senior, \"Head of Sales\" is director. \"Not stated\" keeps titles without a level word, which are mostly mid-level roles. Empty = all levels.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "entry",
                "unspecified",
                "senior",
                "lead",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Intern / working student",
                "Entry / junior / associate",
                "Not stated (usually mid-level)",
                "Senior",
                "Lead / staff / principal",
                "Director / head of",
                "Executive (VP, C-level)"
              ]
            }
          },
          "workplaceTypes": {
            "title": "Workplace type",
            "type": "array",
            "description": "Keep only these workplace types, as the company set them in Lever (remote, hybrid, on-site). 97% of Lever jobs state it; add \"Not stated\" to keep the others. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite",
                "unspecified"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site",
                "Not stated"
              ]
            }
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Keep only these employment types. On Lever each company writes its own (Full-time, Full Time On-Site, Temps partiel, Contract Part time…): we map them to these types, and the rest count as \"Not stated\". Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "contract",
                "temporary",
                "internship",
                "unspecified"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract / freelance",
                "Temporary / fixed-term",
                "Internship / working student",
                "Not stated"
              ]
            }
          },
          "descriptionKeywords": {
            "title": "Description keywords",
            "type": "array",
            "description": "Keep jobs whose description contains any of these words (whole-word match), e.g. Python, Kubernetes, GDPR.",
            "items": {
              "type": "string"
            }
          },
          "excludeDescriptionKeywords": {
            "title": "Exclude description keywords",
            "type": "array",
            "description": "Drop jobs whose description contains any of these words, e.g. clearance, relocation.",
            "items": {
              "type": "string"
            }
          },
          "onlyWithSalary": {
            "title": "Only jobs that state a salary",
            "type": "boolean",
            "description": "Keep only jobs with a salary: the salary range the company set in Lever (about a third of Lever jobs), or a pay range written in the description.",
            "default": false
          },
          "onlyVisaSponsorship": {
            "title": "Only jobs that offer visa sponsorship",
            "type": "boolean",
            "description": "Keep only jobs whose description says the company sponsors visas. Jobs that say nothing about it are dropped.",
            "default": false
          },
          "boards": {
            "title": "Lever job boards (optional)",
            "type": "array",
            "description": "Leave empty to search every company in our Lever directory (1,800+). Or add companies' Lever job boards to read just those, whole: the board address (jobs.lever.co/spotify, jobs.eu.lever.co/…) or only its name on Lever (spotify). Lever names are case-sensitive; a name that is in our directory is fixed for you. A link to any job on the board works too. The filters above apply to both.",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "When searching the directory: skip companies whose name or Lever board name contains one of these texts.",
            "items": {
              "type": "string"
            }
          },
          "maxJobs": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Newest first, across all companies. Empty: 200 for a directory search, and every job when you give boards (up to 1,000 per Lever board and 5,000 in all). You also never pay more than the spending limit you set for the run."
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Newest first. Keeps one big employer from filling the results. 0 or empty = no limit."
          },
          "descriptionFormat": {
            "title": "Job description",
            "enum": [
              "text",
              "html",
              "both",
              "none"
            ],
            "type": "string",
            "description": "Plain text is best for spreadsheets and AI agents. 'None' makes results smaller; the salary and compensation fields stay.",
            "default": "text"
          },
          "onlyNew": {
            "title": "Only new jobs (for scheduled runs)",
            "type": "boolean",
            "description": "Save only jobs that earlier runs of this same search (or these same boards) did not save, so a daily schedule gives you just the new postings and you pay only for those. The memory is kept for 180 days in a key-value store named \"lever-jobs-state\" in your account.",
            "default": false
          },
          "memoryName": {
            "title": "Memory name (optional)",
            "type": "string",
            "description": "By default each search or set of boards has its own memory. Give a name to share one memory between tasks, or a new name to start over. Letters, digits, dot, dash and underscore."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}