Career Site Jobs Scraper: Greenhouse, Lever, Ashby, Workday
Pricing
from $1.50 / 1,000 job listings
Career Site Jobs Scraper: Greenhouse, Lever, Ashby, Workday
Every open job from company career sites on Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Recruitee, Personio and BambooHR, with salaries, remote/hybrid, seniority, new-job tracking and hiring summaries.
Pricing
from $1.50 / 1,000 job listings
Rating
0.0
(0)
Developer
AIMindTeams
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Get every open job straight from company career sites, in one clean format. List the companies you care about and this Actor pulls their live openings directly from the hiring systems they use:
Greenhouse · Lever · Ashby · Workday · Workable · SmartRecruiters · Recruitee · Personio · BambooHR
Every job comes back normalized, whichever system it came from:
- Title, department, team and a seniority level (intern to executive)
- Location, all locations, city, region, country and workplace type (remote, hybrid, on-site)
- Salary range with currency and period, from structured pay fields or pay-transparency text
- Employment type, posting date, requisition ID, job and apply links
- Full description as clean text (optional)
- "Only new jobs" mode for scheduled runs, so you only see (and pay for) newly posted roles
- A hiring summary per company: open roles, top departments, remote share and newest posting
No API keys, no logins and no browser. Press Start to pull current openings from Stripe, Palantir and Ramp.
Why this Actor exists
Job boards like LinkedIn and Indeed are noisy, duplicated and hard to scrape. The original source of almost every tech and corporate job is the company's own careers page, which runs on a handful of hiring systems with public job feeds. This Actor reads those feeds directly.
| Job board scrapers | Single-system scrapers | Career Site Jobs Scraper | |
|---|---|---|---|
| Source | Aggregator copies | One hiring system | 9 hiring systems, first-party |
| Duplicates and stale posts | Common | Rare | Rare |
| Same output format across systems | No | No | Yes |
| Salary ranges | Sometimes | Sometimes | Structured + parsed from pay-transparency text |
| Remote / hybrid / on-site | Inconsistent | Inconsistent | Normalized |
| Seniority level | No | No | Yes |
| Company websites or names as input | No | No | Auto-detects the careers site |
| New-jobs-only tracking | No | Rarely | Yes |
How it works
- Resolve each company. Careers page URLs and shorthands (
greenhouse:acme) are matched exactly. For a website (acme.com), the Actor reads the homepage and careers pages to find the hiring system. For a name (Acme), it checks the public job boards and only accepts a match when the board's company name agrees. - Fetch the company's open jobs from that system's public job feed. Paginated systems (Workday, SmartRecruiters) stop as soon as enough matching jobs are found.
- Normalize locations, workplace type, seniority, employment type, dates and salaries into one schema.
- Filter by title keywords, locations, remote, departments and posting date, then deliver one item per job.
- Summarize each company in the
OUTPUTrecord.
Quick start
- Paste careers page URLs, websites or company names into Companies.
- Optionally add Job title keywords (for example
engineer) or Locations (for exampleLondonorremote). - Press Start and open the Overview tab, or export CSV, Excel or JSON.
Example input:
{"companies": ["https://boards.greenhouse.io/stripe","https://jobs.lever.co/palantir","https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite","huggingface.co","Notion"],"keywords": ["engineer", "data"],"locations": ["United States", "remote"],"maxJobsPerCompany": 200,"onlyNewJobs": true}
Supported careers page formats
| Hiring system | Example |
|---|---|
| Greenhouse | boards.greenhouse.io/acme, job-boards.greenhouse.io/acme, embedded boards, EU boards |
| Lever | jobs.lever.co/acme, jobs.eu.lever.co/acme |
| Ashby | jobs.ashbyhq.com/acme |
| Workday | acme.wd5.myworkdayjobs.com/External (any wdN host, with or without a locale) |
| Workable | apply.workable.com/acme |
| SmartRecruiters | jobs.smartrecruiters.com/Acme |
| Recruitee | acme.recruitee.com |
| Personio | acme.jobs.personio.de or .com |
| BambooHR | acme.bamboohr.com/careers |
Input
| Field | Type | Default | What it does |
|---|---|---|---|
companies | array | 3 samples | Careers page URLs, ats:slug shorthands, websites or company names. |
keywords | array | none | Keep jobs whose title contains any keyword. |
searchInDescription | boolean | false | Also match keywords in descriptions. |
locations | array | none | Keep jobs whose location contains any term (remote also matches remote jobs). |
remoteOnly | boolean | false | Only fully remote jobs. |
departments | array | none | Keep jobs whose department or team contains any term. |
postedWithinDays | integer | 0 | Only jobs posted in the last N days (0 = all). |
maxJobsPerCompany | integer | 100 | Cap per company after filters. |
includeDescription | boolean | true | Include the description as clean text. |
onlyNewJobs | boolean | false | Skip jobs delivered in earlier runs (per company). |
maxConcurrency | integer | 4 | Companies processed in parallel. |
Output
One dataset item per job. Example:
{"company": "Ramp","company_input": "https://jobs.ashbyhq.com/ramp","ats": "Ashby","board_url": "https://jobs.ashbyhq.com/ramp","job_id": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","title": "Security Engineer, Cloud","department": "Engineering","team": "Backend","location": "New York, NY (HQ)","locations": ["New York, NY (HQ)", "Remote (Canada)", "Remote (US)"],"city": "New York City","region": "NY","country": "USA","workplace_type": "hybrid","is_remote": true,"employment_type": "full-time","seniority": null,"posted_at": "2026-04-07T17:12:35Z","job_url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","apply_url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","salary": { "min": 211400, "max": 290600, "currency": "USD", "period": "year", "text": "$211.4K - $290.6K", "source": "structured" },"requisition_id": null,"description_text": "ABOUT RAMP\n\nRamp is building the smart infrastructure for finance teams...","change_status": "untracked","scraped_at": "2026-10-17T19:00:00Z"}
change_status is new when Only new jobs is on, otherwise untracked.
Hiring summary (OUTPUT record of the default Key-Value Store), one row per company:
{"input": "https://jobs.ashbyhq.com/ramp","company": "Ramp","ats": "Ashby","board_url": "https://jobs.ashbyhq.com/ramp","resolved_by": "url","status": "ok","open_jobs_on_board": 214,"jobs_delivered": 100,"top_departments": [{ "department": "Engineering", "jobs": 41 }, { "department": "Sales", "jobs": 22 }],"remote_share": 0.18,"newest_posted_at": "2026-10-16T21:04:11Z","with_salary": 96}
Pricing (Pay-Per-Event)
| Event | When | Price |
|---|---|---|
job-listing | One job is delivered to your dataset | See the Pricing tab |
- You only pay for jobs that pass your filters. Companies, lookups and descriptions are included.
- With Only new jobs on, jobs delivered in earlier runs are skipped for free.
- Your run's maximum charge is respected: the Actor checks the remaining budget before each job and stops cleanly.
Use cases
- Sales intelligence: hiring is the best buying signal. Watch target accounts for new roles in the teams you sell to.
- Recruiting and talent intelligence: monitor competitors' openings, salary bands and remote policies.
- Job boards and newsletters: build a niche board (AI, climate, remote, fintech) from first-party postings.
- Investors and analysts: track headcount growth by department across a portfolio.
- Job seekers: get a daily list of new roles at your dream companies.
Use it from AI agents (MCP)
Hosted Apify MCP server (Claude, ChatGPT, Cursor, VS Code and any client that supports remote MCP):
https://mcp.apify.com?tools=AIMindTeams/career-site-jobs-scraper
Local stdio server (for example, Claude Desktop claude_desktop_config.json):
{"mcpServers": {"career-jobs": {"command": "npx","args": ["-y", "@apify/actors-mcp-server", "--tools", "AIMindTeams/career-site-jobs-scraper"],"env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }}}}
Example prompts:
- "Which of these 10 companies are hiring data engineers in Europe, and what salary ranges do they post?"
- "List remote product manager openings at Stripe, Ramp and Notion posted this week."
- "Summarize which departments Palantir is hiring for."
Use it from code
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("AIMindTeams/career-site-jobs-scraper").call(run_input={"companies": ["https://boards.greenhouse.io/stripe", "notion.so"],"keywords": ["engineer"],"remoteOnly": True,})for job in client.dataset(run["defaultDatasetId"]).iterate_items():salary = job["salary"] or {}print(job["company"], job["title"], job["location"], salary.get("min"), salary.get("max"), job["job_url"])
cURL (run and get the items in one call):
curl -X POST "https://api.apify.com/v2/acts/AIMindTeams~career-site-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"companies": ["https://jobs.ashbyhq.com/ramp"], "maxJobsPerCompany": 20}'
FAQ
Which input format is most reliable? Careers page URLs. They are matched exactly. Websites work whenever the careers page links to or embeds a supported hiring system, and company names are matched only when the job board's own company name agrees.
What if a company uses a system that isn't supported? Its row in the hiring summary says "not found" with the reason, and you are not charged for it.
How are salaries found?
From structured pay fields when the hiring system provides them (Ashby, Lever, Recruitee), otherwise from pay-transparency text in the description, for example "The base salary range is $185,000 - $255,000". The salary.source field says which.
How fresh is the data? Live. Every run reads the company's current job feed directly.
Is this legal? The Actor only reads the public job feeds that companies publish so their openings can be found. Use the data in line with the laws and terms that apply to you.
More from AIMindTeams
- Website Contact & Tech Stack Enricher: emails, phones, social profiles, tech stack and email provider for any list of company websites.
- Shopify Store Scraper & Price Monitor: products, variants, prices and stock from any Shopify store, with price-drop alerts.
- SAM.gov & SBIR Federal RFP + Attachment Deep-Parser: federal opportunities with their attachments parsed.
Changelog
- 1.0: First release. Nine hiring systems, company website and name auto-detection, normalized locations, workplace type, seniority, employment type and salaries, new-jobs-only tracking and per-company hiring summaries.