Job Search Scraper: 25,500+ Company Career Sites
▶ Run it on Apify: no install, no login to any data source. Apify’s free plan includes monthly credit, enough for small runs.
Type a job title and get matching open jobs from 25,500+ companies at once, straight from their official career sites. You do not need a list of companies: the Actor searches its directory of companies that hire on Ashby (3,236), BambooHR (3,732), Breezy HR (348), Greenhouse (4,757), Jobvite (345), Lever (572), Oracle Cloud HCM (1,248), Personio (2,141), Pinpoint (100), Recruitee (1,290), Rippling (1,268), SmartRecruiters (1,297), Teamtailor (1,151), Workable (220), Workday (3,953).
- 🔎 One search, thousands of career sites: startups, scale-ups and enterprises in tech, finance, health, retail and more.
- 💰 Salary ranges parsed into numbers when the company publishes them.
- 🔔 Daily job alerts: save your search as a task, schedule it daily and turn on Only new jobs: each run returns just the jobs posted since the last one, straight to Slack, email, Google Sheets or a webhook.
- 📅 Only fresh jobs: keep jobs posted in the last day, week or month with Posted within (days).
- 🌍 Location and remote filters, experience level, employment type, minimum salary and words in the description.
- 🛂 Visa sponsorship filter: keep only jobs whose description says the company sponsors visas (H-1B, work permits). Every job carries a
visaSponsorshipfield: true, false or null when the posting does not say. - 🟧 Y Combinator filter: search only YC startups; every YC company’s jobs carry its batch (
ycBatch, e.g. W24). - 🧹 Merge duplicate titles: one job per opening even when a company posts it once per city.
- 🎯 Companies output for lead generation: switch Output to Companies and get one row per company hiring for your role, with its careers page, number of matching and remote jobs, titles, locations, salary range and newest posting date.
- 🔔 Monitoring mode: schedule it daily and receive only jobs you have not seen before.
- ⚡ Fresh and fast: job titles are indexed daily, then every matching job is fetched live from the company’s career site, so you get current details and closed jobs drop out.
- 💵 $3.00 per 1,000 jobs plus a small fee per run that covers scanning the directory.
Who uses it
- Job seekers and career coaches building a personal job alert for a role.
- Job boards and newsletters that publish curated openings (remote jobs, AI jobs, design jobs…).
- Recruiters and sourcers mapping which companies hire for a role right now.
- Sales teams looking for companies that are hiring for a function they sell to.
- Analysts tracking hiring demand and salaries by role.
How to use it
- Enter one or more job title keywords (for example
data engineer,machine learning,account executive). - Optionally narrow it down: locations (or locations to exclude), remote only, posted within N days, experience level (intern, junior, senior…), employment type, minimum salary, words in the description, visa sponsorship, or only some companies or ATS.
- Click Start. For a daily alert, turn on Only new jobs and add a schedule.
Example input
{
"keywords": ["data engineer", "analytics engineer"],
"locations": ["Remote", "New York"],
"excludeKeywords": ["intern"],
"postedWithinDays": 7,
"onlyNewJobs": true
}
Output
Each job has the same clean schema as our other job scrapers: company, title, department, location, workplace type (remote/hybrid/on-site), employment type, seniority, salary min/max/currency/period, visa sponsorship, posting date, URL and description. The SUMMARY record lists how many companies were scanned and which ones matched.
Pricing
$3.00 per 1,000 jobs saved plus about $0.01 per run for scanning the directory. Use Max jobs to cap the cost of a run. In the Companies output (lead lists), each hiring company costs $0.01 more, because one record bundles every matching role, the careers page and the salary range.
FAQ
Is this an alternative to a LinkedIn or Indeed jobs scraper? Yes, and a safer one. Most jobs you see on LinkedIn and Indeed are first published on the employer’s own career site (Greenhouse, Lever, Workday and the other ATS this Actor reads), so you get the same openings from the original source, usually earlier and with the full description, salary range and direct apply link. No LinkedIn or Indeed account, cookies, proxies or login are needed, nothing is scraped from those sites, and there are no blocked runs or duplicated reposts. This Actor is not affiliated with LinkedIn or Indeed.
How does it find companies? It keeps a directory of companies with an active public job board on each supported ATS, built from public sources and refreshed regularly (current directory: 25,658 companies).
How fresh are the results? Job titles across the directory are indexed every day, so the search runs in minutes instead of hours. Then every matching job is fetched live from the company’s own career site at run time: you get the current title, salary, description and apply link, and jobs that were closed since the last index are simply not returned. For brand-new jobs, schedule the Actor daily with Only new jobs turned on.
How long does a run take? A search across the full directory usually finishes in about 3 minutes; most of that time goes to downloading the details of the matching jobs. Use Max jobs in total for quick previews.
My target company is missing. Use the Career Site Jobs Scraper with the company’s careers URL, or open an issue and we will add it to the directory.
Is it legal? It reads public job postings that companies publish for anyone to see, through each ATS’s public job board endpoints. No login and no personal data.
Use it from your code, AI agents and automations
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("richiedc95/company-jobs-search").call(run_input={
"keywords": [
"data engineer"
],
"locations": [
"Remote"
],
"postedWithinDays": 1,
"onlyNewJobs": True
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
JavaScript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('richiedc95/company-jobs-search').call({
"keywords": [
"data engineer"
],
"locations": [
"Remote"
],
"postedWithinDays": 1,
"onlyNewJobs": true
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
- 🤖 AI agents (MCP): add the Apify MCP server to Claude, ChatGPT, Cursor or any MCP client and this Actor becomes a tool your agent can call.
- 🔗 No-code (n8n, Make, Zapier): one HTTP request runs the Actor and returns the results, so any automation tool can use it. In n8n, add an HTTP Request node with method
POST, URLhttps://api.apify.com/v2/acts/richiedc95~company-jobs-search/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>and the JSON input above as the body, then send the items to Slack, Google Sheets, email or a CRM. Put a Schedule node in front for daily alerts. Make and Zapier have official Apify apps (Run an Actor → Get dataset items). Ready-made n8n workflows (import from URL) and a step-by-step guide: n8n / Make / Zapier examples. - 📥 Exports: download every run as JSON, CSV, Excel, XML or RSS, or read it through the Apify API.
Get a fresh feed automatically (job boards, dashboards, alerts)
- Click Save as a new task with your input (turn on the monitoring option if the Actor has one, so each run returns only new jobs).
- Add a schedule to the task (hourly, daily or weekly) under Schedules.
- Read the latest results from one stable URL, in the format your tool expects:
https://api.apify.com/v2/actor-tasks/<TASK_ID>/runs/last/dataset/items?token=<YOUR_APIFY_TOKEN>&status=SUCCEEDED&format=csv
Use format=json, csv, xlsx, xml or rss. Job-board plugins and spreadsheets can import that URL directly.
Run it
- Open Job Search Scraper: 25,500+ Company Career Sites on Apify, fill the form and click Start, or call it from your code with one HTTP request.
- Results come as JSON, CSV or Excel, and can be scheduled daily.
Related data APIs
- Job Search API for AI Agents & MCP: 25,500+ Career Sites: Job search tool for AI agents (MCP) and apps: one free-text query, newest jobs first from 25,500+ companies’ own career sites (Greenhouse, Lever, Ashby, Workday…). Compact JSON with salary, remote, seniority and apply link.
- Remote Jobs Scraper: Work From Home Jobs from 25,500+ Companies: Remote and work-from-home jobs straight from 25,500+ companies’ own career sites (Greenhouse, Lever, Ashby, Workday and more): no reposts, salaries, apply links, daily new-job alerts. $3.00 per 1,000 jobs.
- Startup & Tech Jobs Scraper: 19,000+ Companies, YC Filter: Jobs at 19,000+ startups and tech companies, straight from their career sites (Ashby, Lever, Greenhouse and more). Filter to 950+ Y Combinator companies, by role, remote, salary or date. $3.00 per 1,000 jobs.
- Career Site Jobs Scraper & API (Any ATS): Get all open jobs from any company: paste a careers URL, domain or name. Auto-detects 15 ATS incl. Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Oracle and BambooHR. Salaries, remote/hybrid, descriptions, monitoring mode. $1.50 per 1,000 jobs.
- Greenhouse Jobs Scraper & API: Scrape all open jobs from any Greenhouse job board, or search all 4,500+ Greenhouse companies by job title. Salaries, remote/hybrid, departments, full descriptions, filters, new-job monitoring. $1.00 per 1,000 jobs.
- Lever Jobs Scraper & API: Scrape all open jobs from any Lever job board, or search all 500+ Lever companies by job title. Salaries, remote/hybrid, departments, full descriptions, filters, new-job monitoring. $1.00 per 1,000 jobs.
Job Data APIs: Company Career Sites, ATS Job Boards and Job Search · All data APIs