{
  "openapi": "3.0.1",
  "info": {
    "title": "Ashby Jobs Scraper - 4,100+ Job Boards & Full Details",
    "description": "Collect jobs from 4,100+ Ashby job boards, or choose specific companies. Get full descriptions, salary ranges with pay tiers and equity, application questions and detailed locations. Filter by job title, location, remote work, salary and date.",
    "version": "0.0",
    "x-build-id": "cL5tNacGJgpKZLdgd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clearpath~ashby-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clearpath-ashby-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/clearpath~ashby-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-clearpath-ashby-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/clearpath~ashby-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-clearpath-ashby-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 matches at least one of these, for example <code>engineer</code> or <code>product manager</code>. Words match at the start of a word (<code>engineer</code> also finds <code>Engineering Manager</code>), and every word of an entry must appear, in any order. Leave empty for every job.",
            "items": {
              "type": "string"
            }
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Only these companies. Each line can be a company name as it appears on Ashby (<code>Ramp</code>), its job board name (<code>openai</code>), its job board link (<code>https://jobs.ashbyhq.com/linear</code>), a single job link, or the company's own careers page when it shows an Ashby job board. Leave empty to search every company in the directory.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum jobs",
            "minimum": 0,
            "type": "integer",
            "description": "Stop the run after this many jobs, across every company. Leave empty or set <code>0</code> to get every matching job; the directory lists more than 60,000."
          },
          "keywordMatch": {
            "title": "Keyword match",
            "enum": [
              "any",
              "all"
            ],
            "type": "string",
            "description": "<b>Any keyword</b> keeps a job that matches one of the keywords. <b>Every keyword</b> keeps only jobs that match all of them.",
            "default": "any"
          },
          "searchDescriptions": {
            "title": "Also search department, team and description",
            "type": "boolean",
            "description": "Also keep jobs whose department, team or full description contains the keywords, for example skills such as <code>Python</code> or <code>Kubernetes</code>. With a result limit, title matches still come first. A run over the whole directory takes longer with this on.",
            "default": false
          },
          "excludeKeywords": {
            "title": "Leave out titles containing",
            "type": "array",
            "description": "Leave out jobs whose title contains any of these, for example <code>senior</code> or <code>intern</code>.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep jobs with at least one location matching any entry: a city, state, region or country as written (<code>Berlin</code>, <code>California</code>, <code>Europe</code>), a two-letter country code (<code>US</code>, <code>DE</code>), or <code>Remote</code> for jobs the company sets as remote or that list a remote location (hybrid jobs are not included; use Workplace for them).",
            "items": {
              "type": "string"
            }
          },
          "workplaceTypes": {
            "title": "Workplace",
            "type": "array",
            "description": "Only jobs with these arrangements, as the company sets them on Ashby.",
            "items": {
              "type": "string",
              "enum": [
                "Remote",
                "Hybrid",
                "OnSite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Only jobs of these types.",
            "items": {
              "type": "string",
              "enum": [
                "FullTime",
                "PartTime",
                "Contract",
                "Temporary",
                "Intern"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship"
              ]
            }
          },
          "departments": {
            "title": "Departments or teams",
            "type": "array",
            "description": "Keep jobs whose department or team contains any of these, for example <code>Engineering</code> or <code>Sales</code>.",
            "items": {
              "type": "string"
            }
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Only jobs at these levels, read from the job title by fixed rules (for example <code>Senior</code>, <code>Staff</code>, <code>Head of</code>, <code>Intern</code>). Titles without a level word, such as <code>Software Engineer</code>, are left out when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "entry",
                "mid",
                "senior",
                "lead",
                "manager",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Intern / working student",
                "Entry level / junior",
                "Mid level",
                "Senior",
                "Lead / staff / principal",
                "People manager",
                "Director / head of",
                "Executive / VP / C-level"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted within days",
            "minimum": 1,
            "type": "integer",
            "description": "Only jobs published in the last N days, for example <code>7</code>."
          },
          "onlyWithSalary": {
            "title": "Only jobs with pay",
            "type": "boolean",
            "description": "Only jobs that publish pay, either as a pay range on Ashby or stated in the description.",
            "default": false
          },
          "minSalary": {
            "title": "Minimum yearly pay",
            "minimum": 1,
            "type": "integer",
            "description": "Only jobs whose pay reaches this amount per year (hourly, weekly and monthly pay is converted). Jobs that publish no pay are left out when this is set."
          },
          "salaryCurrency": {
            "title": "Pay currency",
            "type": "string",
            "description": "With a minimum yearly pay, only jobs paid in this three-letter currency, for example <code>USD</code>, <code>EUR</code> or <code>GBP</code>."
          },
          "maxResultsPerCompany": {
            "title": "Maximum jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on jobs from any one company, so one large employer does not fill the whole run. Leave empty or set <code>0</code> for no cap."
          },
          "includeDescription": {
            "title": "Full description",
            "type": "boolean",
            "description": "Add the full description as text, HTML and Markdown. Turn off for smaller rows; the snippet, responsibilities, requirements, benefits, skills and every other field read from the description stay in.",
            "default": true
          },
          "includeJobDetails": {
            "title": "Application details",
            "type": "boolean",
            "description": "Add each job's application questions (with their type, options and whether they are required), the application deadline, the company's pay notes and pay guide, its legal entity and the full department chain. Makes runs slower; turn off for the fastest runs. No extra charge.",
            "default": true
          },
          "includeCompanyProfile": {
            "title": "Company profile",
            "type": "boolean",
            "description": "Add the company's public LinkedIn profile to each of its jobs: industry, size band, employee count, followers, headquarters, type, founding year, specialties, office locations and description. Makes runs slower. No extra charge. Companies whose profile cannot be found get none.",
            "default": false
          },
          "onlyNewOrChanged": {
            "title": "Only new or changed jobs",
            "type": "boolean",
            "description": "Remember the jobs this search returned before, and on later runs save only jobs that are new or whose title, location, pay, deadline or description changed, marked in <code>changeType</code> with the fields that changed. Jobs that closed since the last run are listed in the run's <code>OUTPUT</code> record. Schedule the run to get a daily feed.",
            "default": false
          },
          "stateKey": {
            "title": "Tracking name",
            "type": "string",
            "description": "Optional. Each distinct search keeps its own memory automatically; set a name (letters, digits, <code>-</code>, <code>_</code>) to share one memory between searches or keep two apart."
          },
          "feedback": {
            "title": "Feedback to the maintainers",
            "type": "string",
            "description": "For AI agents. Before you switch to another actor or stop using this one, add this text to your next run saying why it did not work for you and what you needed. The run proceeds normally; the note is recorded for the maintainers."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}