Remote Jobs Scraper - 7 Boards, Salaries & Leads avatar

Remote Jobs Scraper - 7 Boards, Salaries & Leads

Pricing

from $4.00 / 1,000 remote job listings

Go to Apify Store
Remote Jobs Scraper - 7 Boards, Salaries & Leads

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

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 runRemoteOK, 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.

DataSingle-board scrapersThis actor
Boards covered in one run17 (RemoteOK, Remotive, WeWorkRemotely, Himalayas, Jobicy, Arbeitnow, Working Nomads)
Structured salary (min/max/currency/period)❌ rarely✅ parsed even from free-text salary strings
Skills / tagspartial
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, datepartial

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

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Remote Jobs Scraper, add search keywords (or leave empty for the latest jobs), pick boards/filters, and click Start.
  3. Watch results stream into the dataset table.
  4. 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. salaryMin keeps only jobs whose published salary clears the floor.
  • outputType (default jobs)jobs, companies (deduplicated hiring-company leads), or all.
  • 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 enrichCompanyContactswebsite, 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 groupCoverage
title, company, url, apply link, source, posting date~100%
skills/tags, category, candidate locationusually present
structured salarywhen the board or salary text publishes it (strongest on Himalayas, Jobicy, RemoteOK, Remotive)
timezone restrictions, seniorityHimalayas / Jobicy
company emails & phonewith 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:

Tips

  • Narrow keyword searches: raise maxItemsPerSource so each board returns enough candidates before filtering.
  • Company leads: turn on enrichCompanyContacts and sort by leadScore to prioritize the companies with reachable contacts and the most open roles.
  • Recurring monitoring: combine Schedules + monitorMode + postedWithinDays for 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.