Remote Jobs Scraper - 7 Boards, Salaries & Leads
Pricing
from $4.00 / 1,000 remote job listings
Remote Jobs Scraper - 7 Boards, Salaries & Leads
Aggregate remote jobs from RemoteOK, Remotive, WeWorkRemotely, Himalayas, Jobicy, Arbeitnow & Working Nomads in one run: salary, skills, location, full description & apply link. Filter by keyword, salary & date. Company leads + monitoring for new jobs. JSON, CSV, Excel.
Pricing
from $4.00 / 1,000 remote job listings
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Remote Jobs Scraper — 7 Boards in One Run (Salaries, Skills & Company Leads)
Aggregate remote job listings from the 7 biggest remote job boards in a single run — RemoteOK, Remotive, WeWorkRemotely, Himalayas, Jobicy, Arbeitnow and Working Nomads — normalized into one clean dataset with salaries, skills, candidate-location & timezone restrictions, full descriptions and apply links. Optionally turn every hiring company into a ready-to-contact B2B lead (website, emails, phone, socials) and run it on a schedule to capture only newly posted jobs.
No login, no API key, no browser — fast JSON extraction from public endpoints with high reliability. Every source is keyless and the actor keeps running even if one board is temporarily unavailable.
Why this remote jobs scraper?
Most remote-job scrapers cover a single board and return a thin row. This actor merges seven boards, de-duplicates the same role re-posted across them, and ships the richest, most complete remote-jobs dataset in the category — with structured salary, normalized job type, skills, and the company-lead layer no single-board scraper has.
| Data | Single-board scrapers | This actor |
|---|---|---|
| Boards covered in one run | 1 | ✅ 7 (RemoteOK, Remotive, WeWorkRemotely, Himalayas, Jobicy, Arbeitnow, Working Nomads) |
| Structured salary (min/max/currency/period) | ❌ rarely | ✅ parsed even from free-text salary strings |
| Skills / tags | partial | ✅ |
| Candidate-location & timezone restrictions | ❌ | ✅ |
| Normalized job type (full-time/contract/intern…) | ❌ | ✅ |
| Full job description (clean text + optional HTML) | partial | ✅ |
| Cross-board de-duplication | ❌ | ✅ |
| Hiring-company leads (website, emails, phone, socials, lead score) | ❌ | ✅ opt-in |
| Monitor mode — only new jobs | ❌ | ✅ |
| Filter by keyword, category, location, salary, date | partial | ✅ |
Use cases
- Job boards & aggregators — power your own remote-work board, newsletter, Slack/Telegram channel or app with fresh, structured listings from seven sources at once.
- Lead generation — companies hiring remotely are buying: ATS/HR tools, dev agencies, recruiters, relocation/PEO/payroll, coworking and SaaS. Score them by hiring volume and reach them directly with
enrichCompanyContacts(emails,phone,website,socialLinks,leadScore). - Recruiting & sourcing — track new roles by stack (
python,react,golang), seniority and region; spot which companies are scaling. - Market & salary intelligence — analyze remote salary ranges, in-demand skills, and hiring trends by category and candidate region.
- Job alerts — schedule the actor with monitor mode to push only newly posted jobs into a CRM, sheet, or chat.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Remote Jobs Scraper, add search keywords (or leave empty for the latest jobs), pick boards/filters, and click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"searchQueries": ["python", "react"],"sources": ["remoteok", "remotive", "weworkremotely", "himalayas", "jobicy", "arbeitnow", "workingnomads"],"candidateLocation": ["USA", "Worldwide"],"jobType": "full-time","salaryMin": 80000,"postedWithinDays": 7,"outputType": "all","maxItems": 300,"enrichCompanyContacts": true}
- searchQueries — keywords matched against title, company, skills and description (ANY match). Leave empty to pull the latest remote jobs from every selected board.
- sources — which boards to aggregate (
remoteok,remotive,weworkremotely,himalayas,jobicy,arbeitnow,workingnomads). Empty = all 7. - categories — filter by category/industry/tags (
software development,marketing,design,customer support,sales,data, …). - candidateLocation — filter by where candidates may be based (
USA,Europe,United Kingdom,LATAM,Worldwide). Worldwide/Anywhere jobs always pass. - companyNames — keep only jobs from specific employers.
- jobType / seniority / salaryMin / postedWithinDays — narrow the results.
salaryMinkeeps only jobs whose published salary clears the floor. - outputType (default
jobs) —jobs,companies(deduplicated hiring-company leads), orall. - maxItems / maxItemsPerSource — output cap, and how many to pull per board before filtering (raise it for narrow keyword searches).
- includeDescriptionHtml (default false) — also keep the raw HTML description.
- deduplicateAcrossSources (default true) — drop the same role when it appears on more than one board.
- enrichCompanyContacts (default false) — derive each company's website from the job links/apply URL and crawl it (home + contact/about) for emails, phone and socials, then assign a 0–100 lead score. Job boards never expose company emails — this is the only way to get them.
- monitorMode / monitorKey — output only jobs not seen in previous runs (see below).
Output
By default you get one clean, dense table of remote jobs (type: "job"). Set outputType to companies for deduplicated hiring-company leads (type: "company"), or all for both.
A job record:
{"type": "job","source": "remotive","sourceLabel": "Remotive","id": "remotive:2090991","title": "Senior Python Engineer","company": "Quinncia Inc","companyLogo": "https://remotive.com/job/2090991/logo","url": "https://remotive.com/remote-jobs/software-development/senior-python-engineer-2090991","applyUrl": "https://remotive.com/remote-jobs/software-development/senior-python-engineer-2090991","category": "Software Development","categories": ["Software Development"],"tags": ["python", "django", "graphql", "react", "aws"],"jobType": "Full-time","seniority": "Senior","isRemote": true,"candidateLocation": "USA","locationRestrictions": ["USA"],"timezoneRestrictions": [-8, -7, -6, -5],"salaryMin": 120000,"salaryMax": 160000,"salaryCurrency": "USD","salaryPeriod": "yearly","salaryLabel": "USD 120k–160k/year","description": "We are looking for a Senior Python Engineer to…","publishedAt": "2026-06-16T06:59:30.000Z","scrapedAt": "2026-06-17T12:00:00.000Z"}
A company lead record (type: "company") carries company, companyLogo, jobCount, the sources it posts on, topTags, sampleJobTitles, and — with enrichCompanyContacts — website, domain, emails, phones, socialLinks and a 0–100 leadScore.
What to expect (field coverage)
These are aggregated, organizer-entered listings, so some fields are present only when the company published them. A blank field means the source didn't provide it — nothing is dropped, so you always get the richest record available.
| Field group | Coverage |
|---|---|
| title, company, url, apply link, source, posting date | ~100% |
| skills/tags, category, candidate location | usually present |
| structured salary | when the board or salary text publishes it (strongest on Himalayas, Jobicy, RemoteOK, Remotive) |
| timezone restrictions, seniority | Himalayas / Jobicy |
| company emails & phone | with enrichCompanyContacts, when the company's website lists them |
Monitor only new jobs
Turn on monitorMode and the actor remembers job ids across runs (in a named key-value store) and outputs only jobs it hasn't seen before — ideal for alerts and incremental syncs. It works alongside Apify Schedules: the schedule decides when to run, monitor mode decides what's new. Use a distinct monitorKey per saved search so separate monitors keep independent memory.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it hourly/daily to capture new remote jobs the moment they post; pair with monitor mode for clean new-only output.
- Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/remote-jobs-scraper').call({searchQueries: ['python'],candidateLocation: ['USA'],monitorMode: true,monitorKey: 'python-usa',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} new remote jobs`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new jobs or company leads straight into your CRM.
- Slack — get notified when a monitored search finds new jobs.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find new remote Python jobs in the US over $120k and list the hiring companies' contacts" and let it run this scraper for you.
More scrapers from scrapesage
Build a complete jobs & hiring-intelligence stack:
- Multi-ATS Job Scraper — jobs from Greenhouse, Lever, Ashby, SmartRecruiters & Workday company boards.
- LinkedIn Jobs Scraper — LinkedIn job postings as hiring-intent signals.
- Seek Job Scraper — Australia & New Zealand jobs, salaries & company leads.
- BuiltIn Jobs Scraper — US tech & startup jobs.
- Y Combinator Scraper — YC startups and their open roles.
- GitHub Scraper — developers and open-source projects (great for technical sourcing).
- Website Contact Scraper — emails, phones & socials from any list of company domains.
- Levels.fyi Scraper — tech salaries & compensation benchmarks.
Tips
- Narrow keyword searches: raise
maxItemsPerSourceso each board returns enough candidates before filtering. - Company leads: turn on
enrichCompanyContactsand sort byleadScoreto prioritize the companies with reachable contacts and the most open roles. - Recurring monitoring: combine Schedules +
monitorMode+postedWithinDaysfor a clean daily new-jobs feed. - Proxies: the default Apify proxy works for all sources; switch to Residential if RemoteOK or WeWorkRemotely get rate-limited from datacenter IPs.
FAQ
Which job boards does it cover? RemoteOK, Remotive, WeWorkRemotely, Himalayas, Jobicy, Arbeitnow and Working Nomads — all in a single run, de-duplicated into one dataset.
Do I need API keys for the boards? No. Every source is a public, keyless endpoint. No login or browser needed.
Can I get only new jobs? Yes — enable monitorMode and schedule the actor. It outputs only jobs not seen in previous runs.
Where do company emails come from? Never from the job boards (they don't publish them). With enrichCompanyContacts on, the actor finds the company's own website from the job's links and extracts publicly listed contact details — the same thing a human visitor would see.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
A field is empty — why? Some listings don't publish a salary, timezone, or seniority. Fields are blank only when the source didn't provide them — never because the scraper skipped them.
Is scraping these boards legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (e.g. GDPR/CCPA for personal data) and each source's terms.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.