Career Site Jobs API: Greenhouse, Lever, Ashby avatar

Career Site Jobs API: Greenhouse, Lever, Ashby

Pricing

from $1.05 / 1,000 results

Go to Apify Store
Career Site Jobs API: Greenhouse, Lever, Ashby

Career Site Jobs API: Greenhouse, Lever, Ashby

Open jobs straight from companies' own career sites on Greenhouse, Lever and Ashby. Enter company names or careers URLs; get titles, teams, locations, remote flag and salary ranges where published. Schedule it for only new jobs.

Pricing

from $1.05 / 1,000 results

Rating

0.0

(0)

Developer

Veridra Computer Technology

Veridra Computer Technology

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does Career Site Jobs API do?

Career Site Jobs Monitor returns the open jobs that companies publish on their own career sites through Greenhouse, Lever and Ashby, the applicant tracking systems behind thousands of employers' career pages. Enter company names or careers URLs; get every open job with title, department, team, locations, remote flag, employment type, salary range where the employer publishes one, and links to the posting. Schedule it with Only new results for a feed of new jobs at the companies you follow.

It collects data from Greenhouse, Lever and Ashby public job board APIs and returns clean, structured results you can download or pull through the Apify API.

Why use Career Site Jobs API?

  • Sales and recruiting agencies: hiring is a buying signal. Watch target accounts and get each new opening the day it is posted.
  • Job seekers and job boards: one feed of new jobs from the companies you care about, straight from their own boards, without duplicates.
  • Investors and analysts: hiring by team and location shows where a company is growing.
  • HR and compensation teams: published salary ranges by title and location from employers that share them.
  • AI agents: structured job records with links to the source, billed per job.
  • Runs on the Apify platform: schedule runs, call it through the API, connect it to integrations, and get notified when a run fails.

What data can Career Site Jobs API extract?

FieldTypeDescription
jobIdstringStable ID: system, board and the system's job ID.
companystringThe employer: Greenhouse's own name for it; for Lever and Ashby, which give none, the name you entered or one made from the board's address.
titlestringJob title.
departmentstringDepartment, when the board gives one.
teamstringTeam, on Lever and Ashby boards.
locationstringMain location as the employer wrote it.
allLocationsarrayEvery location listed for the job.
workplaceTypestringremote, hybrid or onsite, when the board says.
isRemotebooleanTrue when the job is marked remote.
employmentTypestringFull time, part time, contract or intern, when given.
payMinnumberLower end of the published pay range.
payMaxnumberUpper end of the published pay range.
payCurrencystringCurrency of the pay range.
payPeriodstringyear, month, week, day or hour; empty when the board does not state it.
postedAtstringWhen the job was first published (ISO 8601, UTC).
updatedAtstringLast update, on Greenhouse boards.
atsstringThe job system: greenhouse, lever or ashby.
boardstringThe company's board name on that system.
jobUrlstringThe posting on the company's career site.
applyUrlstringWhere to apply.
descriptionstringPlain-text job description with emails and phone numbers removed (only with Include job description).
scrapedAtstringWhen this result was collected (UTC, ISO 8601).

How to use Career Site Jobs API

  1. Open the actor and select Try for free.
  2. Fill in Companies, Job systems to search. The prefilled example works as a first test.
  3. Set Maximum results to control how much data, and cost, a run produces.
  4. Select Start and wait for the run to finish.
  5. Download the results as JSON, CSV, Excel or HTML, or fetch them through the API.

How much does it cost to use Career Site Jobs API?

You pay per result: $1.50 per 1,000 results ($0.0015 each), plus Apify's small start fee of $0.0001 per run. For example, 1,000 results cost about $1.50. You can set a maximum cost per run in the run options, and the actor stops cleanly when it is reached.

Subscribers to Apify's paid plans pay less per result: 10% off on Bronze, 20% off on Silver and 30% off on Gold and higher plans.

Get only new results

Turn on Only new results and schedule the actor (for example daily) to use it as a monitor: each run skips what earlier runs already returned, so you get a feed of new records and pay only for those. The first run returns everything that matches. The memory lives in your own Apify account; give runs the same Monitor name to share it when you change other inputs.

Use it from AI agents

AI agents can find and run Career Site Jobs API as a tool through Apify's MCP server (mcp.apify.com) or the Apify API, and get the same structured results, billed per result. Without code, Apify's Zapier, Make and n8n integrations can start it and send each new result to a sheet, CRM or chat.

Input

See the Input tab for every option. The main fields:

