JobsRadar: search every company job board at once avatar

JobsRadar: search every company job board at once

Pricing

from $0.90 / 1,000 job posting returneds

Go to Apify Store
JobsRadar: search every company job board at once

JobsRadar: search every company job board at once

Search open roles across Greenhouse, Lever, Ashby and Workable job boards in one run. Deduplicated and normalized, with filters on title, location, remote and date.

Pricing

from $0.90 / 1,000 job posting returneds

Rating

0.0

(0)

Developer

AgentToolWorks

AgentToolWorks

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 minutes ago

Last modified

Categories

Share

What is JobsRadar?

JobsRadar is a job board scraper for company career pages. Every company runs its own job board on an applicant tracking system (ATS). JobsRadar searches Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Personio and Pinpoint at once and gives you back one deduplicated, normalized list of open roles, with filters on title, location, remote and posting date.

It reads the official public job board APIs and feeds these platforms publish so employers can distribute their openings: no login, no cookies, and apply links that point at the employer's own page.

JobsRadar: seven applicant tracking systems in, one deduplicated list of open roles out, from a real run

What data can you extract from company job boards?

One row per open role, with the same fields whichever board it came from:

FieldExampleNotes
idgreenhouse:stripe:8224915Stable across runs: provider, board and the board's own job id
titleMachine Learning Engineer, Growth Platform
companyStripe
locationSan FranciscoAs the employer published it
remotefalseOnly true when the board itself marks the role remote
departmentEngineeringWhen the board publishes one
postedAt2026-09-28T11:58:13-04:00ISO date. Empty for Pinpoint, which publishes none
applyUrlhttps://stripe.com/jobs/search?gh_jid=8224915The employer's own application page
providergreenhouseWhich ATS the role came from

What can you use job posting data for?

  • Recruiting and talent mapping: watch hiring at a list of competitors and see which teams are growing.
  • Sales prospecting: companies hiring for a role are often buying the tools that role uses.
  • Job search apps and AI agents: one source that covers many employers, instead of one scraper per careers site.
  • Labor market research: track demand for a skill or a title across a sector over time.
  • Job alerts: schedule a run with postedAfter and get only new roles.

How to scrape jobs from Greenhouse, Lever, Ashby and more

  1. Click Try for free (or Start) on this page and sign in to Apify.
  2. Type the titles you care about in Title keywords, for example data engineer.
  3. Pick companies from the built-in directory in Companies, or add any company's board in Board slugs (see Input for where to find a slug). Leave both empty to search the whole directory of 116 companies.
  4. Optionally filter on Location, Remote only or Posted after, and set Max results.
  5. Click Start. Open the Output tab when the run finishes and export as JSON, CSV, Excel or XML, or read it through the API.

The JobsRadar input form in Apify Console: title keywords, companies, board slugs and filters

Input

FieldWhat it does
titleKeywordsKeep roles whose title contains any of these, for example ["data engineer", "machine learning"]. Empty keeps every role.
companiesNames from the built-in directory, for example ["Stripe", "Hugging Face", "Bosch"]. Empty searches all 116.
boardSlugsAny company's board, by the slug in its careers page URL: [{ "slug": "acme" }]. The ATS is detected for you; add "provider" to skip detection and "company" to set the name shown in results.
locationKeep roles whose published location contains this text, for example London or Germany.
remoteOnlyKeep only roles the board itself marks remote, rather than guessing from the location.
postedAfterISO date, for example 2026-09-01. Roles published without a date are kept rather than hidden.
maxResultsUpper bound on returned postings (default 200, up to 5,000). You pay per posting returned.

Where to find a board slug:

ATSCareers page URLSlug
Greenhouseboards.greenhouse.io/acmeacme
Leverjobs.lever.co/acmeacme
Ashbyjobs.ashbyhq.com/acmeacme
SmartRecruitersjobs.smartrecruiters.com/AcmeAcme
Workableapply.workable.com/acmeacme
Personioacme.jobs.personio.deacme
Pinpointacme.pinpointhq.comacme

Example: remote engineering roles at two directory companies and one company tracked by its slug.

{
"titleKeywords": ["engineer"],
"companies": ["Stripe", "Hugging Face"],
"boardSlugs": [{ "slug": "anthropic", "provider": "greenhouse", "company": "Anthropic" }],
"remoteOnly": true,
"postedAfter": "2026-09-01",
"maxResults": 500
}

Output

Output of a real JobsRadar run in Apify Console: title, company, location, remote, department, date, apply link and provider

A row from a real run:

{
"id": "lever:spotify:638f1177-8a2b-4b43-9363-c7056b8ef929",
"title": "Machine Learning Engineering Manager - Music",
"company": "Spotify",
"location": "New York, NY",
"remote": true,
"department": "Engineering",
"postedAt": "2026-09-29T17:35:39.422Z",
"applyUrl": "https://jobs.lever.co/spotify/638f1177-8a2b-4b43-9363-c7056b8ef929",
"provider": "lever"
}

The run's key-value store also holds a SUMMARY record, so a board that failed never silently shrinks your results:

{
"boardsSearched": 7,
"boardsFailed": [],
"boardsTruncated": [],
"postingsSeen": 6007,
"duplicatesRemoved": 713,
"returned": 52,
"chargeLimitReached": false
}

