{
  "openapi": "3.0.1",
  "info": {
    "title": "Ashby Jobs Scraper & API: Live Jobs, Pay & Skills",
    "description": "Search open jobs across Ashby career boards by keyword, location, pay and skills. Every job is checked live, and you are not charged for closed ones.",
    "version": "1.0",
    "x-build-id": "Q49bX7VGw1lJsrtBE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/atsfeed~ashby-jobs-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-atsfeed-ashby-jobs-search",
        "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/atsfeed~ashby-jobs-search/runs": {
      "post": {
        "operationId": "runs-sync-atsfeed-ashby-jobs-search",
        "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/atsfeed~ashby-jobs-search/run-sync": {
      "post": {
        "operationId": "run-sync-atsfeed-ashby-jobs-search",
        "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": {
          "titleKeywords": {
            "title": "Job title keywords",
            "type": "array",
            "description": "A job matches if its title contains any entry. Words in an entry can be in any order: \"data engineer\" also finds \"Engineer, Data\". Put an entry in double quotes for an exact phrase. Leave empty for all titles.",
            "items": {
              "type": "string"
            }
          },
          "excludeTitleKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Skip jobs whose title contains any of these, for example \"intern\" or \"manager\".",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Any city, state, country or two-letter country code, in plain words. Common spellings work: Bangalore and Bengaluru, UK and United Kingdom. Leave empty for worldwide.",
            "items": {
              "type": "string"
            }
          },
          "includeGlobalRemote": {
            "title": "Also include remote jobs with no stated country",
            "type": "boolean",
            "description": "Applies when you set locations. Keeps remote jobs that do not name a country.",
            "default": true
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 0,
            "maximum": 730,
            "type": "integer",
            "description": "1 returns jobs posted today (UTC), 7 returns the last week. Use 0 for any date. Scanning all dates takes longer.",
            "default": 7
          },
          "maxResults": {
            "title": "Maximum jobs",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "The run stops after this many jobs. You pay per job returned, so this also caps your cost.",
            "default": 100
          },
          "companies": {
            "title": "Only these companies",
            "type": "array",
            "description": "Company names, career board names or website domains, such as \"Stripe\" or \"stripe.com\".",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Skip jobs from companies whose name contains any of these.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Only jobs marked remote by the employer or in the location text.",
            "default": false
          },
          "workplaceTypes": {
            "title": "Workplace type",
            "type": "array",
            "description": "Filter by workplace. \"Not stated\" covers jobs that do not say.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite",
                "unspecified"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site",
                "Not stated"
              ]
            }
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Detected from the job title.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "junior",
                "mid",
                "senior",
                "lead",
                "staff_principal",
                "manager",
                "director",
                "vp",
                "c_level"
              ],
              "enumTitles": [
                "Intern",
                "Junior or entry level",
                "Mid level",
                "Senior",
                "Lead",
                "Staff or principal",
                "Manager",
                "Director or head of",
                "VP",
                "C-level"
              ]
            }
          },
          "categories": {
            "title": "Job category",
            "type": "array",
            "description": "Detected from the job title and department.",
            "items": {
              "type": "string",
              "enum": [
                "engineering",
                "data_ai",
                "security",
                "product",
                "design",
                "sales",
                "marketing",
                "customer",
                "finance",
                "people",
                "legal",
                "operations",
                "healthcare",
                "education",
                "research_science",
                "retail_hospitality",
                "trades_field",
                "other"
              ],
              "enumTitles": [
                "Software engineering",
                "Data and AI",
                "Security",
                "Product and program",
                "Design",
                "Sales",
                "Marketing",
                "Customer success and support",
                "Finance",
                "People and recruiting",
                "Legal and compliance",
                "Operations",
                "Healthcare",
                "Education",
                "Research and science",
                "Retail and hospitality",
                "Trades and field work",
                "Other"
              ]
            }
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Jobs that do not state a type are left out when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "contract",
                "temporary",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship"
              ]
            }
          },
          "skills": {
            "title": "Mentions any of these technologies or tools",
            "type": "array",
            "description": "Matches tools named in the job description, such as python, snowflake, salesforce or hubspot. Use lowercase. Works on jobs enriched from a full description, which is most but not all jobs.",
            "items": {
              "type": "string"
            }
          },
          "salaryDisclosedOnly": {
            "title": "Only jobs that state pay",
            "type": "boolean",
            "description": "Keep only jobs with a salary from the employer or found in the description.",
            "default": false
          },
          "minAnnualSalary": {
            "title": "Minimum yearly pay",
            "minimum": 0,
            "type": "integer",
            "description": "Compares the top of the stated range, converted to yearly when pay is hourly or monthly. Applies only to jobs in the currency below."
          },
          "salaryCurrency": {
            "title": "Currency for minimum pay",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "CAD",
              "AUD",
              "INR",
              "SGD",
              "CHF"
            ],
            "type": "string",
            "description": "Currency used by the minimum pay filter.",
            "default": "USD"
          },
          "visaSponsorshipOnly": {
            "title": "Only jobs stating visa sponsorship is offered",
            "type": "boolean",
            "description": "Based on wording in the description. Confirm with the employer.",
            "default": false
          },
          "excludeNoVisaSponsorship": {
            "title": "Exclude jobs stating no visa sponsorship",
            "type": "boolean",
            "description": "Keeps jobs that say nothing about sponsorship.",
            "default": false
          },
          "excludeClearanceRequired": {
            "title": "Exclude jobs requiring security clearance",
            "type": "boolean",
            "description": "Skip jobs that mention a required security clearance.",
            "default": false
          },
          "includeDescription": {
            "title": "Include full job description",
            "type": "boolean",
            "description": "Adds the description as plain text, read live from the source. Turn off for a faster run with only structured fields.",
            "default": true
          },
          "includeDescriptionHtml": {
            "title": "Also include description HTML",
            "type": "boolean",
            "description": "Adds the original HTML when the source provides it.",
            "default": false
          },
          "descriptionKeywords": {
            "title": "Description must contain any of",
            "type": "array",
            "description": "Checked against each live description. You are charged only for jobs that pass. Slower than title keywords, so pair it with other filters.",
            "items": {
              "type": "string"
            }
          },
          "excludeDescriptionKeywords": {
            "title": "Description must not contain",
            "type": "array",
            "description": "Skip jobs whose live description contains any of these.",
            "items": {
              "type": "string"
            }
          },
          "verifyLive": {
            "title": "Check each job is still open",
            "type": "boolean",
            "description": "Reads each job from its source before returning it. Closed jobs are skipped at no charge. Always on when descriptions are included.",
            "default": true
          },
          "dedupe": {
            "title": "Remove duplicates",
            "type": "boolean",
            "description": "Returns one job when a company lists the same title and location more than once.",
            "default": true
          },
          "onlyNewJobs": {
            "title": "Only jobs not returned before",
            "type": "boolean",
            "description": "For scheduled runs. Remembers delivered jobs in a key-value store in your account and skips them next time. Changing any filter starts a new history, unless you set a history name below.",
            "default": false
          },
          "deltaKey": {
            "title": "History name",
            "type": "string",
            "description": "Optional name for the \"only new jobs\" history, so you can change filters and keep it. Example: \"sales-jobs-feed\"."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}