Jobs Feed for Lever Career Sites – AU & NZ ready avatar

Jobs Feed for Lever Career Sites – AU & NZ ready

Pricing

from $1.00 / 1,000 jobs

Go to Apify Store
Jobs Feed for Lever Career Sites – AU & NZ ready

Jobs Feed for Lever Career Sites – AU & NZ ready

Live job postings from employers' public Lever career sites. Normalised salary, location, country, remote and seniority fields, AU & NZ preset, monitor mode for new jobs only. Email addresses and phone numbers are removed. Unofficial tool: not affiliated with or endorsed by Lever.

Pricing

from $1.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Kuro Solutions

Kuro Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Get clean, normalised job postings straight from employers' own Lever career sites, using the public postings endpoint that Lever provides for published jobs. No job-board scraping, no logins, no proxies, no browser.

Unofficial tool. Not affiliated with, endorsed by or sponsored by Lever (Employ Inc.). "Lever" is a trademark of its owner and is used here only to say which job boards this Actor can read.

What it does

  • Takes a list of Lever career sites (https://jobs.lever.co/kogan, lever:deputy, …) or a built-in AU & NZ preset (6 employer boards).
  • Calls Lever's public postings JSON endpoint for each board, normalises every job to one schema, and filters by country and title keywords.
  • Monitor mode (onlyNew): remembers job IDs across runs and returns (and charges for) only jobs it has not delivered before. Schedule it daily for a "new jobs" alert.
  • One broken or missing board never fails the run; see RUN_SUMMARY in the key-value store.

Supported career sites

SystemInput formats
Lever (US & EU)https://jobs.lever.co/{slug}, https://jobs.eu.lever.co/{slug}, lever:{slug}, lever-eu:{slug}

Other applicant tracking systems are not supported in this version and are skipped with a warning.

Input

FieldDefaultNotes
companies–Lever career-site URLs or lever:slug
presetnoneau_nz_tech adds 6 AU/NZ employer boards on Lever
countries–ISO-2 codes, e.g. AU, NZ. Empty = all countries
keepUnknownRemotefalseKeep remote jobs with no detectable country
keywords–Title must contain at least one (case-insensitive)
includeDescriptionfalseAdds descriptionText and descriptionHtml. Email addresses and phone numbers are always removed
onlyNewfalseMonitor mode
monitorStoreNameats-jobs-feed-seenUse a different name per saved search
maxJobs500Hard cap on results (and so on cost)

Example input:

{
"companies": ["https://jobs.lever.co/kogan", "lever:deputy"],
"countries": ["AU", "NZ"],
"keywords": ["engineer", "data"],
"onlyNew": true,
"maxJobs": 500
}

Output (one item per job)

id (lever:slug:jobId, stable), ats, boardSlug, company, jobId, title, department, team, locationText, allLocations, country, countries, workplaceType (onsite/hybrid/remote), employmentType, seniority (heuristic from title), salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryText, salarySource (ats_field or description), postedAt, updatedAt, url, applyUrl, scrapedAt, optional descriptionText/descriptionHtml.

Example item (descriptions off):

{
"id": "lever:deputy:73af4076-6528-4e07-ac5d-5cfcc215d0a5",
"ats": "lever", "boardSlug": "deputy", "company": "deputy",
"title": "Account Executive", "department": "Sales", "team": "Sales Mid Market",
"locationText": "Sydney", "country": "AU", "workplaceType": "hybrid",
"seniority": "mid_or_unspecified", "salaryMin": null,
"url": "https://jobs.lever.co/deputy/73af4076-6528-4e07-ac5d-5cfcc215d0a5",
"applyUrl": "https://jobs.lever.co/deputy/73af4076-6528-4e07-ac5d-5cfcc215d0a5/apply"
}

Notes: seniority is a title heuristic and can be wrong (for example "Assistant Category Manager" is tagged manager). Salary is only filled when the posting gives it or its text has an explicit currency marker; most Australian ads do not publish pay, so expect it to be empty for most jobs. company is the board slug, not a verified display name.

Pricing

Pay per event: you pay per job returned. In monitor mode you only pay for new jobs. Set a maximum charge per run in the run options and the Actor stops when it is reached.

Data source, privacy and responsible use

  • Source: only the public, unauthenticated postings endpoint of Lever (api.lever.co / api.eu.lever.co) for jobs in the published state. Lever's own documentation says published postings are publicly viewable and "may be scraped by third parties". No login, no private or internal postings, no candidate data.
  • Politeness: before the first request to a host the Actor reads that host's robots.txt, refuses any path it disallows, and keeps at least one second (or the host's Crawl-delay, if larger) between requests. It identifies itself with a descriptive User-Agent and backs off on HTTP 429/5xx.
  • Job text is the employer's content. By default it is not included. If you turn it on, keep the link back to the job (url, applyUrl) and do not present the text as your own or republish it wholesale.
  • Personal data: the Actor never outputs recruiter or hiring-manager contact details. Email addresses, mailto:/tel: links and phone numbers are removed from every description field, always. If you combine the output with other data about identifiable people, you are responsible for privacy-law compliance (for example the Australian Privacy Act).
  • Acceptable use: do not use the output to spam employers or candidates, to impersonate an employer, to mislead people into thinking a job is offered by someone other than the employer, to train AI models (Lever's job pages reserve AI-training rights), or in breach of Lever's or the employer's terms. You are responsible for how you use the data.
  • Takedown: if an employer or Lever asks for a board to be excluded, tell the author via the Actor's Issues tab and it will be removed.

Local development

npm install
npm test # unit tests
test/run-local.sh test/input-au-preset.json # simulated pay-per-event run, no account needed

run-local.sh sets ACTOR_TEST_PAY_PER_EVENT=true and writes simulated charges to storage/datasets/charging_log. The SDK's local simulation prices every event at $1 for budget checks, so local maxTotalChargeUsd tests stop earlier than on the platform.