Job Board Scraper — Greenhouse, Lever & Ashby avatar

Job Board Scraper — Greenhouse, Lever & Ashby

Pricing

Pay per usage

Go to Apify Store
Job Board Scraper — Greenhouse, Lever & Ashby

Job Board Scraper — Greenhouse, Lever & Ashby

Scrape open roles from any company using Greenhouse, Lever or Ashby. One unified schema across all three. No API key needed.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

BERCIK Group

BERCIK Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape every open role from any company using Greenhouse, Lever or Ashby — title, department, location, remote status, employment type, posting date and full description. One Actor, three ATS platforms, one unified output schema. No API key, no login.

What does Job Board Scraper do?

Most tech and growth companies publish their openings through one of three applicant tracking systems: Greenhouse, Lever or Ashby. Each exposes a public, keyless job-board endpoint — but all three return completely different JSON shapes.

This Actor reads all three and normalises them into a single consistent schema, so you can pull 50 companies across 3 platforms and get one clean table. Give it a company slug like stripe and it works out which platform that company uses automatically.

No browser, no proxies, no CAPTCHAs — just fast HTTP against official endpoints.

Why use Job Board Scraper?

  • Recruiting and talent mapping — track exactly what a competitor is hiring for, where, and how fast their headcount is growing.
  • Sales and go-to-market intelligence — hiring signals reveal budget and priorities. A company hiring six data engineers is buying data infrastructure.
  • Job aggregators and niche job boards — populate your own board from hundreds of company career pages.
  • Investor and market research — headcount growth by department is a leading indicator of where a company is investing.
  • Job seekers — monitor a shortlist of companies and catch new postings the day they appear.
  • Compensation and market research — many postings include salary bands in the description.

How to use Job Board Scraper

  1. Click Try for free.
  2. Add companies — bare slugs like stripe, spotify, ramp, or full careers URLs like https://jobs.lever.co/spotify.
  3. Optionally filter by keyword, department, location or remote status.
  4. Turn off Include full job description for a much smaller dataset if you only need titles and links.
  5. Set Maximum results to cap your spend, then click Start.
  6. Download as JSON, CSV, Excel, HTML or XML.

Finding a company's slug

It's the last part of their careers URL:

Careers URLSlug
boards.greenhouse.io/stripestripe
jobs.lever.co/spotifyspotify
jobs.ashbyhq.com/rampramp

You can paste the whole URL instead — the Actor extracts the slug and skips platform detection, which is slightly faster.

Input

{
"companies": ["stripe", "spotify", "https://jobs.ashbyhq.com/ramp"],
"keywords": ["engineer"],
"locations": ["London", "Remote"],
"remoteOnly": false,
"includeDescription": true,
"maxResults": 2000
}
FieldTypeDescription
companiesarrayCompany slugs or careers URLs
platformsarrayWhich ATS to try for bare slugs — greenhouse, lever, ashby
keywordsarrayMatch against title, department or team
departmentsarrayPartial, case-insensitive department/team match
locationsarrayPartial, case-insensitive location match
remoteOnlybooleanKeep only remote roles
includeDescriptionbooleanInclude full description text
maxResultsintegerHard cap on records returned

Output

{
"jobId": "8023928",
"title": "Account Executive, Bridge",
"company": "Stripe",
"companySlug": "stripe",
"platform": "greenhouse",
"department": "Sales",
"team": null,
"employmentType": null,
"location": "London",
"allLocations": ["London"],
"isRemote": false,
"workplaceType": null,
"jobUrl": "https://stripe.com/jobs/search?gh_jid=8023928",
"applyUrl": "https://stripe.com/jobs/search?gh_jid=8023928",
"postedAt": "2026-07-30T10:00:00.000Z",
"description": "Stripe is looking for an Account Executive..."
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data fields

FieldDescription
jobId, titleRole identity
company, companySlug, platformWhich company and which ATS it came from
department, teamOrg placement, where the board exposes it
employmentTypeFull-time, permanent, contract — where exposed
location, allLocations, isRemote, workplaceTypeWhere the role is based
jobUrl, applyUrlPublic posting and application links
postedAt, updatedAtTimestamps, normalised to ISO 8601
descriptionFull description text, HTML stripped

How much does it cost to scrape job boards?

Priced per job record returned, capped by Maximum results. HTTP-only with no proxies, so platform cost is minimal.

Board sizes vary enormously — a startup may post 5 roles, a large company 500+. Stripe's board alone returned 552 open roles in testing. Set maxResults accordingly.

Tips

  • Turn off descriptions for large sweeps. Descriptions dominate the dataset size. Off, you get titles, departments, locations and links at a fraction of the volume.
  • Narrow platforms if you know the ATS. With a bare slug the Actor tries each enabled platform until one answers; naming the right one skips wasted requests.
  • employmentType is null on Greenhouse — their board API doesn't expose it. The field is null rather than guessed.
  • isRemote prefers the board's own flag. Ashby states it explicitly; for Greenhouse and Lever it's inferred from location text, so treat those as a strong hint rather than gospel.
  • Schedule daily and diff on jobId to detect new postings and roles that closed — that delta is the actual signal for hiring intelligence.
  • An empty board isn't an error. A company with a valid board and zero openings returns 0 records; a company with no board at all logs a warning naming the slug.

FAQ

Is scraping job boards legal? These are public, keyless endpoints that the ATS platforms serve to render each company's own public careers page — the same data any visitor sees. This Actor requests them at a polite rate and collects no personal or candidate data. This is general information rather than legal advice; check your own obligations before redistributing.

A company returned nothing — why? Either the slug is wrong, or they use a different ATS (Workday, SmartRecruiters, Personio and others aren't covered here). The run log names the slug and the platforms tried.

Can you add Workday / SmartRecruiters / Personio? Open an issue and tell me which you need. Workday in particular is a common request.

Do I get salary data? Only where the company puts it in the posting text, which many now do for legal reasons. There's no separate structured salary field — search description for it.

Does it collect candidate or applicant data? No. It reads public job postings only. No candidate, applicant or personal data is touched.

Support

Found a bug or need another ATS covered? Open an issue on the Issues tab. Custom data pipelines and bespoke scraping work are available on request.