Company Jobs Scraper — Greenhouse, Lever & Ashby avatar

Company Jobs Scraper — Greenhouse, Lever & Ashby

Pricing

from $4.00 / 1,000 job postings

Go to Apify Store
Company Jobs Scraper — Greenhouse, Lever & Ashby

Company Jobs Scraper — Greenhouse, Lever & Ashby

Scrape every open job from a company's own careers page across Greenhouse, Lever, Ashby and SmartRecruiters: title, department, team, location, remote flag, employment type, posting date, requisition ID and apply link. Filter by title, location or remote. No API key.

Pricing

from $4.00 / 1,000 job postings

Rating

0.0

(0)

Developer

Hichem Ben Moussa

Hichem Ben Moussa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Company Jobs Scraper — Greenhouse, Lever, Ashby & SmartRecruiters

Scrape every open role straight from a company's own careers page, across the four applicant tracking systems that most companies actually use. One input, one unified output schema, no matter which ATS a company runs.

This is the data behind two of the highest-value plays in B2B: hiring signals (a company posting 12 sales roles is expanding; one posting a "Head of Data" is about to buy tooling) and recruiting intelligence (every competitor's open headcount, updated daily).

No API key required.

Supported platforms

PlatformHandle to useWhere the handle comes from
Greenhousegreenhouse:stripeboards.greenhouse.io/stripe
Leverlever:leverdemojobs.lever.co/leverdemo
Ashbyashby:rampjobs.ashbyhq.com/ramp
SmartRecruiterssmartrecruiters:BoschGroupjobs.smartrecruiters.com/BoschGroup

You can paste a full job-board URL instead of platform:handle and the actor will work out both.

What you get

FieldDescription
titleJob title
companyCompany name as the board reports it
platformWhich ATS the posting came from
departmentDepartment, e.g. Engineering, Sales
teamSub-team, where the board publishes one
industryIndustry classification (SmartRecruiters)
locationPrimary location
additionalLocationsExtra offices or remote regions the role is open to
isRemoteRemote flag from the board, or inferred from the location text
employmentTypeFull-time, contract, intern…
experienceLevelSeniority, where published
postedAtWhen the role first went live
updatedAtLast edited
requisitionIdInternal req number — useful for deduping against your own ATS
descriptionFull job text as plain text (opt in)
applyUrl, jobUrlDirect links

Example input

{
"companies": ["greenhouse:stripe", "ashby:ramp", "lever:leverdemo"],
"titleFilter": "engineer",
"remoteOnly": true,
"maxJobsPerCompany": 50,
"maxJobs": 200
}

Track a list of target accounts by putting all of them in companies and scheduling a daily run.

Example output

{
"title": "Abuse Investigator",
"company": "Stripe",
"platform": "greenhouse",
"department": "Risk Operations",
"location": "Dublin",
"isRemote": false,
"postedAt": "2026-09-03T17:32:53.000Z",
"requisitionId": "See Opening ID",
"jobUrl": "https://stripe.com/jobs/search?gh_jid=8172508"
}

Who uses this

  • Sales and GTM teams — hiring signals are the cleanest public proxy for budget and expansion. A company opening its first "RevOps" role is in market for tooling now.
  • Recruiters and talent teams — every competitor's open roles, salaries where published, and how long a req has been sitting
  • Job boards and aggregators — fill a niche board from the source rather than re-scraping other boards
  • Investors and analysts — headcount growth by department is a leading indicator that shows up months before a funding announcement
  • Compensation researchers — track which roles a market is hiring for and where

Notes on field coverage

Different ATS platforms publish different amounts, and the actor is explicit about it rather than inventing values:

  • Greenhouse leaves departments empty on its jobs endpoint unless you request full content, which makes the response about twelve times larger. The actor instead reads Greenhouse's separate departments endpoint and joins it, so you get departments without paying for every job description.
  • SmartRecruiters usually leaves department blank and puts the meaningful classification in its job function field. The actor maps function into department so the column is populated consistently, and adds industry on top.
  • employmentType and experienceLevel are not published by Greenhouse at all — expect them to be null for Greenhouse rows and filled for Ashby, Lever and SmartRecruiters.
  • Workable is not supported. Its public widget endpoint currently returns an empty job list for every account tested, so rather than ship a mapping that silently yields nothing, it is left out.

Pricing

Pay per result. Each job posting returned counts as one result. Filters are applied before charging, so a run that keeps 20 of 700 postings costs 20.

Notes

  • All four platforms serve these postings publicly, un-authenticated, as the feed that powers each company's own careers page.
  • Big boards are big: Stripe alone had 702 open roles at the time of writing. Use maxJobsPerCompany so one large employer cannot consume an entire run.
  • includeDescription is off by default on purpose — turning it on multiplies output size and run time substantially.
  • This is an unofficial actor and is not affiliated with Greenhouse, Lever, Ashby or SmartRecruiters.