Ashby Jobs Scraper - Job Boards with Salaries avatar

Ashby Jobs Scraper - Job Boards with Salaries

Pricing

from $1.50 / 1,000 job records

Go to Apify Store
Ashby Jobs Scraper - Job Boards with Salaries

Ashby Jobs Scraper - Job Boards with Salaries

Scrape all open jobs from Ashby job boards (jobs.ashbyhq.com) by company name, domain or board URL. Salary ranges, remote/hybrid type, title/location/date filters, new & closed job tracking and a hiring summary per company. $1.50 per 1,000 jobs.

Pricing

from $1.50 / 1,000 job records

Rating

0.0

(0)

Developer

HireWatch

HireWatch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Ashby Jobs Scraper: job boards with salary ranges

Scrape all open jobs from any company's Ashby job board (jobs.ashbyhq.com). Type a company name (e.g. Ramp), a website domain (e.g. openai.com) or the board URL. You get clean, flat JSON, CSV or Excel with salary ranges (Ashby boards often publish them), remote / hybrid / on-site type, department and team, full descriptions, and filters for title, location, remote and posted date. Every run labels jobs new / unchanged / closed, so a daily schedule becomes a hiring-change feed.

Independent tool: not affiliated with, endorsed by or sponsored by Ashby, Inc. "Ashby" is used only to describe which job boards this works with.

What you can use it for

  • Startup hiring signals. Ashby is popular with fast-growing startups and AI companies. See who's hiring, in which teams, and how fast.
  • Salary research. Compensation comes back as salaryMin, salaryMax, salaryCurrency and salaryInterval, plus the original summary text (e.g. "$190K – $330K • Offers Equity").
  • Job boards and newsletters. Get complete listings straight from the source, with descriptions included.
  • Candidates. Get new roles at your target companies as soon as they're posted.

Why this Ashby scraper

  • Company-name lookup. Ramp, Notion and openai.com all work. The Actor tries the usual board spellings, then the company's /careers page.
  • Accepts any Ashby link: jobs.ashbyhq.com/<company>, a link to a single job, embedded boards, or a careers page that embeds Ashby.
  • Salary ranges wherever the company publishes compensation. In our test, 651 of 812 OpenAI jobs and 158 of 165 Ramp jobs had them.
  • Remote / hybrid / on-site from Ashby's own remote flag and workplace type, plus department, team, employment type and secondary locations.
  • Filters: title keywords, location keywords, remote only, posted within N days, max jobs per company, and an overall maxItems cap.
  • New / closed tracking between runs, plus an optional hiring-signal summary per company: open jobs, new and closed jobs, trend, jobs posted in the last 7 and 30 days, top departments and locations.
  • Fast and polite. A whole board comes back in one request, and descriptions add no extra requests. It uses Ashby's public job-board API, needs no login, and respects robots.txt. Contact details are never collected, and e-mails and phone numbers in descriptions are masked.

Input examples

By company name, domain or URL:

{
"targets": ["Ramp", "openai.com", "https://jobs.ashbyhq.com/notion"],
"maxJobsPerCompany": 0
}

Remote jobs posted in the last 30 days, with descriptions:

{
"targets": ["Ramp", "OpenAI", "Notion"],
"remoteOnly": true,
"postedWithinDays": 30,
"includeDescriptions": true
}

Daily change feed for engineering roles (schedule it daily):

{
"targets": ["OpenAI", "Ramp", "Cursor", "Linear"],
"maxJobsPerCompany": 0,
"outputMode": "changesOnly",
"titleKeywords": ["engineer"]
}

Output

One row per job (real example from a test run, trimmed):

