Remote Jobs Scraper — RemoteOK, WWR, Himalayas & Arbeitnow avatar

Remote Jobs Scraper — RemoteOK, WWR, Himalayas & Arbeitnow

Pricing

from $2.00 / 1,000 job scrapeds

Go to Apify Store
Remote Jobs Scraper — RemoteOK, WWR, Himalayas & Arbeitnow

Remote Jobs Scraper — RemoteOK, WWR, Himalayas & Arbeitnow

Scrape remote jobs from four boards at once into one normalized, deduplicated dataset: title, company, salary, tags, location and apply link. Cross-posted duplicates removed automatically.

Pricing

from $2.00 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Pixflor

Pixflor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Four remote job boards, one clean spreadsheet. Title, company, salary, tags, location and apply link — with cross-posted duplicates removed automatically.

No API key. No login. Set a filter, press start, export CSV or JSON.


Why one Actor instead of four

Every other remote-jobs scraper covers a single board. If you want decent coverage you run four of them, learn four different schemas, and then dedupe by hand — because the same role gets posted to several boards at once.

This does all of that for you:

  • One schema across all four sources. salaryMin means the same thing everywhere.
  • Cross-board deduplication. Matched on company plus title, keeping the richest copy — the one that actually lists a salary. On a typical run that's ~14 duplicates removed from ~415 jobs.
  • Every source carries a source label, so you can still filter back down to one board.

What you get

ColumnExample
titleSenior Backend Engineer
companyAcme Corp
sourceremoteok
urldirect apply link
salaryMin / salaryMax / salaryCurrency120000 / 160000 / USD
location / locationRestrictionsAnywhere · ["US","EU"]
employmentType / seniorityFull-Time · Senior
tags / categories["golang","postgres"] · ["Programming"]
excerptplain-text summary, HTML stripped
descriptionfull listing
publishedAt / expiresAtISO 8601

Typical uses

  • Job aggregators and newsletters. Schedule it daily, filter by tag, publish the results.
  • Recruiting and market research. Who is hiring for what, and at what advertised pay.
  • Salary benchmarking. Filter with Only jobs with salary data and analyse the band.
  • Lead generation. Companies actively hiring are companies actively spending.
  • Feeding a model or an LLM. Consistent field names, one row per job.

Example input

{
"sources": ["remoteok", "weworkremotely", "himalayas", "arbeitnow"],
"searchQuery": "backend",
"postedWithinDays": 7,
"sortBy": "publishedAt",
"maxItems": 200
}

Salary research only:

{
"sources": ["remoteok", "himalayas"],
"withSalaryOnly": true,
"sortBy": "salary",
"maxItems": 500
}

A single board, no dedupe:

{ "sources": ["weworkremotely"], "deduplicate": false, "maxItems": 100 }

Settings that matter

  • sources — keep all four for coverage. Arbeitnow skews EU/DACH; the other three are global.
  • deduplicate — leave on unless you specifically want to see which boards carry the same role.
  • withSalaryOnly — powerful but aggressive. Most boards don't publish pay, so expect this to keep well under a fifth of listings.
  • postedWithinDays — the most useful filter for a scheduled run. Set it to 1 and you get only what's new since yesterday.
  • maxItems — your cost ceiling. Set it deliberately.

Pricing

Pay per event — you pay for jobs returned, not for runtime.

EventPrice
Actor start$0.002 per run
Job scraped$0.002 each

1,000 jobs ≈ $2.00. You're charged per unique job after deduplication, so you never pay twice for the same role appearing on two boards.


Reliability

Every source is an official API or public RSS feed — RemoteOK's JSON API, We Work Remotely's RSS, the Himalayas jobs API and the Arbeitnow job board API. No HTML parsing, no headless browser, no bot-detection workarounds. Layout changes on those websites don't affect this Actor.

Requests retry with exponential backoff, and one board being down degrades the run instead of failing it — you still get the other three, and the log says which one was missing.


Notes

  • Data is aggregated from the four boards' own public interfaces and provided as-is. Job listings change and expire constantly; a row is a snapshot at scrapedAt.
  • Salary fields are only populated when the board publishes them, which is a minority of listings. null means "not advertised", not "unpaid".
  • Deduplication matches on company and normalised title. Two genuinely different roles with identical titles at the same company will collapse into one — turn deduplicate off if that matters to you.

Questions or a bug?

Open an issue on the Issues tab with your input JSON and the run ID. That's usually enough to reproduce it immediately.