Ashby Jobs Scraper - Any Company's Job Board + Pay
Pricing
from $0.87 / 1,000 jobs
Ashby Jobs Scraper - Any Company's Job Board + Pay
All open jobs from any company's Ashby job board, with compensation where the company publishes it.
Pricing: $1.25 per 1,000 jobs. On a schedule (only new jobs): $0.005 per board checked + $1.25 per 1,000 new, changed or removed jobs.
What does Ashby Jobs Scraper do?
All open jobs from any company's Ashby job board, with compensation where the company publishes it. Every job comes in one clean table: company, title, department, team, locations, remote or on-site, employment type, salary (where the company publishes it), posting date, the job link, the apply link and the full description as plain text.
Run it once for a list, or schedule it to get only the new jobs each day. The tool remembers what it has seen, so a daily check costs a fraction of a cent when nothing is new.
What you get
| Input | An Ashby board name like ashby, or its link https://jobs.ashbyhq.com/ashby |
| Per job | Company, title, department, team, locations, remote, employment type, compensation, dates, job and apply links, description |
| Pay | The compensation summary (salaryText, e.g. "€110K – €185K • Offers Equity") plus the range when given |
| Schedule | Only new jobs, or new + changed + removed jobs |
| Price | $1.25 per 1,000 jobs; on a schedule $0.005 per board checked |
Use cases
- Track hiring at your target companies or competitors: new roles, closed roles, pay changes.
- Feed a job board, a newsletter or a Slack channel with fresh openings.
- Sales and recruiting signals: which companies are hiring for what, right now.
Input
| Field | What it does |
|---|---|
| Ashby job boards | One per line: ashby or https://jobs.ashbyhq.com/ashby |
| Company names | Or type names (OpenAI, Notion): looked up in our directory of 3,126 public Ashby boards |
| Keywords + where to search | Only jobs with these words in the title, or in the title and description |
| Posted after / before | A date window (jobs without a date are kept) |
| Location contains / exclude / remote only | Match the location text and the country the board gives (Germany also matches a board's DE); drop places; only remote jobs |
| Minimum salary / only with salary | Filter by the top of the published salary range |
| Max jobs per board | No fixed cap (default 10,000 per board) |
| Output mode | All jobs, only new jobs, or new + changed + removed jobs |
Output
One row per job, with the same keys for every job system:
{"id": "ashby:<company>:<job id>","changeType": "new","firstSeenAt": "2026-10-04T19:30:00Z","ats": "ashby","company": "…","title": "Senior Backend Engineer","department": "Engineering","locations": ["Berlin, Germany"],"remote": true,"employmentType": "FullTime","salaryMin": 70000,"salaryMax": 90000,"salaryCurrency": "EUR","postedAt": "2026-10-01T09:00:00Z","url": "…","applyUrl": "…","descriptionText": "…"}
Every row has every key (null when the job system doesn't give a value). changeType is new, changed,
unchanged or removed; a changed row lists changedFields and the previous values. Emails and phone numbers
inside descriptions are replaced by [redacted] unless you switch that off. Rows have no recruiter name or contact
fields.
If a board doesn't exist or doesn't answer, you get one row with changeType: "status" and a statusCode
(not_found, rate_limited, source_error) instead of an error, and you're not charged for it.
Schedule it: only new jobs, every day
- Add your boards and save it as a task.
- Run it once with Baseline only switched on. It remembers today's jobs and lists nothing. Or skip this and accept that the first run lists every current job once.
- Set Output mode to Only new results (or New, changed and removed) and add a schedule.
- Connect an integration (Slack, Google Sheets, Zapier, Make, n8n), or put a webhook URL in the input.
Each saved task keeps its own memory, and switching a task between modes keeps it.
Apify webhook template (Integrations → Webhook → payload):
{"datasetUrl": "https://api.apify.com/v2/datasets/{{resource.defaultDatasetId}}/items?clean=true&format=json"}
Each run also saves a summary (OUTPUT in the run's key-value store): counts of new, changed, unchanged and removed
jobs per board.
How much does it cost?
- $1.25 per 1,000 jobs listed (on paid Apify plans 10-30% less).
- On a schedule (only new, changed or removed jobs): $0.005 per board checked plus $1.25 per 1,000 new, changed or removed jobs. Checking 10 boards daily with a few new jobs costs about $2.25 a month.
- Status rows (errors) are free. Set a spending limit on the run and the tool stops there.
Good to know
salaryPeriodisyear,month,week,dayorhour, whatever word the board uses (its own wording stays insalaryText); a rare period (every 2 weeks, one-time) comes as the board wrote it.- "Removed" jobs are reported only when a board was fetched completely and without filters, so a hiccup never reports every job as closed.
- Freshness: every run reads each job board live (no cache);
fetchedAton each row says when. - Compensation comes as a summary (
salaryText, e.g. "€110K – €185K • Offers Equity") plus the salary range when given.
How it compares
| Instead of | With this tool |
|---|---|
| Checking career pages by hand | Every open job of every board in one table, with the same columns for every company |
| A general web scraper | Reads the job board's own job data, so titles, locations, salaries and dates come as fields, not page text |
| Re-running a full export daily | 'Only new' mode lists just the jobs added since the last run; nothing new costs a fraction of a cent |
FAQ
What do I put in? The company's Ashby board name, like ashby, or the link https://jobs.ashbyhq.com/ashby.
How do I get only new jobs every day? Save the input as a task, set Output mode to 'Only new results' and add a schedule. The first run can be a 'Baseline only' run, so it remembers today's jobs and lists nothing.
Can I check several companies at once? Yes, one per line. Every job row says which company it belongs to.
Does it output recruiter names or e-mails? The tool has no recruiter name or contact fields. E-mail addresses and phone numbers inside descriptions are replaced by [redacted] unless you switch that off.
Source: each company's public job board on Ashby. This tool is not affiliated with or endorsed by Ashby.
More Afterstar tools
- ATS Jobs Scraper - Career Site Jobs: Greenhouse, Lever, Workday: Paste company career-page links (Greenhouse, Lever, Ashby, Workday and 3 more) and get every open job in one table.
- Workday Jobs Scraper - All Jobs from Any Workday Career Site: All open jobs from any company's Workday career site, with descriptions and posting dates.
- Greenhouse Jobs Scraper - Any Company's Job Board: All open jobs from any company's Greenhouse job board, with departments, offices and pay ranges where published.
- Arbeitsagentur Jobs Scraper - Germany Jobs from the Jobbörse: Jobs from Germany's federal job board (Bundesagentur für Arbeit) for any search and place, with full descriptions and, where given, salary ranges. Schedule it in new-only mode to get just the new jobs.
Found a problem or need a field? Open an issue on the Issues tab.