{
"recordType": "job",
"platform": "ashby",
"companySlug": "ramp",
"companyName": "Ramp",
"jobId": "d84bbf19-572a-499c-9c87-0c154ce85caf",
"globalId": "ashby:ramp:d84bbf19-572a-499c-9c87-0c154ce85caf",
"title": "Account Manager | Mid-Market",
"department": "Sales",
"team": "Account Manager",
"employmentType": "full_time",
"remoteType": "remote",
"location": "New York, NY (HQ)",
"country": "USA",
"postedAt": "2026-09-23T16:15:40Z",
"salaryText": "$190K – $330K • Offers Equity • Multiple Ranges",
"salaryMin": 190000,
"salaryMax": 330000,
"salaryCurrency": "USD",
"salaryInterval": "year",
"url": "https://jobs.ashbyhq.com/ramp/d84bbf19-572a-499c-9c87-0c154ce85caf",
"changeStatus": "new",
"firstSeenAt": "2026-10-11T23:29:18Z"
}

Every row has the same fields (missing values are null), including applyUrl, locations, descriptionText and descriptionHtml. globalId stays the same across runs, so use it as your key. changeStatus is new, unchanged or closed (with closedAt). Optional company_summary rows hold the hiring signals, which are also saved as COMPANY_SUMMARIES. A per-company RUN_REPORT shows status and errors, such as a name with no matching board.

Pricing (pay per event)

  • $1.50 per 1,000 job records ($0.0015 per job, including jobs labelled closed)
  • $0.01 per company summary (optional; turn off includeCompanySummary to skip it)

Examples: all ~810 OpenAI jobs ≈ $1.23. 50 startups with ~60 jobs each ≈ $5. You pay only for results. Set Maximum cost per run (or maxItems) to cap spending.

Tips & limits

  • Name lookups check a few spellings (e.g. Scale AI → scaleai, scale-ai). If the board found isn't the one you meant, pass the URL instead.
  • Unlisted jobs (hidden from the public board) are skipped.
  • Closed jobs are only reported when the whole board was fetched in both runs, so use maxJobsPerCompany: 0 for tracking.

Use with AI agents / MCP

This Actor is built to be called by AI agents (Grok Bot, Claude, ChatGPT, Cursor, LangChain and others) through the Apify MCP server or the Apify API.

  • Add only this tool: https://mcp.apify.com?tools=hirewatch/ashby-jobs-scraper. You can also let your agent find it through search-actors.
  • Keep calls small so they finish fast. The MCP call-actor tool waits up to 45 seconds, so set maxItems (e.g. 50) and maxJobsPerCompany (e.g. 100), and leave includeDescriptions off unless you need the text. Cap spend with maxTotalChargeUsd in callOptions.
  • Read results with get-dataset-items using the run's datasetId. Each row has recordType: job rows share one flat schema, and company_summary rows hold the hiring signals. Per-company errors are in the RUN_REPORT key-value record, so one bad input never fails the whole run.
  • Pay without an Apify account. The Actor uses pay-per-event pricing with limited permissions, so agents can pay per run with agentic payments (x402 / MPP prepaid tokens or Skyfire).

Minimal agent call:

{
"targets": [
"OpenAI"
],
"titleKeywords": [
"engineer"
],
"remoteOnly": true,
"maxItems": 50,
"includeCompanySummary": false
}

Other HireWatch jobs Actors

ActorBest for
Workday Jobs ScraperWorkday career sites (*.myworkdayjobs.com), including sites with more than 2,000 jobs
Greenhouse Jobs ScraperGreenhouse boards by company name or domain, with published salary ranges
Lever Jobs ScraperLever boards (jobs.lever.co) by company name or domain, with salaries and remote/hybrid type
Ashby Jobs ScraperAshby boards (jobs.ashbyhq.com), popular with startups and AI companies, with salary ranges
Workday, Greenhouse, Lever, Ashby & Oracle Jobs ScraperMixed lists across all five platforms in one run and one schema
Website Tech Stack Detector + DMARC/SPF CheckerFind out what the hiring companies' websites are built with

All of them use the same output schema and the same new/closed tracking, so you can combine their datasets.

It reads only publicly available job postings from Ashby's public job-board API, which employers use to publish their jobs. It does not log in or bypass any access control, and it follows robots.txt. Job postings are not personal data, but you are responsible for how you use the results and for following the laws and site terms that apply to you.

Support

A company that doesn't resolve, or a board that fails? Open an issue on the Issues tab.