Ashby Jobs API Scraper
Pricing
from $1.00 / 1,000 ashby job results
Ashby Jobs API Scraper
Fetch public Ashby job postings across company boards with full descriptions, locations, departments, remote status, compensation, and apply URLs.
Ashby Jobs API Scraper
Pricing
from $1.00 / 1,000 ashby job results
Fetch public Ashby job postings across company boards with full descriptions, locations, departments, remote status, compensation, and apply URLs.
You can access the Ashby Jobs API Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "1.0", "x-build-id": "7Xyq1A748kUcqpDLz" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/muhammadafzal~ashby-jobs-api/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-muhammadafzal-ashby-jobs-api", "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/muhammadafzal~ashby-jobs-api/runs": { "post": { "operationId": "runs-sync-muhammadafzal-ashby-jobs-api", "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/muhammadafzal~ashby-jobs-api/run-sync": { "post": { "operationId": "run-sync-muhammadafzal-ashby-jobs-api", "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", "required": [ "jobBoards" ], "properties": { "jobBoards": { "title": "Ashby job boards", "minItems": 1, "maxItems": 50, "type": "array", "description": "Use this to select organizations. Enter a board name such as `Ashby` or a URL such as `https://jobs.ashbyhq.com/Ashby`; 1–50 unique boards are accepted. This is not an individual job URL.", "items": { "type": "string", "minLength": 1 }, "default": [ "Ashby" ] }, "keyword": { "title": "Keyword filter", "type": "string", "description": "Use this to keep jobs containing a phrase in the title, department, team, location, or plain-text description, for example `engineer`. Matching is case-insensitive; blank keeps all jobs.", "default": "" }, "locations": { "title": "Location filters", "type": "array", "description": "Use this to keep jobs whose primary or secondary location contains any entry, for example `United States` or `London`. Matching is case-insensitive; an empty list disables the filter.", "items": { "type": "string", "minLength": 1 }, "default": [] }, "departments": { "title": "Department filters", "type": "array", "description": "Use this to keep jobs whose department contains any entry, for example `Engineering`. Matching is case-insensitive; an empty list disables the filter.", "items": { "type": "string", "minLength": 1 }, "default": [] }, "teams": { "title": "Team filters", "type": "array", "description": "Use this to keep jobs whose Ashby team contains any entry, for example `Growth`. Matching is case-insensitive; an empty list disables the filter.", "items": { "type": "string", "minLength": 1 }, "default": [] }, "employmentTypes": { "title": "Employment type filters", "type": "array", "description": "Use this to keep any matching Ashby employment type, for example `FullTime`, `PartTime`, `Contract`, `Intern`, or `Temporary`. Values are matched case-insensitively; empty keeps all types.", "items": { "type": "string", "minLength": 1 }, "default": [] }, "workplaceTypes": { "title": "Workplace type filters", "type": "array", "description": "Use this to keep any matching workplace type, for example `Remote`, `Hybrid`, or `OnSite`. Values are matched case-insensitively; empty keeps all types.", "items": { "type": "string", "minLength": 1 }, "default": [] }, "remoteOnly": { "title": "Remote jobs only", "type": "boolean", "description": "Use this when only postings marked remote by Ashby should be returned. The default `false` includes both remote and non-remote jobs.", "default": false }, "publishedAfter": { "title": "Published on or after", "type": "string", "description": "Use this to keep jobs published on or after an ISO 8601 date or timestamp, for example `2026-01-01`. Leave blank for any publication date; this is not a free-form relative date.", "default": "" }, "includeCompensation": { "title": "Include compensation", "type": "boolean", "description": "Use this to request public compensation fields from Ashby's official posting API. Enabled by default; jobs without disclosed compensation return null salary fields.", "default": true }, "includeDescriptionHtml": { "title": "Include description HTML", "type": "boolean", "description": "Use this when the original rich job description is needed. The default `false` returns plain text only and keeps datasets smaller.", "default": false }, "maxResults": { "title": "Maximum job results", "minimum": 1, "maximum": 10000, "type": "integer", "description": "Use this to cap unique dataset records across all boards. The default is 100; accepted range is 1–10000. Apify free-plan runs are capped at 5 records even when a larger value is requested; paid and agentic runs use this setting. This is a result limit, not an API-page limit.", "default": 100 }, "maxConcurrency": { "title": "Maximum board concurrency", "minimum": 1, "maximum": 10, "type": "integer", "description": "Use this to control simultaneous Ashby board requests. The default is 5; accepted range is 1–10 to keep traffic bounded.", "default": 5 } } }, "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Ashby Jobs API Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: