Careers Page Jobs Scraper (Greenhouse, Lever, Ashby, No Login) avatar

Careers Page Jobs Scraper (Greenhouse, Lever, Ashby, No Login)

Pricing

from $0.83 / 1,000 jobs

Go to Apify Store
Careers Page Jobs Scraper (Greenhouse, Lever, Ashby, No Login)

Careers Page Jobs Scraper (Greenhouse, Lever, Ashby, No Login)

Scrape open jobs from Greenhouse, Lever, Ashby, Personio and Teamtailor career pages by typing company names. Get title, department, location, country, remote flag, salary range and apply link. Only new jobs since your last run; companies not found are free. No login. $1.50 per 1,000 jobs.

Pricing

from $0.83 / 1,000 jobs

Rating

0.0

(0)

Developer

locaihost data

locaihost data

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

14 days ago

Last modified

Share

Get every open job at the companies you list, straight from their Greenhouse, Lever, Ashby, Personio or Teamtailor careers board, in one clean format with parsed salary ranges, one row per job. Type company names and the job board is found for you. No login, no API key.

  • Track who is hiring: watch a list of target companies and see which roles, teams and cities they open.
  • Find sales leads: hiring is a buying signal. A company opening ten data-engineering roles is a lead for data tools.
  • Fill a job board: postings come directly from employers, so a niche board stays fresh without reposts.
  • Run daily job alerts: "remote engineering roles with a posted salary at these 50 companies", new jobs only.
  • Research pay: compare published salary ranges by title, location and company.

Quick start

Paste this into the JSON tab of the input and click Start:

{"companies": ["airbnb", "figma", "notion", "https://jobs.lever.co/spotify", "ashby:ramp"], "titleKeywords": ["designer"]}

You get the design roles open at those five companies that day (17 rows on 2026-10-18), usually in about 10 seconds. Remove titleKeywords to get every open job: the same five companies had 689. Each company can be a name (airbnb), a careers-board URL (https://jobs.lever.co/spotify) or ats:name (ashby:ramp).

What data can I get?

Five real jobs from this Actor's output across Greenhouse, Ashby, Lever and Teamtailor, with parsed salary ranges

GroupFields
Jobtitle, department, team, jobId, url (posting page), applyUrl
Employersource (greenhouse, lever, ashby, personio, teamtailor), company (the employer's board name)
Locationlocation, locations (all of them), country (ISO code such as US, GB, DE; null when unsure or several countries)
Work typeworkplaceType (remote, hybrid, onsite), remote (true = fully remote), employmentType (full-time, part-time, contract, temporary, internship, other), employmentTypeRaw
PaysalaryMin, salaryMax, salaryCurrency, salaryPeriod (year, month or hour)
DatespostedAt, updatedAt (YYYY-MM-DD), scrapedAt
Textdescription: plain text, up to 20,000 characters, emails and phone numbers removed; null when Include full description is off

One real row (run on 2026-10-18, description shortened):

{
"source": "ashby",
"company": "notion",
"jobId": "d177d052-ef57-4900-acf2-d58e9eded620",
"title": "Product Designer",
"department": "Product Design",
"team": "Product Design",
"location": "San Francisco, California",
"locations": ["San Francisco, California", "New York, New York"],
"country": "US",
"workplaceType": "hybrid",
"remote": false,
"employmentType": "full-time",
"employmentTypeRaw": "FullTime",
"postedAt": "2026-07-02",
"updatedAt": null,
"salaryMin": 285000,
"salaryMax": 330000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"url": "https://jobs.ashbyhq.com/notion/d177d052-ef57-4900-acf2-d58e9eded620",
"applyUrl": "https://jobs.ashbyhq.com/notion/d177d052-ef57-4900-acf2-d58e9eded620/application",
"description": "WHO WE ARE\n\nNotion is the collaborative AI workspace where teams and agents think together…",
"scrapedAt": "2026-10-18T05:37:20.490Z"
}

Salaries come from the ATS's structured pay fields (Ashby, Lever) or from the posting text ("$120K to $150K per year", "USD 120,000–150,000", "between £40,000 and £50,000"). An unlabelled figure too small to be yearly is reported as monthly, or hourly below 300.

The dataset's Jobs view exports to JSON, CSV, Excel or HTML. Each run also writes a SUMMARY record: per company, the board found, total jobs, how many matched your filters, how many were returned, and any errors or invalid entries.

How much does it cost?

You pay per job returned. There is no charge for Apify platform usage on top.

RowFree and StarterScaleBusiness
Job$1.50 per 1,000$1.125 per 1,000$0.825 per 1,000

Plus $0.00005 per run start. Apify's free $5 monthly credit covers about 3,300 jobs. Free-plan runs stop at 100 jobs each; any paid Apify plan removes the cap. You can also set your own limit with Max results.

What's free: board lookups, companies that aren't found, invalid or duplicate entries, jobs removed by your filters, jobs already delivered when onlyNew is on, and companies not reached before the run's time limit. A run where every job board is down ends with a message and no job charges. To cap a run's spend, set Maximum cost per run in the run options.

Limits, stated up front

  • Five job boards only: Greenhouse and Lever (both including EU-hosted boards such as job-boards.eu.greenhouse.io/acme), Ashby, Personio and Teamtailor (including custom career-site domains, as teamtailor:careers.acme.com). For Workday, Workable and Recruitee, use Workday Jobs Scraper.
  • Up to 500 companies per run. Duplicate entries are skipped, and entries that can't be a board name (sentences, spaces in a long name, over 100 characters) are listed in SUMMARY.invalid and never fetched.
  • A bare name is tried as a board name on each of the five systems in turn. If a company uses a different board name, or another organisation happens to use the same one, paste the careers-board URL instead.
  • Only employers who publish a range have a salary. employmentType is null for Greenhouse and Teamtailor, which don't say. Lever and Personio give the creation date as postedAt.
  • Recruiter and hiring-manager fields are never collected. A description is the employer's own text and can occasionally name a person; turn off Include full description if you don't need it.
  • Data is live: each run reads every board at run time. If a long list would outlast the run's time limit, the run stops cleanly, keeps the jobs found so far and names the companies it didn't reach.

Only new since last run, and schedules

Turn on onlyNew, save the input as a task and give it a daily schedule under Schedules in Apify Console. Each run then returns only postings it hasn't delivered before, and skipped jobs cost nothing. The memory belongs to that exact set of companies and filters: change either and it starts fresh. onlyNew is off by default, so a plain run always returns every matching open job.

Integrations: API, n8n, Make and AI agents

API. Run it and get the rows back in one call:

curl -X POST "https://api.apify.com/v2/acts/locaihost~careers-jobs/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies": ["airbnb", "figma", "ashby:ramp"], "withSalaryOnly": true}'

Apify's API clients for Python and JavaScript work the same way. Synchronous calls wait up to 5 minutes; use the asynchronous run endpoint for long company lists.

n8n, Make, Zapier, Google Sheets, Slack, webhooks. Apify's built-in integrations send each run's dataset wherever you need it.

AI agents (MCP). Add this Actor to Claude, Cursor or any MCP client with https://mcp.apify.com/?tools=locaihost/careers-jobs, then ask something like "Which engineering roles are Figma, Notion and Ramp hiring for in New York right now, and what salary ranges do they post?"

FAQ

How much does it cost to scrape jobs from careers pages?

$1.50 per 1,000 jobs on the Free and Starter plans, less on Scale and Business. Lookups, unknown companies and filtered-out jobs are free. Apify's free $5 monthly credit covers about 3,300 jobs.

Can I use it through the API or from Python?

Yes. Use the run-sync-get-dataset-items call above, or Apify's Python and JavaScript clients. Every run's data is also available as JSON, CSV or Excel from its dataset.

Can I use it from an AI agent?

Yes. Through the Apify MCP server (https://mcp.apify.com/?tools=locaihost/careers-jobs) any MCP client can call it with a list of companies and read the jobs back.

The Actor reads the public job-board feeds these systems publish so employers' openings can be shown elsewhere: the Greenhouse Job Board API, the Lever Postings API, Ashby's public job postings API, Personio's XML feed and Teamtailor's career-site RSS. None needs a login, and the Actor never gets around logins or blocks. It doesn't collect recruiter or hiring-manager details. You are responsible for how you use the results; if you republish postings, check what the employer allows.

Why are some fields empty?

Salary only exists where the employer published one (turn on With salary only to keep just those). employmentType is null when the board doesn't say, and country is null when a posting spans several countries or the location text is unclear.

My company isn't found. What now?

Open the run's SUMMARY record: it lists each company not found. Paste its careers-board URL (for example https://boards.greenhouse.io/<name> or https://jobs.lever.co/<name>) or use ats:name.

More from locaihost data

Did it help?

If this saved you time, a quick rating on the Store helps other people find it.

Support

Something not working, or another job board you need? Open an issue on the Issues tab: we answer issues within 24 hours.