FieldTypeDefaultDescription
companiesarray["Stripe", "https://jobs.lever.co/palantir", "openai"]Company names (Stripe), board names (stripe) or careers page URLs (https://jobs.lever.co/palantir, https://jobs.ashbyhq.com/openai, https://boards.greenhouse.io/airbnb). For a name, the actor tries its board on the systems below, in order; a URL is always exact.
systemsarray["greenhouse", "lever", "ashby"]Where to look for a company given by name. URLs always go to their own system.
keywordsarray[]Only jobs whose title contains one of these, for example engineer, sales, data.
locationsarray[]Only jobs in a location containing one of these, for example London, Germany, Remote.
departmentsarray[]Only jobs whose department or team contains one of these.
remoteOnlybooleanfalseOnly jobs marked remote.
postedWithinDaysinteger0Only jobs first published in the last this many days. 0 returns every open job.
maxPerCompanyinteger0Newest jobs kept per company, so one large employer cannot fill the run. 0 keeps all.
includeDescriptionbooleanfalseAdd the full job description as plain text (emails and phone numbers removed). Off keeps results small.
maxResultsinteger1000Stop after this many results. Each result costs $0.0015, so this also caps the cost of a run. Use 0 for no limit. Keep it low for a first test.
onlyNewbooleanfalseMonitoring mode: skip results this monitor returned in earlier runs, so a scheduled run returns, and bills, only what is new. The first run returns everything that matches.
monitorNamestring""Runs with the same name share one memory of returned results, even if you change other inputs. Leave empty to keep a separate memory for each distinct input.

Example input:

{
"companies": [
"https://boards.greenhouse.io/airbnb",
"https://jobs.lever.co/palantir",
"https://jobs.ashbyhq.com/openai"
],
"maxPerCompany": 10,
"maxResults": 30
}

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Example items:

[
{
"jobId": "greenhouse:airbnb:8325753",
"company": "Airbnb",
"title": "Staff Software Engineer, UI Tooling",
"department": "Software Engineering",
"team": null,
"location": "United States",
"allLocations": [
"United States"
],
"workplaceType": null,
"isRemote": false,
"employmentType": null,
"payMin": 212000,
"payMax": 265000,
"payCurrency": "USD",
"payPeriod": null,
"postedAt": "2026-10-26T22:12:12+00:00",
"updatedAt": "2026-10-26T22:12:12+00:00",
"ats": "greenhouse",
"board": "airbnb",
"jobUrl": "https://careers.airbnb.com/positions/8325753?gh_jid=8325753",
"applyUrl": "https://careers.airbnb.com/positions/8325753?gh_jid=8325753",
"description": null,
"scrapedAt": "2026-10-27T04:21:41+00:00"
},
{
"jobId": "greenhouse:airbnb:8325603",
"company": "Airbnb",
"title": "Senior Software Engineer, Experimentation Interfaces",
"department": "Software Engineering",
"team": null,
"location": "Brazil",
"allLocations": [
"Brazil"
],
"workplaceType": null,
"isRemote": false,
"employmentType": null,
"payMin": null,
"payMax": null,
"payCurrency": null,
"payPeriod": null,
"postedAt": "2026-10-26T20:52:49+00:00",
"updatedAt": "2026-10-26T20:52:49+00:00",
"ats": "greenhouse",
"board": "airbnb",
"jobUrl": "https://careers.airbnb.com/positions/8325603?gh_jid=8325603",
"applyUrl": "https://careers.airbnb.com/positions/8325603?gh_jid=8325603",
"description": null,
"scrapedAt": "2026-10-27T04:21:41+00:00"
}
]

Tips

  • A careers URL is the surest input: boards.greenhouse.io/company, jobs.lever.co/company or jobs.ashbyhq.com/company.
  • For a plain company name, the actor tries a few spellings of the board name on each system. If a company is not found, open its careers page, look for one of those addresses, and enter it instead.
  • Use Only new results on a daily schedule to receive each job once.
  • Leave Include job description off for small, fast results; turn it on when you need the full text.
  • Schedule the actor to keep a dataset fresh, and use the API or integrations to send new results where you need them.

FAQ, disclaimers, and support

Where does the data come from?

From Greenhouse, Lever and Ashby public job board APIs (boards-api.greenhouse.io, api.lever.co, api.ashbyhq.com). Data is used under: Employers publish these job postings through the applicant tracking systems' public job board APIs for distribution to job seekers and job sites; each record links back to the original posting. See the source's terms: https://developers.greenhouse.io/job-board.html

This actor only collects publicly available data from Greenhouse, Lever and Ashby public job board APIs and does not collect personal data about private individuals. Check that your use complies with the source's terms and the laws that apply to you. This actor is not affiliated with or endorsed by Greenhouse, Lever and Ashby public job board APIs.

Which systems does it read?

From the public job board APIs that Greenhouse, Lever and Ashby provide for employers' career pages and for job sites. No login is used, and nothing is read from LinkedIn or job boards.

Why are some salaries empty?

Pay ranges come only from employers that publish them on their board. Lever and Ashby state the period; on Greenhouse the period is filled only when the employer wrote one, so payPeriod is often empty there even when a range is shown. It is left empty rather than guessed.

Does it include personal data?

Job postings describe jobs, not people. Emails and phone numbers are removed from descriptions, and descriptions are off unless you ask for them.

Can I add Workday or other systems?

Not yet. Greenhouse, Lever and Ashby cover a large share of tech and startup employers; ask in the Issues tab if you need another system.

How does it find a company by name?

It tries the company's board address on Greenhouse, Lever and Ashby in that order and uses the first board with open jobs. On Greenhouse the board's employer name must match what you typed; Lever and Ashby give no employer name, so the log says when a board was matched by its address only. For an exact match, enter the careers page URL. A company with boards on two systems is read from the first one found.

Something is not working

Open an issue in the Issues tab with your run link and we will look at it. For programmatic access, see the API tab.