Company Careers Jobs — Straight from Greenhouse, Lever & Ashby avatar

Company Careers Jobs — Straight from Greenhouse, Lever & Ashby

Pricing

from $2.00 / 1,000 job postings

Go to Apify Store
Company Careers Jobs — Straight from Greenhouse, Lever & Ashby

Company Careers Jobs — Straight from Greenhouse, Lever & Ashby

Pull every open role straight from a company's own job board API. Give it company names - it detects Greenhouse, Lever or Ashby and returns all postings in one schema. Official public endpoints: nothing blocked or rate-limited, and jobs land here before aggregators index them.

Pricing

from $2.00 / 1,000 job postings

Rating

0.0

(0)

Developer

Atomo Studio

Atomo Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Company Careers Jobs — 11 ATS Platforms, One Schema

Most job scrapers fight Indeed and LinkedIn for data those sites actively defend. This one doesn't fight anything.

Eleven ATS platforms — Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Teamtailor, Recruitee, Personio, Breezy and Rippling — publish every company's open roles through public endpoints that exist to be read. That is how a company's own careers page renders its listings. No authentication, no rate limits, nothing to block.

Most job-board Actors cover three of them. Covering all eleven matters because those three are dominated by US startups, while the rest are where European scale-ups (Workable, Teamtailor, Recruitee, Personio) and large enterprises (Workday, SmartRecruiters) live. Bosch alone lists over 4,800 roles on SmartRecruiters, and Salesforce over 1,400 on Workday.

Measured against 66 well-known employers: three platforms found 76%, eleven found 89%.

And it is upstream: a role appears on the company's own board the moment it opens, often days before an aggregator indexes it.

You give it company names. It works out which ATS each one uses.

stripe → Greenhouse 615 jobs
openai → Ashby 778 jobs
palantir → Lever 311 jobs
BoschGroup → SmartRecruiters 4,812 jobs
adobe → Workday 723 jobs
nike → Workday 742 jobs
zego → Workable 36 jobs
doktor → Teamtailor 46 jobs
channable → Recruitee 13 jobs
rippling → Rippling 683 jobs

Workday needs three pieces to address a board (tenant, server number, site name), so a company it cannot resolve by name can be given as a board URL instead — https://cloudera.wd5.myworkdayjobs.com/External_Career — and it is read directly.

stripe, Stripe, stripe.com and https://stripe.com/jobs all resolve to the same board. In testing, 33 of 38 well-known tech companies (86%) were detected automatically.

What you get

One record per open role, in a single schema across all three systems:

{
"company": "stripe",
"ats": "greenhouse",
"job_id": "8172487",
"title": "Abuse Investigator",
"department": "Security Analytics",
"location": "Dublin",
"locations": ["Ireland Locations"],
"is_remote": false,
"workplace_type": "onsite",
"posted_at": "2026-09-03T13:30:34-04:00",
"updated_at": "2026-09-03T13:30:34-04:00",
"url": "https://stripe.com/jobs/search?gh_jid=8172487",
"apply_url": "https://stripe.com/jobs/search?gh_jid=8172487",
"description": "Who we are\n\nAbout Stripe\n\nStripe is a financial infrastructure...",
"description_chars": 4596,
"source": "Company career site (public job board API)"
}
GroupFields
Roletitle, department, team, employment_type, experience_level, industry, compensation
Wherelocation, locations, country, is_remote, workplace_type
Whenposted_at, updated_at
Linksurl, apply_url
Textdescription (HTML converted to plain text), description_chars
Identitycompany, company_slug, ats, job_id

Three details the raw APIs get wrong, and this Actor fixes:

  • Remote status. Greenhouse does not publish a remote flag at all; Workable gives a clean telecommuting boolean; Lever and Ashby disagree on how to express one. Here every role gets is_remote and a workplace_type of remote / hybrid / onsite, inferred from the location text where the upstream field is missing.
  • Dates. Lever returns millisecond epochs, the others ISO strings. All become ISO 8601.
  • Descriptions. Greenhouse double-escapes its HTML (<div>). Unescaped, stripped and normalised to readable text.

Input

FieldTypeNotes
companiesarrayNames, slugs or career URLs. Empty = a sample of well-known tech companies
includeDescriptionbooleanFull posting text. Default on
titleKeywordsarrayKeep roles matching a title term
locationKeywordsarrayKeep roles matching a location
departmentsarrayKeep roles in matching departments or teams
remoteOnlybooleanFully remote roles only
postedWithinDaysintegerOnly roles first published in the last N days
maxItemsintegerCap the run. 0 = no limit

Results are interleaved across companies, so a capped run still covers every company you asked for rather than exhausting the first one.

Companies whose board cannot be found are reported by name in the log rather than dropped silently — they either use a different ATS (Workday, SmartRecruiters, Taleo) or their board token differs from their company name.

Who this is for

  • Job boards and aggregators wanting a clean, fast, unblockable upstream feed
  • Recruiters and sourcers tracking who is hiring for what, before it hits LinkedIn
  • Market and competitive analysts — headcount direction, which teams a rival is building, which cities they are opening
  • Job seekers monitoring a shortlist of companies
  • AI agents needing structured, current hiring data

Notes

Official endpoints, not scraping. Every request goes to a documented public job board API that the ATS vendors provide for exactly this purpose. The Actor never touches a rendered careers page, so redesigns and bot defences do not break it.

No personal data. Job postings occasionally carry a recruiter's email or phone in the body text. Those are stripped before the record is emitted.

Coverage. The seven platforms together cover venture-backed tech (Greenhouse, Lever, Ashby, Rippling), European scale-ups (Workable, Teamtailor) and large enterprises (SmartRecruiters). Workday and Taleo do not expose a comparable public board, so those companies show up in the "not found" log line rather than being dropped silently.


Development

$apify push

ATS 응답 모양이 바뀌면 src/normalize.py의 해당 핸들러만 고치면 된다. 탐지 순서는 src/ats.py — Greenhouse가 가장 흔해서 먼저 물어본다.