boardsFailed names each board that did not answer, with the reason. boardsTruncated names a board read in part, with how many postings it has in total.

How much does it cost to scrape job postings?

Pay per event, no subscription, platform usage included:

EventPrice
Posting returned$0.90 per 1,000 postings ($0.0009 each)
Run start$0.00005

Examples:

  • 200 postings (the default maximum): $0.18.
  • Apify's free plan includes $5 of monthly usage (apify.com/pricing), enough for about 5,500 postings a month.
  • A run whose filters match nothing costs only the start fee: postings that do not match your filters are read but never charged.

Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached.

Use JobsRadar through the Apify API

Run it and get the postings in one HTTP call (your token is in Apify Console under Settings > API & Integrations):

curl -X POST "https://api.apify.com/v2/acts/agenttoolworks~jobsradar-multi-board-job-search/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"titleKeywords": ["data engineer"], "companies": ["Stripe", "Spotify"], "maxResults": 100}'

Node.js, with the official apify-client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('agenttoolworks/jobsradar-multi-board-job-search').call({
titleKeywords: ['data engineer'],
location: 'Berlin',
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const job of items) console.log(job.company, job.title, job.applyUrl);

Python, with the official apify-client:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("agenttoolworks/jobsradar-multi-board-job-search").call(
run_input={"titleKeywords": ["data engineer"], "remoteOnly": True, "maxResults": 100}
)
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["company"], job["title"], job["applyUrl"])

The API tab on this page has ready-made snippets for every language and endpoint.

FAQ

Which companies are in the built-in directory?

116 companies across the seven systems. Type any of these names in Companies: 1KOMMA5°, Accor, Affirm, Airbyte, Airtable, Algolia, Amplitude, Anthropic, Asana, AssemblyAI, Blueground, BMT, Bosch, Brex, Calendly, Canva, CERN, CFC, Chainguard, CLARK, ClickHouse, Cloudflare, Cockroach Labs, Coinbase, Contentful, Databricks, Datadog, Delivery Hero, Discord, Duolingo, Elastic, Epignosis, ESSS, Experian, Fastly, Figma, Fivetran, Future plc, getquin, GitLab, GoCardless, Grasshopper Bank, Gusto, Hex, HOLOPLOT, Hugging Face, idealworks, IFS, Impulse Space, inMusic, Instacart, Intercom, Intigriti, Lattice, LearnWorlds, Linear, LinkedIn, Lyft, Marqeta, Mercury, meteocontrol, Miro, Mixpanel, Modal, MongoDB, Monzo, Neon, Netlify, Nielsen, Nothing, Notion, Okta, Orfium, ottonova, Oura, Patreon, Penta, Persado, PETER PARK, Pinpoint, Pinterest, PlanetScale, PostHog, Princess Cruises, Qonto, Ramp, Ravelin, Redis, Reverion, Robinhood, Rowden, Scale AI, Secureframe, Semgrep, Sentry, ServiceNow, Skroutz, Sodexo, Spotify, Stripe, Supabase, Swile, tado, Tailscale, Temporal, Thermondo, TP-Link Systems, Ubisoft, Unmind, Vanta, Vercel, Vivid Money, Webflow, Western Digital, Wise, Zapier.

Any other company works through Board slugs.

How do I get only new jobs every day?

Save your input as a task, set Posted after to a recent date, and schedule the task daily in Schedules. Use the stable id field to skip roles you have already seen.

How fast is it?

A run over the whole directory (116 boards) read 19,439 postings in 81 seconds and returned the 4,874 whose title contained "engineer". A handful of companies takes a few seconds.

Does it include jobs from aggregators like LinkedIn Jobs or Indeed?

No, by design. JobsRadar reads employers' own job boards, which is where roles are published first and where the apply link leads.

How large a board can it read?

SmartRecruiters boards are read 100 postings a page, up to 5,000 postings a board. A larger board is listed in boardsTruncated with its full count, never cut silently. The other systems return the whole board in one response.

Why is postedAt empty for some roles?

Pinpoint publishes no posting date, so it stays empty rather than guessed. Those roles are kept when you filter on Posted after.

Can I use it with Make, Zapier, n8n or Google Sheets?

Yes, through Apify's integrations: the dataset works with every Apify integration, and a webhook can fire when a run finishes.

Can AI agents use it through MCP?

Yes, two ways. Apify's hosted MCP server exposes it to MCP clients such as Claude or Cursor: https://mcp.apify.com?tools=agenttoolworks/jobsradar-multi-board-job-search. JobsRadar is also a hosted MCP server and API of its own, billed per search rather than per posting, at agenttoolworks.com/servers/jobsradar.

JobsRadar reads only the role listings employers chose to publish, through the public job board APIs the platforms document for career sites. It collects no candidate data.

Something is missing or broken?

Open an issue in the Issues tab. Companies asked for by users get added to the directory.

Other Actors by AgentToolWorks

  • Store Catalog & Price Tracker: every product of any Shopify or WooCommerce store, with variants, barcodes and stock, plus price and stock change tracking.

Built by AgentToolWorks. Not affiliated with any of the job board platforms named here.