ATS Job Scraper: Greenhouse, Lever, Ashby, Workable
Pricing
from $1.50 / 1,000 extracted job postings
ATS Job Scraper: Greenhouse, Lever, Ashby, Workable
Extract structured job listings, locations, and descriptions directly from Greenhouse, Lever, Ashby, and Workable ATS career pages.
Pricing
from $1.50 / 1,000 extracted job postings
Rating
0.0
(0)
Developer
Morgane Flamant
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
πΌ Multi-Platform ATS Job Board Scraper (Greenhouse, Lever, Ashby & Workable)
A lightweight, high-speed Apify Actor built in Python to extract normalized job listings, departments, locations, remote status, application links, and descriptions across top ATS job platforms: Greenhouse, Lever, Ashby, and Workable.
π Key Features
- β‘ Pure Direct API Queries: Hits underlying public REST APIs directly with
httpxasync requests. No heavy headless browsers (~128MB RAM footprint). - π’ Multi-Platform Support: Scrape corporate job boards from Greenhouse, Lever, Ashby, and Workable in a single run.
- π― Unified Output Schema: Standardized data fields regardless of which ATS platform host the posting.
- π Remote Detection & Location Parsing: Automatically flags remote positions and normalizes department and location data.
- π Rich HTML & Plaintext Descriptions: Extracts both clean plain text and raw HTML formatted job descriptions.
π₯ Input Parameters
The Actor accepts the following input settings in JSON format:
| Parameter | Type | Default | Description |
|---|---|---|---|
targets | array | (See example) | List of target objects containing platform enum (greenhouse, lever, ashby, workable) and company identifier / slug. |
maxJobsPerTarget | integer | 100 | Maximum number of job postings to retrieve per target company board. |
includeFullDescription | boolean | true | When enabled, fetches full job description in plain text and HTML. |
Example Input JSON
{"targets": [{"platform": "greenhouse","identifier": "stripe"},{"platform": "lever","identifier": "leverdemo"},{"platform": "ashby","identifier": "openai"},{"platform": "workable","identifier": "seeq"}],"maxJobsPerTarget": 50,"includeFullDescription": true}
π€ Output Format
Each job posting in the output dataset follows a standardized schema:
{"company": "stripe","platform": "greenhouse","job_id": "4912039","title": "Software Engineer, Backend","department": "Engineering","location": "San Francisco, CA, US","is_remote": true,"published_at": "2026-02-10T15:30:00.000Z","apply_url": "https://boards.greenhouse.io/stripe/jobs/4912039#app","description_html": "<div><p>Stripe is building financial infrastructure...</p></div>","description_text": "Stripe is building financial infrastructure..."}
π Running Locally
Step 1: Install Dependencies
$pip install -r requirements.txt
Step 2: Run the Actor
$python -m src
π³ Docker Support
To build and run containerized:
docker build -t ats-job-scraper .docker run -it ats-job-scraper