Ashby Jobs [$0.9πŸ’°] API Scraper | Any Company  (/w EMAILS) avatar

Ashby Jobs [$0.9πŸ’°] API Scraper | Any Company (/w EMAILS)

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Ashby Jobs [$0.9πŸ’°] API Scraper | Any Company  (/w EMAILS)

Ashby Jobs [$0.9πŸ’°] API Scraper | Any Company (/w EMAILS)

[Only $0.9πŸ’°] Scrape every open job from any company on Ashby (jobs.ashbyhq.com). Paste a board URL or org slug and get the full board in one API call β€” company, title, full description, compensation, location, department, and apply URL. Filter by title, location or remote. No proxy. JSON or CSV.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

Ashby Jobs Scraper 🧭

Scrape every open job from any company hosted on Ashby (jobs.ashbyhq.com) β€” title, full description, compensation, location, department, and apply URL β€” straight from Ashby's public posting API. One request per company returns the whole board, fully detailed. No login, no anti-bot, no browser.

How Ashby Jobs Scraper works


Why use this scraper

  • Complete boards in one call. Ashby returns every open role for a company in a single API response β€” no pagination, no per-job detail fetches. Scraping OpenAI's 700+ roles is one request.
  • Full job detail, not just titles. Each row carries the entire job: descriptionHtml + plain text, compensation range, all locations, employment type, workplace type, and the apply URL.
  • Fast and cheap. No proxies required (the API has no anti-bot), so runs are quick and your cost stays low.
  • Normalized schema. Output uses a consistent ATS schema that matches our other ATS scrapers (Lever, Greenhouse, SmartRecruiters) β€” write one parser, reuse it everywhere.
  • Flexible input. Paste board URLs, individual job URLs, or just bare company slugs.

Overview

Ashby is a modern all-in-one recruiting platform used by hundreds of high-growth tech companies (Ramp, Notion, Linear, Vanta, Replit, Cursor, OpenAI, and many more). Each customer gets a public job board at https://jobs.ashbyhq.com/{company}.

This actor reads each company's board through Ashby's official, auth-free posting API and emits one clean row per open job. Because the API already includes the full job description and compensation inline, there's no second request per job β€” making this one of the fastest and cheapest job scrapers you can run.


Supported inputs

Input typeExampleNotes
Board URLhttps://jobs.ashbyhq.com/rampThe company's public Ashby board
Job URLhttps://jobs.ashbyhq.com/ramp/{jobId}The org slug is extracted; the whole board is scraped
Bare org slugramp, notion, linearThe part after jobs.ashbyhq.com/

Mix any of these in one run. Provide them in Start URLs (URLs) and/or Organization slugs (bare slugs).

How do I find a company's Ashby slug? Visit the company's careers page. If it redirects to (or embeds) jobs.ashbyhq.com/{something}, that {something} is the slug.


Use cases

  • Job boards & aggregators β€” ingest fresh, structured tech roles from hundreds of fast-growing companies.
  • Recruiting & sourcing tools β€” track which companies are hiring for which roles, with compensation where disclosed.
  • Market & talent intelligence β€” monitor hiring velocity, remote-vs-onsite mix, and salary bands across a basket of companies.
  • Lead generation β€” companies actively hiring engineers/sales are buying signals for many B2B products.
  • Personal job search β€” pull every role across your target companies into one searchable sheet.

How it works

  1. Resolve each input (board URL, job URL, or slug) to a company org slug.
  2. Fetch https://api.ashbyhq.com/posting-api/job-board/{org}?includeCompensation=true β€” one HTTP call per company.
  3. Each job arrives fully detailed in that response (description, compensation, locations, apply URL).
  4. Normalize every job to a common ATS schema.
  5. Push one row per job to the dataset.

Companies are fetched in parallel with a sliding-window concurrency cap. No proxy is needed, though you can supply one for IP rotation when scraping very large numbers of companies.


Input configuration

FieldTypeDefaultDescription
startUrlsarray–Ashby board URLs, job URLs, or slugs (strings or {url} objects).
organizationsarray–Bare Ashby org slugs, e.g. ["ramp","notion"]. Merged with startUrls.
maxItemsinteger5000Max job rows emitted across the whole run.
maxConcurrencyinteger10How many company boards to fetch in parallel.
titleKeywordstring–Keep only jobs whose title contains this (case-insensitive).
locationstring–Keep only jobs whose location contains this.
departmentstring–Keep only jobs whose department contains this.
employmentTypestring–Keep only this type: FullTime / PartTime / Intern / Contract / Temporary.
remoteOnlybooleanfalseKeep only remote jobs.
postedAfterstring–Keep only jobs published on/after this date (YYYY-MM-DD).
includeDescriptionbooleantrueInclude descriptionHtml + descriptionText. Turn off for leaner/cheaper rows.
includeRawJsonbooleanfalseAttach the original Ashby payload to each row under raw.
proxyobject–Optional. Not required (no anti-bot); use only for IP rotation at scale.

Filters run before a row is emitted, so with pay-per-result pricing you only pay for jobs that match.

Example input

{
"startUrls": [
"https://jobs.ashbyhq.com/ramp"
],
"organizations": ["notion", "linear", "vanta"],
"maxItems": 1000,
"maxConcurrency": 10
}

Output

One row per open job. Example (trimmed):

{
"ats": "ashby",
"org": "ramp",
"company": "Ramp",
"jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"globalId": "ashby:ramp:34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"title": "Security Engineer, Cloud",
"department": "Engineering",
"team": "Backend",
"employmentType": "FullTime",
"workplaceType": "Hybrid",
"isRemote": true,
"location": "New York, NY (HQ)",
"locations": ["New York, NY (HQ)", "Miami, FL", "Remote (US)", "Remote (Canada)"],
"address": { "postalAddress": { "addressRegion": "NY", "addressCountry": "USA", "addressLocality": "New York City" } },
"compensation": { "compensationTierSummary": "$211.4K – $290.6K β€’ Offers Equity" },
"salaryText": "$211.4K – $290.6K β€’ Offers Equity",
"descriptionHtml": "<h1>About Ramp</h1><p>…</p>",
"descriptionText": "About Ramp\nRamp is building the smart infrastructure for finance teams…",
"publishedAt": "2026-04-07T17:12:35.753+00:00",
"jobUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application",
"scrapedAt": "2026-06-12T15:53:01.683Z"
}

Key output fields

FieldDescription
atsAlways "ashby" β€” the source platform (useful when combining with other ATS scrapers).
orgCompany board slug.
companyCompany display name (resolved from the board).
globalIdStable, unique key ats:org:jobId β€” use it to dedupe across runs.
titleJob title.
department / teamOrg grouping as set by the company.
employmentTypeFullTime / PartTime / Intern / Contract / Temporary.
workplaceType / isRemoteRemote / Hybrid / OnSite, plus a boolean remote flag.
location / locationsPrimary location label + every listed location.
compensation / salaryTextRaw Ashby compensation object + a flattened human string (when the company discloses pay).
descriptionHtml / descriptionTextFull job description as HTML and as plain text.
publishedAtWhen the role was published (ISO).
jobUrl / applyUrlPublic posting URL + application form URL.

FAQ

Do I need a proxy? No. Ashby's posting API is public and has no anti-bot. A proxy field is available only for optional IP rotation when scraping very large numbers of companies.

Where does company come from? Ashby's posting API doesn't return a display name, so we resolve it once per board from the public board page (e.g. "Ramp"), falling back to a title-cased slug if needed. It's never null.

Can it discover all companies on Ashby? No β€” Ashby has no public directory of all boards (the same is true for every Greenhouse/Lever/SmartRecruiters scraper). You supply the companies you care about by slug or board URL.

How many jobs per company? Whatever the company has open β€” from a handful to 700+. Use maxItems to cap total output and control cost.

What if a slug isn't on Ashby? That company is skipped with a warning (the API returns 404). The rest of the run continues normally.

How fresh is the data? Live β€” every run hits Ashby in real time.


Support

Found a bug or need a field added? Open an issue on the actor's Issues tab in the Apify Console and we'll take a look.


Additional services

Need a different ATS or job board? We also build scrapers for Greenhouse, Lever, SmartRecruiters, Workday, Indeed, LinkedIn, Glassdoor, and many more. Check our Apify Store profile.


Explore more scrapers

  • Greenhouse Jobs Scraper β€” open roles from any Greenhouse-hosted company.
  • Workday Jobs Scraper β€” jobs from any Workday career site.
  • Indeed / LinkedIn / Glassdoor β€” the major job boards, fast and structured.

⚠️ Disclaimer

This actor collects only publicly available job-posting data exposed by Ashby's own public job-board API. It does not access any private, authenticated, or personal data, and it does not bypass any access control. You are responsible for using the scraped data in compliance with Ashby's terms, the source companies' terms, and all applicable laws (including data-protection regulations such as GDPR/CCPA). Use the data ethically and lawfully.


SEO Keywords

Ashby scraper, AshbyHQ scraper, Ashby jobs scraper, jobs.ashbyhq.com scraper, Ashby job board API, Ashby ATS scraper, scrape Ashby jobs, Ashby careers scraper, ATS job scraper, applicant tracking system scraper, tech jobs scraper, startup jobs scraper, job postings API, company careers scraper, recruiting data, hiring data, compensation data scraper, remote jobs scraper.