Greenhouse, Lever, Ashby & Workable Jobs Scraper
Pricing
Pay per event
Greenhouse, Lever, Ashby & Workable Jobs Scraper
Get every open job from company career pages on Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee in one normalized list with location, remote, salary and description. Just enter company names or careers URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Northloop Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Get every open job from company career pages in one clean, normalized list. Enter company names like stripe, notion or Hugging Face, or paste careers page URLs. The Actor finds each company's job board on Greenhouse, Lever, Ashby, Workable, SmartRecruiters or Recruitee and returns every open position. Each job comes with its title, department, location, remote/hybrid/onsite, employment type, posting date, salary range when published, apply link and the full description as plain text.
It reads the official public job board APIs that these platforms provide for career sites. That makes it fast (hundreds of jobs in seconds), stable, and independent of proxies or browsers.
What you can use it for
- Sales and lead generation: find companies hiring for roles your product serves ("hiring 5 data engineers" = buying signal).
- Recruiting and sourcing: watch competitors' and target companies' openings every day.
- Job boards and newsletters: build a niche board (remote AI jobs, climate jobs, jobs in Berlin) from direct company sources.
- Market and salary research: compare pay ranges, locations and team growth across companies.
- AI and RAG pipelines: feed clean job descriptions into LLMs, matching tools or alerts.
Supported job boards and ATS platforms
| Platform | Example careers URL |
|---|---|
| Greenhouse | https://boards.greenhouse.io/airbnb |
| Lever | https://jobs.lever.co/spotify |
| Ashby | https://jobs.ashbyhq.com/openai |
| Workable | https://apply.workable.com/huggingface |
| SmartRecruiters | https://jobs.smartrecruiters.com/BoschGroup |
| Recruitee | https://bunq.recruitee.com |
Using a company name instead of a URL? The Actor tries the likely board names (for example Hugging Face → huggingface, hugging-face) on every platform and uses the one with open jobs. If a company isn't found, paste its careers URL from the "Apply" link on its job pages.
How to scrape jobs from Greenhouse, Lever, Ashby and Workable
| Field | Description |
|---|---|
companies | Company names, domains or careers URLs (required) |
keywords / excludeKeywords | Keep or drop jobs by words in the title |
locations | Keep jobs whose location contains any of these (e.g. London, Germany, Remote) |
departments | Keep jobs in matching departments or teams |
remoteOnly | Only remote jobs |
postedWithinDays | Only jobs posted in the last N days |
includeDescription | Add the full description as plain text (default on) |
maxJobsPerCompany / maxResults | Limits. When the total limit is hit, it is shared fairly between companies |
Input example
{"companies": ["stripe", "https://jobs.ashbyhq.com/openai", "spotify"],"keywords": ["engineer"],"locations": ["London", "Remote"],"postedWithinDays": 30,"maxResults": 200}
Output example
{"company": "Notion","title": "Solutions Consultant, Commercial, Benelux","department": "Sales","team": "Solutions Consultant","employmentType": "FullTime","workplaceType": null,"isRemote": null,"location": "Dublin, Ireland","city": "Dublin","region": "Ireland","country": "Ireland","allLocations": ["Dublin, Ireland"],"postedAt": "2026-10-19T14:12:22.410+00:00","salaryMin": 144000,"salaryMax": 156000,"salaryCurrency": "EUR","salaryText": "€144,000 - €156,000","salarySource": "description","url": "https://jobs.ashbyhq.com/notion/7ee208b1-...","applyUrl": "https://jobs.ashbyhq.com/notion/7ee208b1-.../application","ats": "ashby","companySlug": "notion","jobId": "7ee208b1-...","descriptionText": "WHO WE ARE\n\nNotion is the collaborative AI workspace ...","input": "notion","scrapedAt": "2026-10-19T16:46:23.845Z"}
salarySource tells you where the salary came from: structured (published by the ATS) or description (a pay range found in the job text). A per-company summary (detected platform, open jobs, saved jobs, errors) is saved as RUN_SUMMARY in the run's key-value store.
How much does it cost?
Pay-per-event, with platform usage included:
- $0.005 per run (Actor start)
- $0.0015 per job saved ($1.50 per 1,000 jobs)
Example: 1,000 jobs from 10 companies cost about $1.51. Set a maximum cost per run in Apify and the Actor stops when it is reached.
Tips
- SmartRecruiters boards are read up to 1,000 newest jobs per company unless you set
maxJobsPerCompany. - Run it on a schedule and compare
jobIds to spot new openings. - Turn off
includeDescriptionif you only need titles and locations; it makes the dataset much smaller.
Use with AI agents, MCP, Make, Zapier, n8n and the API
AI agents and the Apify MCP server
Your AI agent can run this Actor as a tool through the Apify MCP server. In Claude, Cursor, VS Code or any other MCP client, add this server URL to load only this Actor:
https://mcp.apify.com?tools=northloop-labs/company-jobs-finder
You sign in to Apify on first connection. Agents that use the default server can also find the Actor with search-actors and run it with call-actor. Pass maxTotalChargeUsd in callOptions to cap what one run may cost. The Actor uses pay-per-event pricing, so it also works with Apify's agentic payments.
Example prompt: "List the open engineering roles at Stripe and Notion that are remote or in London, with salary ranges where published."
Make, Zapier and n8n
Apify has official integrations for Make, Zapier and n8n. Use "Run Actor", pick northloop-labs/company-jobs-finder, paste your input as JSON, and send the dataset items on to Google Sheets, Slack, a CRM or email. Inside Apify you can also connect Google Sheets or Slack, or add a webhook that fires when a run finishes.
API
Run it and get the results in one call (this endpoint waits up to 5 minutes, which suits small and medium runs):
curl -X POST "https://api.apify.com/v2/acts/northloop-labs~company-jobs-finder/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"companies": ["stripe", "notion"], "keywords": ["engineer"], "maxResults": 100}'
Or with the Python client (pip install apify-client). The JavaScript client works the same way:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("northloop-labs/company-jobs-finder").call(run_input={"companies": ["stripe", "notion"], "keywords": ["engineer"], "maxResults": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Data & privacy
- The Actor collects only public job postings that the companies publish on their career pages: job, company, location, salary and description data.
- It collects no personal data: no recruiter or hiring-manager names, emails or phone numbers, and no candidate or applicant data. Application inbox addresses that some platforms expose are dropped.
- Results are written only to the run's default Apify dataset in your account. The Actor uses no external storage or webhooks, sends the data nowhere else and keeps no copy. The
RUN_SUMMARYrecord holds only per-company counts and errors.
Is it legal to scrape job postings?
The Actor reads job postings that companies publish publicly through their job board providers' public APIs, which exist so career sites and job aggregators can display them. It does not log in or bypass any access control. You are responsible for how you use the data. Respect the companies' and platforms' terms and applicable laws. Read more in Apify's post Is web scraping legal?
FAQ
How much does it cost to scrape company job postings?
$0.0015 per job saved plus $0.005 per run start, with platform usage included. 1,000 jobs cost about $1.51. Companies whose job board isn't found save no jobs, so they cost nothing beyond the run start. Apify's free plan includes monthly usage credit you can spend on this Actor.
How many companies and jobs can one run handle?
As many companies as you like; they are processed in batches. One run can save up to 100,000 jobs (maxResults), and maxJobsPerCompany caps each company. SmartRecruiters boards are read up to the 1,000 newest jobs per company unless you set your own limit.
Does it scrape LinkedIn, Indeed or Glassdoor?
No. It reads jobs straight from company career pages hosted on Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee.
How do I track new job openings every day?
Add a schedule in Apify (for example daily at 7:00) and set postedWithinDays to 1 or 2. Or compare jobId with the previous run to see which roles are new and which were filled.
Does it include salaries?
When the company publishes one. salaryMin, salaryMax and salaryCurrency come from the platform's structured pay data or from a pay range in the job text, and salarySource tells you which.
A company wasn't found. What should I do?
Open any job on its careers site and paste the URL of the job board (for example https://jobs.lever.co/spotify) instead of the name. The RUN_SUMMARY record lists every input with its detected platform or the reason it wasn't found.
Where does the data come from, and is it allowed?
From the public job board APIs these platforms run for career sites. No recruiter, hiring-manager or candidate data is collected. See "Is it legal to scrape job postings?" above.
Which export formats can I use?
Results land in an Apify dataset. Download them as JSON, JSONL, CSV, Excel, XML, HTML or RSS from the run page, or read them through the API, Make, Zapier, n8n or Google Sheets.
How this Actor was made
This Actor was made with AI. An AI agent wrote and tested the code, this README and the store listing, and a human owns and maintains the Actor.
More Actors from Northloop Labs
- Luma, Eventbrite & Meetup Events Scraper: tech, AI and startup events from Luma, Eventbrite and Meetup.
- Google Ads Transparency Center Scraper: a company's ads from the Google Ads Transparency Center.
- Podcast Transcriber for RSS & Apple Podcasts: podcast transcripts with timestamps and SRT subtitles.
- EU TED & UK Find a Tender Scraper: UK and EU public tenders with daily alerts.
Feedback
Missing a platform (Personio, Teamtailor, BambooHR, Workday)? Open an issue in the Issues tab.