Ashby Jobs Scraper — AshbyHQ Job Boards with Salaries
Pricing
from $0.40 / 1,000 jobs
Ashby Jobs Scraper — AshbyHQ Job Boards with Salaries
Ashby jobs scraper: every open role on any company's public Ashby job board — title, department, team, all locations, remote flag, employment type, salary range, full description — plus a hiring tracker: exactly which roles are new or closed since your last run. Official public API, no login.
Pricing
from $0.40 / 1,000 jobs
Rating
0.0
(0)
Developer
Northbell
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Ashby Jobs Scraper
Know every week which roles your target companies opened and closed — without checking their careers pages. Put in the companies, schedule it, and get only the new roles (plus closed ones and a per-company count) from any company's public Ashby job board. Exact, not sampled: the official public API returns every open role at once. No login, no cookies, no proxies.
Try it now — the input is already filled in. Press Start: the two example boards (Ramp and Notion) return 295 open roles in about 11 seconds, for about $0.16.
title | board | department | location | workplaceType | salaryMin | salaryMax | salaryCurrency |
|---|---|---|---|---|---|---|---|
| Security Engineer, Cloud | ramp | Engineering | New York, NY (HQ) | hybrid | 211400 | 290600 | USD |
| Credit Risk Associate | ramp | Risk | New York, NY (HQ) | hybrid | 108000 | 200000 | USD |
| Product Designer | notion | Product Design | San Francisco, California | hybrid |
Ramp publishes a salary range on 160 of its 167 roles (per year; per month for interns) and Notion on none — the salary columns are what the company fills in on Ashby, never guessed. Each company also gets a summary row with openRoles; scheduled, each run says which roles are new and which have closed.
Why the "new / closed" is exact here
Most job scrapers search a job site and get back a sample: run the same search twice and a different slice comes back, so "new since yesterday" is partly noise. A Ashby board is different — the company's public API returns every open role at once. So this Actor keeps the list of role IDs from your last run and compares: a role that appears is new, a role that disappears has closed. No estimation.
Ramp and Notion (284 roles) came back in 0.3 seconds; 148 of them carried a salary range.
What you get
| Field | |
|---|---|
title, department, team | as the company wrote them |
location, locations | the main location and every secondary one |
remote, workplaceType, employmentType | when the board provides them — otherwise null, not a guess |
salaryMin, salaryMax, salaryCurrency, salaryInterval | Ashby exposes the salary band the company publishes (min, max, currency, interval) — about half the roles in our test. |
postedAt | the real publish date from the board |
isNewSinceLastRun | true / false, or null on the first run (unknown, not "old") |
description | full text, HTML stripped (turn off with Include the full description) |
jobUrl, applyUrl | links straight to the posting |
Closed roles come back as their own rows (type: "closed") with the title and when they were last seen. Each company also gets one free summary row (type: "company") with openRoles, newRoles, closedRoles and netChange — the hiring signal without counting rows yourself.
Input
Put the company's board name or careers-page URL in Companies — for example ramp or jobs.ashbyhq.com/ramp. Many companies in one run is fine and cheaper than one run each.
Optional filters (title, location, remote only, published salary only) narrow what you get back. They do not change the new/closed comparison, which always uses the full board — so changing a filter never makes roles look "closed".
A company that is not on Ashby, or has no public board, comes back as an error row and the run carries on.
Example output
One real row from a test run (long text shortened here with …):
{"type": "job","provider": "ashby","board": "ramp","jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","title": "Security Engineer, Cloud","companyName": null,"department": "Engineering","team": "Backend","location": "New York, NY (HQ)","locations": ["New York, NY (HQ)","Remote (Canada)","Remote (US)","Miami, FL"],"workplaceType": "hybrid","remote": true,"employmentType": "FullTime","postedAt": "2026-04-07T17:12:35.753Z","updatedAt": null,"salaryMin": 211400,"salaryMax": 290600,"salaryCurrency": "USD","salaryInterval": "year","salaryText": "$211.4K - $290.6K","jobUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","description": "ABOUT RAMP\n\nRamp is building the smart infrastructure for finance teams, embedded in the transaction flow of every dollar a business spends. We automate how ove…","company": null,"isNewSinceLastRun": false}
Get only the new roles every morning (3 steps)
- Open this Actor in Apify Console, fill in your input, set What to return to Only … new since the last run, and click Save as a new task.
- On the task, add a Schedule — daily at 07:00, or weekly on Monday.
- Open the task's Integrations tab and connect Slack, email, Google Sheets (or Zapier / Make / a webhook). Each run then delivers only what is new.
You pay only for the new rows plus $0.01 per run, so a quiet day costs about a cent.
Pricing
Pay per role returned — $0.50 per 1,000 roles, plus $0.01 per run. Closed-role rows and errors are free.
**Measured, not estimated:** about **$0.0039 per 1,000 roles** of Apify platform usage at 512 MB, ~9 roles/s (285 roles in 32 s, 2026-10-06). That is our own running cost — already included in the per-role price; nothing is billed on top.Don't know which companies to watch? The Greenhouse Jobs Scraper searches 4,800 companies by job title — no company names needed — and reports exactly which matching roles are new or closed each run.
For AI agents
Call with {"companies": ["ramp"]}. Each row has type: job, closed or error. isNewSinceLastRun: null means "no previous run to compare with", not "old".
Filters on every run (10/2026): posted within the last N days, experience level (read from the title: intern → executive, also returned as a seniority column) and employment type. They only narrow what is returned — no extra requests, no extra cost.
Same core columns on every northbell job scraper (10 company-career-page scrapers + 15 job sites), so you can stack them into one table: jobId, title, company, location, remote (true / false / null), employmentType, postedAt, jobUrl, salaryMin, salaryMax, salaryCurrency, salaryInterval, isNewSinceLastRun. Unknown is null, never a guess.
Sister Actors
Greenhouse Jobs Scraper · Lever Jobs Scraper · Ashby Jobs Scraper · Workday Jobs Scraper · Workable Jobs Scraper · SmartRecruiters Jobs Scraper · Recruitee Jobs Scraper · Personio Jobs Scraper · Breezy HR Jobs Scraper — same fields, same exact change tracking, one per job-board provider.
For LinkedIn: LinkedIn Company Jobs Scraper · Free LinkedIn Job Details from URL.