Remote Jobs Aggregator — RemoteOK + 6 Boards · Emails
Pricing
from $1.69 / 1,000 results
Remote Jobs Aggregator — RemoteOK + 6 Boards · Emails
One run = 2,000–3,000 unique live remote jobs from 7 boards — RemoteOK full-depth, WeWorkRemotely, Remotive, Himalayas, Jobicy, Arbeitnow, Relomote — deduplicated into one dataset with salary, geo eligibility, opt-in employer emails and relocation/visa jobs. $1.99/1K jobs. JSON or CSV.
Pricing
from $1.69 / 1,000 results
Rating
5.0
(2)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
411
Total users
165
Monthly active users
5 hours ago
Last modified
Share
Remote Jobs Aggregator — 7 Boards in One Dataset
Aggregate seven remote-job boards in a single run — RemoteOK (full 1,000+ board), WeWorkRemotely, Remotive, Himalayas, Jobicy, Arbeitnow, and Relomote — 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. Need on-site jobs that come with relocation or visa sponsorship? Add Relomote's relocation board as an opt-in eighth source. 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 seven remote 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. Seven 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, seven 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 | ✅ 7 (incl. WeWorkRemotely and Relomote) + opt-in relocation/visa board | ⚠️ 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 |
| Relomote | your share of maxItems (see below) | Remote rows only (hybrid dropped). Full descriptions, salary, category, real apply links, and the employer's website on rows with a logo |
| Relomote relocation (opt-in) | your share of maxItems | On-site jobs with relocation support and/or visa sponsorship; location is the destination. Not in the default run |
Pick any subset with the sources input — e.g. ["remoteok", "weworkremotely"] for just the two big independent boards, or ["relomote_relocation"] for relocation and visa-sponsorship jobs only.
Relomote lists hundreds of thousands of jobs, and each one needs its own page request, so the actor reads only as many as your run can use: about 1.5× your per-board share of maxItems (for example 43 rows when maxItems is 200 across seven boards), freshest first, with your filters applied while it reads. It stops after 3,000 Relomote pages per run however strict the filters are.
🎯 Use cases
- Job boards & newsletters — one scheduled run mirrors seven 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. - Relocation & visa leads —
relomote_relocationlists employers that pay to move people or sponsor visas, withrelocationOfferedandvisaSponsorshipflags. - 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 seven remote 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"]}
Jobs in Germany that offer relocation or visa sponsorship:
{"sources": ["relomote_relocation"],"countries": ["DE"]}
Input configuration
| Field | Type | Default | Notes |
|---|---|---|---|
sources | array | all seven remote boards | Any subset of remoteok, weworkremotely, remotive, himalayas, jobicy, arbeitnow, relomote, plus opt-in relomote_relocation |
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. For relocation jobs it matches the destination country |
jobTypes | array | [] | FULL_TIME, CONTRACT, … |
minSalary | integer | 0 | USD/year, permissive (unlisted salaries kept); hourly and monthly ranges are annualized |
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; $0.05 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 - Work setup (Relomote rows,
nullon other boards):workArrangement(remote),relocationOffered,visaSponsorship(relocation board)
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","workArrangement": null,"relocationOffered": null,"visaSponsorship": null,"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.
🆓 Free Apify plan
On the free Apify plan, the first 3 jobs of each run come back in full, so you can check the data. After that, rows keep the title, company, logo, location, source, dates, work arrangement, employment type, level, tags and the link to the listing, while the description, salary, apply URL, company website, visa and relocation flags, applicant countries and cross-board matches are left empty, and the row carries a freePlanNote. Contact emails from the email add-on stay visible. Any paid Apify plan returns every field.
❓ FAQ
How many jobs will I get?
With all seven remote 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 → Relomote → Remotive → Jobicy → Arbeitnow → Relomote relocation), every other appearance is recorded in alsoFoundOn, and missing fields (salary, website, longer description, work arrangement, relocation/visa flags) 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.
What is the difference between relomote and relomote_relocation?
relomote is Relomote's remote board, and the actor keeps only the fully remote roles from it (its hybrid roles are dropped). relomote_relocation is Relomote's separate board of on-site jobs where the employer offers relocation support and/or visa sponsorship. Those are not remote jobs, so they only appear when you add relomote_relocation to sources.
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). $0.05 per email found, never charged 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 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, Arbeitnow, or Relomote. 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, relomote scraper, relocation jobs data, visa sponsorship jobs, 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