{
  "openapi": "3.0.1",
  "info": {
    "title": "Ashby Jobs Scraper & API",
    "description": "Free Ashby jobs scraper: pay only for platform usage. Extract every open job from Ashby job boards with salary ranges and pay tiers, equity, remote/hybrid/on-site type, locations, teams and descriptions. Filter by team, location, workplace, employment type, keywords or date.",
    "version": "1.0",
    "x-build-id": "yo5mYCOtud6RmrA1G"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/miladamirzadeh~ashby-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-miladamirzadeh-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/miladamirzadeh~ashby-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-miladamirzadeh-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/miladamirzadeh~ashby-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-miladamirzadeh-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "company_jobs",
              "job_details"
            ],
            "type": "string",
            "description": "<b>Company jobs</b> lists every open job on the given Ashby boards. <b>Job details</b> fetches specific jobs by URL.",
            "default": "company_jobs"
          },
          "companySlugs": {
            "title": "Company board names or URLs",
            "type": "array",
            "description": "Ashby board names such as <code>openai</code> or <code>ramp</code>, or board URLs such as <code>https://jobs.ashbyhq.com/openai</code>. The board name is the path segment right after <code>jobs.ashbyhq.com/</code>. Case does not matter. Used in <b>Company jobs</b> mode.",
            "default": [
              "linear"
            ],
            "items": {
              "type": "string"
            }
          },
          "jobUrls": {
            "title": "Job URLs",
            "type": "array",
            "description": "Specific jobs as Ashby URLs (<code>https://jobs.ashbyhq.com/linear/d3bc1ced-3ce4-4086-a050-555055dbb1ff</code>) or <code>board/jobId</code>. Used in <b>Job details</b> mode.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeContent": {
            "title": "Include job description",
            "type": "boolean",
            "description": "Save the full description as HTML (<code>content</code>) and plain text (<code>descriptionText</code>). Turn off for smaller, faster exports. Salaries stated in the description are read either way.",
            "default": true
          },
          "workplaceTypes": {
            "title": "Workplace type",
            "type": "array",
            "description": "Keep only jobs with any of these workplace types, as set by the employer in Ashby. Jobs where the employer left it unset are excluded when this is used. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            },
            "default": []
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Keep only jobs with any of these employment types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "intern",
                "contract",
                "temporary"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Internship",
                "Contract",
                "Temporary"
              ]
            },
            "default": []
          },
          "filterDepartment": {
            "title": "Department or team contains",
            "type": "string",
            "description": "Keep only jobs whose department or team contains this text (case-insensitive), e.g. <code>Engineering</code>."
          },
          "filterLocation": {
            "title": "Location or country",
            "type": "string",
            "description": "Keep only jobs where any listed location, city, region or country contains this text (case-insensitive), e.g. <code>London</code> or <code>Germany</code>. <code>Remote</code> also matches jobs with the Remote workplace type. A two-letter country code such as <code>DE</code>, <code>US</code> or <code>UK</code> matches the country exactly (<code>CA</code> is Canada). A US state name such as <code>California</code> also finds its code (\"San Francisco, CA\"), and state codes that are not country codes (<code>NY</code>, <code>TX</code>) match the state."
          },
          "jobKeywords": {
            "title": "Keywords",
            "maxItems": 20,
            "type": "array",
            "description": "Keep jobs whose title or description contains <b>any</b> of these keywords as a whole word or phrase (case-insensitive). Up to 20 keywords.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "postedAfter": {
            "title": "Posted on or after",
            "type": "string",
            "description": "Keep jobs published on or after this UTC date. Relative values such as <code>1 day</code> suit scheduled runs."
          },
          "onlyWithSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Keep only jobs with a salary, either from the employer's Ashby compensation or stated in the job description (see <code>salarySource</code>).",
            "default": false
          },
          "maxJobsPerCompany": {
            "title": "Maximum jobs per company",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of matching jobs saved per company, newest first. Set a high value such as 9999 to save every open role.",
            "default": 500
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Ashby's job posting API is public, so a proxy is not required.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}