All Jobs Scraper — 19 Job Boards in One
Pricing
from $1.20 / 1,000 job results
All Jobs Scraper — 19 Job Boards in One
19 job boards behind one endpoint, no API keys: LinkedIn, AI Jobs, Built In, remote boards, Hacker News, YC, WTTJ, JustJoin.IT, No Fluff Jobs, InfoJobs, Tecnoempleo, EURES, EURAXESS, jobs.ac.uk, Ikerbasque, UN Careers, ReliefWeb, Impactpool and more. One merged, deduped dataset.
All Jobs Scraper - 19 Job Boards in One
One call for live job data across the whole market. This bundle scrapes 19 job boards inside one Actor run, merges their results, dedupes within the run by normalized identity and URL, and returns one canonical six-root dataset.
Claude / Codex skill to describe and setup this actor: SKILL.md
This is an unofficial scraper bundle. It is not affiliated with LinkedIn, Hacker News, Y Combinator, EURES, EURAXESS, the United Nations, or any other listed board or employer.
Sources included
| Source key | Coverage |
|---|---|
linkedin | LinkedIn public job search |
ai_jobs_net | AI, ML and data jobs |
builtin | US tech and startup jobs from Built In |
remote_boards | RemoteOK, Remotive, WeWorkRemotely and Himalayas |
hackernews | Hacker News Who Is Hiring |
ycombinator_was | Y Combinator Work at a Startup |
wttj | Welcome to the Jungle (France/EU tech) |
justjoinit | JustJoin.IT (Poland/EU tech) |
nofluffjobs | No Fluff Jobs (Poland/EU tech) |
infojobs | InfoJobs (Spain) |
tecnoempleo | Tecnoempleo (Spain tech) |
eures | EURES - the EU-wide public job portal |
euraxess | EURAXESS research and academic positions |
jobs_ac_uk | jobs.ac.uk (UK academic and research) |
ikerbasque | Ikerbasque research positions (Basque Country) |
math_ku_phd | University of Copenhagen mathematics PhD calls |
un_careers | United Nations careers |
reliefweb | ReliefWeb humanitarian jobs |
impactpool | Impactpool international-development jobs |
No API keys are needed for any source — every board is scraped without bring-your-own-key requirements.
Company ATS Actors like Greenhouse, Lever, Ashby and Workable are not included because they require buyer-supplied company lists. Wellfound and Academic Positions are excluded because they need full-browser anti-bot sessions that do not fit this bundle's lightweight in-process design.
How the bundle works
This is a bundle Actor. Every selected source runs inside this Actor — no separate child runs or stacked fees. EURAXESS uses its lifecycle-free fleet-v2 adapter; legacy collectors are conservatively mapped and validated at the outer boundary. Source failures are isolated and recorded in RUN-SUMMARY.
Use sources to run a cheaper subset, keyword to filter sources that support free-text search, and location to focus location-aware sources (LinkedIn, AI Jobs, UN Careers, Impactpool); leave it empty for worldwide results.
Local integration status
The fleet-v2 bundle described here is a local, unreleased mixed-fleet integration. These files are not evidence that the Store Actor has been deployed or migrated. Dedupe is limited to records in the current run; cross-run inventory and dedupe remain disabled and deferred.
The shared runtime is installed from the checked-in
nomad-job-scraper-core==1.1.22 wheel, whose exact SHA-256 is pinned in
requirements.lock; no Actor-local core source copy is shipped.
Input example
{"keyword": "software engineer","maxItemsPerSource": 10,"maxItems": 50}
Output fields
Breaking fleet-v2 output: every dataset item uses the canonical six-root
nomad-agent-job-v1 contract. Flat rows and diagnostic pseudo-jobs are not
emitted.
Abbreviated root layout (actual data objects contain every canonical field):
{"schemaVersion": "nomad-agent-job-v1","identity": {"source": "linkedin", "externalId": "123456", "url": "https://example.com/job/123456"},"data": {"title": "Software Engineer", "company": {"name": "Example Inc."}},"custom": null,"llm": {"status": "not_requested", "requestedFields": [], "filledFields": [], "provider": null, "model": null, "promptVersion": null, "completedAt": null},"raw": {"description": "Complete posting body...", "descriptionHtml": null}}
Unknown fields are null; empty arrays are used only for source-established
emptiness. Run status and per-source counters are persisted as RUN-SUMMARY.
Python client
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("nomad-agent/all-jobs-scraper").call(run_input={"keyword": "engineer","maxItems": 50,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(len(items), items[:1])
cURL
curl -X POST \"https://api.apify.com/v2/acts/nomad-agent~all-jobs-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"keyword":"engineer","maxItems":50}'
Cost note
You pay only this bundle's pay-per-event pricing: one actor-start per run plus one result event per unique job delivered. All 19 sources are scraped in-process — there are no additional child-actor charges and no API keys to buy. Use sources, maxItemsPerSource and maxItems to control spend, and a "Maximum cost per run" limit is honored (the run stops delivering at the cap).
From the maker of Oink — an open-source, AI-powered job-search bot for Telegram that runs on these Actors. Try the free bot, get a managed instance at oinkjobsearch.com, or browse the full catalog of 50+ Actors.