Remote Jobs Aggregator — 6 Boards [/w EMAILS💰]
Pricing
from $1.99 / 1,000 results
Remote Jobs Aggregator — 6 Boards [/w EMAILS💰]
One run = 2,000–3,000 unique live remote jobs from 6 boards — RemoteOK full-depth, WeWorkRemotely, Remotive, Himalayas, Jobicy, Arbeitnow — deduplicated into one clean dataset with salary, geo eligibility, and opt-in employer contact emails. $1.99/1K jobs. JSON or CSV out.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Share
Remote Jobs Aggregator — 6 Boards in One Dataset
Aggregate six remote-job boards in a single run — RemoteOK (full 1,000+ board), WeWorkRemotely, Remotive, Himalayas, Jobicy, and Arbeitnow — into one normalized, cross-board-deduplicated dataset: 2,000–3,000 unique live remote jobs with salary ranges, who-may-apply countries, full descriptions, and opt-in employer contact emails. Built for recruiters, job boards, researchers, and lead-gen teams who are tired of running five scrapers and merging CSVs by hand.

How it works
- Run with defaults — all six boards are fetched in parallel (pick any subset with the
sourcesinput). - Every job is normalized into one 30+ field schema; the same job posted on several boards collapses into one row (richest copy wins, the rest listed in
alsoFoundOn, missing fields backfilled across boards). - Filters (keyword, tags, countries, salary, job type, posting age) run before rows count toward
maxItems— you never pay for filtered-out rows. - Results are balanced round-robin across boards, freshest first, and exported as JSON, CSV, or Excel.
💰 $1.99 per 1,000 unique jobs. Six boards for roughly the price competitors charge for one.
✨ Why use this aggregator?
- RemoteOK at full depth. Most aggregators wrap RemoteOK's public API, which stops at the 100 newest jobs. This actor walks RemoteOK's complete live board — 1,000+ jobs — via the same feed its own infinite scroll uses.
- Real cross-board dedupe. Company+title matching collapses reposts into one row and records where else it appeared (
alsoFoundOn) — the only honest way to count "unique live remote jobs". - One schema, six boards. Salary ranges parsed to
{min, max, currency}, dates to ISO, employment types unified toFULL_TIME/CONTRACT/…, geo eligibility as oneapplicantCountries[]array — no per-board special-casing in your code. - Fault-tolerant by design. Boards are fetched independently; one being down is logged and skipped, never a failed run.
- Employer contact emails (opt-in).
enrichEmailsaddscontactEmail+contactWebsitediscovered from each hiring company's website — turning the merged feed into a lead list. - Balanced output. Round-robin across boards stops any single high-volume source from drowning the rest of your dataset.
What makes this richer than alternatives
| Capability | This actor | Typical remote-jobs aggregator |
|---|---|---|
| Boards | ✅ 6 (incl. WeWorkRemotely) | ⚠️ 3–4 easy APIs |
| RemoteOK depth | ✅ Full board (1,000+) | ❌ API's newest 100 |
| Cross-board dedupe | ✅ With alsoFoundOn + field backfill | ❌ Raw duplicates |
| Salary | ✅ Parsed {min, max, currency} | ⚠️ Raw strings |
| Geo eligibility | ✅ Unified applicantCountries[] | ⚠️ Per-board formats |
| Contact emails | ✅ Opt-in enrichment | ❌ |
| Filter billing | ✅ Filtered rows are free | ⚠️ Billed after scraping |
| Source balance | ✅ Round-robin | ❌ Whatever order boards return |
Supported boards
| Board | Coverage per run | Notes |
|---|---|---|
| RemoteOK | ~1,000+ (full live board) | 10× past its public API's 100-job cap; full descriptions recovered from the page |
| WeWorkRemotely | ~100 newest | Full ~8KB descriptions, region + skills tags |
| Himalayas | paginated walk | Salary, seniority, location + timezone restrictions, real apply links |
| Remotive | ~20 newest | Their public API's hard cap — verified |
| Jobicy | ~50 newest | Industry, level, salary fields |
| Arbeitnow | remote rows only | European lean; non-remote rows are dropped |
Pick any subset with the sources input — e.g. ["remoteok", "weworkremotely"] for just the two big independent boards.
🎯 Use cases
- Job boards & newsletters — one scheduled run mirrors six boards into your product, deduplicated and normalized.
- Recruiting & sourcing — every live listing for a skill or geography across the remote market, with employer emails on tap.
- Market research — salary distributions, tag frequency, and geo-eligibility trends across boards, not just one site's bias.
- Lead generation — each job is a company spending money on hiring right now;
contactEmailmakes them reachable. - Job alerts — schedule daily with
timeFilter: "24h"for a cross-board feed of only fresh postings.
Quick start
Everything, defaults — up to 2,000 unique jobs from all six boards:
{}
Senior engineering roles open to US applicants, posted this week, with emails:
{"searchKeyword": "senior engineer","countries": ["US"],"timeFilter": "7d","enrichEmails": true}
Just the two big independent boards:
{"sources": ["remoteok", "weworkremotely"]}
Input configuration
| Field | Type | Default | Notes |
|---|---|---|---|
sources | array | all six | Any subset of remoteok, weworkremotely, remotive, himalayas, jobicy, arbeitnow |
dedupe | boolean | true | Cross-board dedupe with alsoFoundOn + field backfill |
searchKeyword | string | "" | Matched over title + company + categories/industry + location; every word must match |
tagsFilter | array | [] | Any-of match over tags + categories |
countries | array | [] | Names or ISO-2; Anywhere jobs always pass |
jobTypes | array | [] | FULL_TIME, CONTRACT, … |
minSalary | integer | 0 | USD/year, permissive (unlisted salaries kept) |
timeFilter | select | "" | 24h / 7d / 30d / 90d |
includeDescription | boolean | true | Off = drop description fields |
cleanHtml | boolean | false | On = plain-text description only |
enrichEmails | boolean | false | Opt-in employer email discovery; billed per email found |
maxItems | integer | 2000 | Filtered-out rows never count |
Output overview
One dataset row per unique job, 30+ fields:
- Identity:
source,sourceJobId,url,applyUrl,alsoFoundOn[] - Job:
title,description(+descriptionHtml,descriptionText),tags[],categories[],jobLevel,industry,employmentType[] - Company:
companyName,companyLogo,companyWebsite, opt-incontactEmail/contactWebsite/emailEnrichment - Geography:
applicantCountries[],location - Compensation:
salary { currency, min, max, unit },salaryText - Timing:
postedDate,validThrough,scrapedAt
Sample row (real smoke-test data, truncated)
{"type": "job","source": "remoteok","sourceJobId": "1128869","url": "https://remoteok.com/remote-jobs/remote-senior-software-engineer-stellar-ai-1128869","applyUrl": "https://remoteok.com/l/1128869","title": "Senior Software Engineer","companyName": "Stellar AI","companyLogo": "https://r2.remoteok.com/jobs/….jpg","companyWebsite": null,"description": "… full posting text, 2,221 chars …","tags": ["developer", "ai"],"categories": ["Senior Software Engineer"],"jobLevel": null,"industry": "Startups","employmentType": ["FULL_TIME"],"applicantCountries": ["United Kingdom", "Australia", "New Zealand"],"location": "United Kingdom, Australia, New Zealand","salary": { "currency": "USD", "min": 90000, "max": 130000, "unit": "YEAR" },"salaryText": null,"postedDate": "2026-07-25T11:02:13.000Z","validThrough": "2026-10-23T11:02:13.000Z","alsoFoundOn": [{ "source": "himalayas", "url": "https://himalayas.app/companies/stellar-ai/jobs/…" }],"scrapedAt": "2026-08-12T04:44:19.102Z"}
With enrichEmails: true, matching rows additionally carry contactEmail, contactWebsite, and a detailed emailEnrichment object.
❓ FAQ
How many jobs will I get?
With all six boards and no filters, typically 2,000–3,000 unique jobs after dedupe. maxItems caps the run; filtered-out rows never count toward it.
How does deduplication work?
Case-insensitive company+title matching across boards. The copy from the richest source is kept (RemoteOK → WeWorkRemotely → Himalayas → Remotive → Jobicy → Arbeitnow), every other appearance is recorded in alsoFoundOn, and missing fields (salary, website, longer description) are backfilled from the duplicates. Set dedupe: false to keep every board's copy.
Why does RemoteOK contribute so many more jobs than Remotive? Board reality: this actor walks RemoteOK's full live board (1,000+), while Remotive's public API is hard-capped at its ~20 newest jobs (verified — the limit and category parameters don't lift it). Each board contributes what it actually exposes.
Is one board being down a failed run? No — every board is fetched independently. A failing board is logged in the run stats and the rest continue.
Why round-robin instead of newest-first? Some boards refresh timestamps aggressively; a global newest-first cap would fill your entire dataset from one source. Round-robin keeps every selected board represented, freshest first within each.
Is enrichEmails guaranteed to find an email?
No — it is best-effort discovery from the employer's website (seeded by companyWebsite when a board exposes it, otherwise name-based lookup with a business-precision guard). Billed per email found, never for misses.
Can I schedule it?
Yes — any Apify schedule. For a daily cross-board digest, set timeFilter: "24h" and schedule every morning.
Support
- 🐛 Issues tab of this actor — the fastest way to reach me, usually answered within hours.
- 💬 Feature requests welcome: more boards, filters, or output fields ship on demand.
Additional Services
- Custom scrapers for any job board, directory, or listing site — delivered as private Apify actors.
- Managed data feeds — scheduled runs, deduplication, delivery to your warehouse (BigQuery, Postgres, S3, Google Sheets).
- Email enrichment at scale across any of my actors.
Open an issue on this actor or message via my Apify profile to discuss.
Explore More Scrapers
Single-board actors, same schema philosophy and support:
- RemoteOK Jobs Scraper — the full-depth RemoteOK source, standalone.
- WeWorkRemotely Jobs Scraper — WWR with country-eligibility arrays.
- Wellfound Jobs Scraper — startup jobs with funding context.
- Glassdoor Scraper — jobs + salaries + reviews.
- Naukri Scraper — India's largest job market.
Browse the full catalog: apify.com/memo23
🤖 For AI Agents & LLM Apps
- Stable unified schema — every field always present (null/[] when unavailable), identical across all six boards, so tool-calling code never branches per source.
- MCP-ready — callable through Apify's MCP server; a minimal call is
{ "searchKeyword": "python", "maxItems": 20 }. - Token-friendly modes —
cleanHtml: truefor plain-text descriptions,includeDescription: falsefor compact metadata-only rows. - Deterministic — exact client-side filtering and stable dedupe rules; same inputs, same selection logic.
- Cheap in loops — filtered queries bill only matching rows, so agents can iterate freely.
⚠️ Disclaimer
This actor is an independent tool, not affiliated with, endorsed by, or sponsored by Remote OK, WeWorkRemotely, Remotive, Himalayas, Jobicy, or Arbeitnow. It accesses only publicly available data — public pages, feeds, and APIs each board exposes to any visitor — and does not bypass authentication, paywalls, or access controls. You are responsible for how you use the data: comply with applicable laws (GDPR/CCPA where relevant), respect each board's terms of service, and attribute sources where their data guidelines require it. Job data comes from live sites and can change or contain employer-supplied errors; verify before making decisions based on it.
SEO Keywords
remote jobs aggregator, remote jobs scraper, remote job listings data, remoteok scraper, weworkremotely scraper, remotive api, himalayas jobs api, jobicy scraper, arbeitnow api, remote jobs dataset, remote job leads with emails, remote hiring companies, remote jobs json csv export, multi board job scraper, remote work data, digital nomad jobs data
License
Apache-2.0