Docs / ATS jobs aggregator

Lever Jobs API (job postings and salaries)

Job postings straight from public Lever career boards, in one schema with salary (where the employer publishes it), remote flag and posted date. Pass your own companies or scan the built-in list of 4,368 Lever boards.

Run it on Apify ↗ API tab ↗ Compare alternatives

Facts on this page were checked against the live Apify listing on 2026-10-22. The Apify Store page is the source of truth for price.

Who it is for

Niche job boards, sales teams using hiring signals, recruiters, labor-market researchers and AI agents.

Pricing (pay per event)

EventChargedPrice (USD)
jobper job returned$0.0012
apify-actor-startper run$0.00005

1,000 jobs cost $1.20. Filters run before charging. No subscription. Paid Apify plans get Store tier discounts automatically, and you can set a maximum total charge per run.

Data sources

Update cadence: Live per run.

Coverage: Lever only: 4,368 known Lever boards, or any Lever board you name.

Inputs

FieldTypeDefaultWhat it does
companiesarray["lever:palantir", "https://jobs.lever.co/spotify"]Lever career-board URLs (jobs.lever.co/palantir), 'lever:slug' or a bare company slug.
scanKnownCompaniesbooleanfalseAlso scan the built-in list of 4,368 Lever company boards. Combine with title/location filters to build a market-wide job feed.
knownCompanyPlatformsarray["lever"]Which built-in company lists to scan.
maxCompaniesToScaninteger200How many built-in company boards to check per run.
titleKeywordsarrayCase-insensitive, e.g. engineer, sales, data.
excludeTitleKeywordsarraye.g. intern, senior.
locationKeywordsarraye.g. remote, seattle, germany, US.
remoteOnlybooleanfalseKeep only jobs marked remote.
postedWithinDaysinteger00 = no date filter.
includeDescriptionbooleanfalseAdds plain-text description.
maxResultsinteger50Stop after this many jobs.

Output fields

company, title, department, team, location, locations[], country, isRemote, workplaceType, employmentType, salaryMin, salaryMax, salaryCurrency, salaryInterval, salaryText, postedAt, updatedAt, jobUrl, applyUrl, description (optional), ats, companySlug.

Example input

{
  "scanKnownCompanies": true,
  "maxCompaniesToScan": 2000,
  "titleKeywords": ["data"],
  "remoteOnly": true,
  "postedWithinDays": 7
}

Call it from code or an AI agent

REST (one call, returns JSON rows):

curl -X POST "https://api.apify.com/v2/acts/johto.data~ats-jobs-aggregator/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
  -d '{"scanKnownCompanies":true,"maxCompaniesToScan":2000,"titleKeywords":["data"],"remoteOnly":true,"postedWithinDays":7}'

Python: ApifyClient(token).actor("johto.data/ats-jobs-aggregator").call(run_input={...})

MCP (Claude, Cursor, any MCP client): https://mcp.apify.com/?tools=johto.data/ats-jobs-aggregator

Limits and notes

FAQ

Which ATS platforms are supported?

Lever only.

Does it return salaries?

Yes, where the employer publishes them (many Lever boards do).

Apify Store listing: https://apify.com/johto.data/ats-jobs-aggregator. Questions: [email protected].