Company Career Page Jobs API — Greenhouse, Lever, Ashby & more
Pricing
from $1.00 / 1,000 results
Company Career Page Jobs API — Greenhouse, Lever, Ashby & more
Get every open job straight from company career pages. Give it company names or careers URLs; it finds the job board (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee) and returns clean, uniform job data.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Mitchell
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Security
Limited permissionsShare
Company Career Page Jobs API
For: sales and RevOps teams watching target accounts for hiring signals, job-board builders who need fresh listings from the employer, recruiters and job seekers following a shortlist of companies, and market researchers comparing roles and published pay.
What it does: you give it a list of companies. It finds each one's job board and returns every current opening in the same fields, whichever hiring system the company uses. It reads the public job-board APIs these systems provide, so it needs no browser, login or proxies.
Compatible job boards: Greenhouse, Lever (global and EU), Ashby, Workable, SmartRecruiters and Recruitee. Not affiliated with or endorsed by any of these companies.
Use cases
- Hiring signals: schedule a daily run with
postedWithinDays: 1and send new roles at target accounts to a sheet, CRM or Slack. - Job boards: fresh listings with the employer's own apply link.
- Job search: watch the companies you want to work for, filtered by title, location and remote.
- Research: compare open roles, locations and published salary ranges across competitors.
Input
companies is the only required field. Each entry can be:
| Entry | Example (illustrative) | Behaviour |
|---|---|---|
| Job-board URL | https://jobs.lever.co/examplecorp | Used directly |
| Careers page URL | https://example.com/careers | The Actor finds the embedded or linked board |
system:board | greenhouse:examplecorp | Explicit system and board name |
| Bare name | examplecorp | Checked against every supported system |
Filters (combined with AND): titleKeywords, excludeKeywords, locationKeywords, remoteOnly, postedWithinDays, maxJobsPerCompany (1 to 10,000; empty = 10,000; 0 is rejected), includeDescription (default true). Up to 100 entries in companies, each at most 500 characters.
{"companies": ["https://boards.greenhouse.io/examplecorp", "ashby:exampleco", "examplestartup"],"titleKeywords": ["engineer"],"locationKeywords": ["remote", "london"],"postedWithinDays": 7}
Example output (illustrative values)
{"id": "1234567","ats": "greenhouse","company": "Example Corp","title": "Backend Engineer","department": "Engineering","team": null,"location": "Remote - Europe","locations": ["Remote - Europe"],"remote": true,"employmentType": "Full-time","salary": { "min": 90000, "max": 120000, "currency": "EUR", "interval": "1 YEAR", "text": "€90K – €120K" },"postedAt": "2026-10-01T09:00:00.000Z","updatedAt": null,"url": "https://boards.greenhouse.io/examplecorp/jobs/1234567","applyUrl": "https://boards.greenhouse.io/examplecorp/jobs/1234567#app","descriptionText": "Example description text...","descriptionHtml": "<p>Example description text...</p>","sourceInput": "greenhouse:examplecorp"}
salary is filled only when the employer publishes a range. remote is null when the employer doesn't say. Nothing is guessed. A SUMMARY record in the key-value store lists each input, the board it resolved to, and its status (ok with found/returned counts, not_found, duplicate or error).
Limits
- Only the six systems above. Other systems (Workday, custom sites) are reported as
not_foundand not scraped. For Workday sites, see our separate career-site Actor. - Filters use the employer's own data. A remote job that isn't flagged as remote won't pass
remoteOnly. - Ashby's
postedAtis the original publish date, so it can be old. - A board reached from two inputs is fetched and charged once.
- Careers-page detection only follows https pages on public domain names, does not follow redirects, and reads at most 2 MiB. If a careers URL redirects, paste the final URL or the job-board URL instead.
- The run stops cleanly when your per-run spending limit is reached.
Pricing (current; unchanged)
Pay per event: US$0.001 per job returned (US$1 per 1,000) plus a start fee of US$0.00005 per GB of run memory (a default 4 GB run costs US$0.0002). Jobs removed by filters, and companies with no supported board, cost nothing. Source: MANIFEST.md pricingInfos and T-097.
FAQ
- Do I need an API key or proxy? No. It reads public job-board endpoints.
- Can I schedule it? Yes. Use Apify Schedules with
postedWithinDaysset. - Why did a company return nothing? Check
SUMMARY. It is usuallynot_found, meaning the company uses an unsupported system. - Personal data? No recruiter or contact fields are returned, and email addresses and phone numbers are redacted from descriptions as
[redacted]. Redaction is pattern-based, so unusual formats may slip through; names written into a description are left as the employer wrote them. You are responsible for handling the data lawfully (GDPR / NZ Privacy Act).
Attribution / not affiliated
Job data belongs to the employers and is served through each hiring system's public job-board API. This Actor is independent and is not affiliated with, endorsed by or sponsored by Greenhouse, Lever, Ashby, Workable, SmartRecruiters or Recruitee.