Skip to main content
Glama

Open jobs from Ashby job boards

ashby_jobs
Read-only

Scrape and filter open jobs from Ashby company boards or a built-in directory by keywords, location, remote status, department, and posting date.

Instructions

Open jobs from companies that hire through Ashby (jobs.ashbyhq.com). Pass companies as Ashby slugs (e.g. 'ramp'), board URLs or careers pages that embed an Ashby board; or set searchDirectory to true to search a built-in directory of boards. Filter with keywords, excludeKeywords, locations, remoteOnly and postedWithinDays. Full descriptions are off by default here to save tokens; set includeDescription to true to get them. Not affiliated with Ashby. Cost, charged to your own Apify account: $0.001 per job returned. Each call is capped at maxCostUsd (default $0.25). Defaults applied by this server when omitted: maxTotalJobs=25, includeDescription=false. Runs Apify Actor fecklesspleb/ashby-jobs-scraper (https://apify.com/fecklesspleb/ashby-jobs-scraper).

Input Schema

NameRequiredDescriptionDefault
keywordsNoTitle keywords (any). Keep jobs whose title contains at least one of these words (case-insensitive). Leave empty to keep all.
companiesNoAshby companies (slugs, board URLs or careers pages). One entry per company. Accepts an Ashby slug such as 'ramp', a board URL on jobs.ashbyhq.com, or a company careers page that embeds an Ashby board. Leave empty, with the directory off, for a demo run: up to 5 sample jobs from https://jobs.ashbyhq.com/ramp at the normal per-job price. If no entry can be read, the run fails with an error. The form is prefilled with this sample board and 'Max jobs in total' 5, which runs the same small demo (5 x $0.001 = $0.005); replace it with your own boards and clear or raise 'Max jobs in total' for a real run.
locationsNoLocations (any). Keep jobs whose location contains one of these strings, for example 'London', 'United States', 'Remote'.
maxCostUsdNoMost this call may charge your Apify account, in US dollars. Default 0.25, maximum 5. Passed to Apify as maxTotalChargeUsd, the most Apify will charge for this run.
remoteOnlyNoRemote jobs only. Keep only jobs marked remote by the ATS or with 'remote' in the location.
departmentsNoDepartments or teams (any). Keep jobs whose department or team contains one of these strings, for example 'Engineering'.
onlyNewJobsNoOnly new jobs (monitoring mode). Return only jobs not returned by a previous run with this option on. State is kept in a named key-value store, so scheduled runs give you a clean feed of new postings and you pay only for new ones.
maxTotalJobsNoMax jobs in total. Stop the whole run after this many jobs. 0 means no limit (the value used when the field is empty). The run also stops at your 'Maximum cost per run'. The form is prefilled with 5 for a cheap sample run (5 x $0.001 = $0.005); clear it or raise it for real runs.
maxConcurrencyNoCompanies in parallel. How many companies to scrape at the same time. Requests to each host are rate limited regardless.
stateStoreNameNoState store name. Named key-value store used by 'Only new jobs'. Use different names for independent monitors.ashby-jobs-scraper-state
excludeKeywordsNoExclude title keywords. Drop jobs whose title contains any of these words, for example 'intern' or 'senior'.
searchDirectoryNoSearch the built-in company directory. Also scrape every board in the built-in directory of 489 verified Ashby boards (startups and tech companies). Combine with keyword, location and date filters to search across companies without listing them yourself.
postedWithinDaysNoPosted within last N days. Keep only jobs first published in the last N days. Empty keeps all.
descriptionFormatNoDescription format. Plain text, HTML, or both. Values: text = Plain text; html = HTML; both = Both.text
maxJobsPerCompanyNoMax jobs per company. Stop after this many matching jobs per company. 0 means no limit.
includeDescriptionNoInclude description. Include the full job description.
includeUndatedJobsNoKeep jobs without a posting date. When 'Posted within last N days' is set, keep jobs whose ATS does not expose a date.
searchInDescriptionNoMatch keywords in description too. Also match 'Title keywords' against the job description. Requires 'Include description'.
maxDirectoryCompaniesNoMax directory companies. Use only the N largest boards from the directory. 0 means all.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only and open-world annotations, it discloses the per-job charge to the caller's own Apify account, the per-call cost cap and its default, server-applied defaults, and the token-saving description behavior. It also identifies the exact external Apify actor and includes a non-affiliation notice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, and the remaining sentences cover operating modes, output tradeoffs, pricing, defaults, and implementation. The content is generally useful, but the dense single paragraph and duplication of schema details reduce scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, paid scraping tool, the description covers the essential source-selection modes, filtering, cost controls, description behavior, and backend, while the schema documents advanced monitoring and concurrency options. Because there is no output schema, it would be more complete with a brief overview of the returned job records or result structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 19 parameters and the baseline is 3. The description usefully summarizes source selection, filters, includeDescription, maxCostUsd, and defaults, but most of this repeats structured parameter documentation rather than adding new constraints or syntax.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states that the tool retrieves open jobs from companies using Ashby and identifies the jobs.ashbyhq.com board scope. This clearly distinguishes it from greenhouse_jobs, lever_jobs, workday_jobs, and broader job-search siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete invocation paths: supply Ashby slugs, board URLs, or embedding careers pages, or set searchDirectory to true for directory-wide discovery. It also explains when to enable includeDescription, but does not explicitly route non-Ashby or general remote-job requests to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.