Remote Jobs Scraper – RemoteOK, Himalayas, Jobicy & More
Pricing
from $1.00 / 1,000 job listings
Remote Jobs Scraper – RemoteOK, Himalayas, Jobicy & More
Remote Jobs Scraper – one feed from 5 remote job boards: RemoteOK, Himalayas, Jobicy, Arbeitnow, We Work Remotely. Input: boards, keyword, location. Output: jobs with salary, tags, apply link. $1.74/1k all-in. Official APIs/RSS only.
Pricing
from $1.00 / 1,000 job listings
Rating
0.0
(0)
Developer
Glidepath
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
4
Monthly active users
14 days ago
Last modified
Categories
Share
Remote jobs scraper: one feed from 5 remote job boards (RemoteOK, Himalayas, Jobicy, Arbeitnow and We Work Remotely): fresh remote job listings from these public remote job boards in one clean schema, with duplicates across boards merged, country, seniority and salary filters, and a new-jobs-only mode for daily feeds.
It reads each board's own public API or RSS feed (no login, no cookies, no browser), so runs are fast, cheap and stable. Every job links back to its own listing on the source board.
Who uses it
- Recruiters and sourcers — one feed instead of checking five sites.
- Job-market research — track how many remote roles open up per week, by tag or region.
- Newsletter and job-alert builders — a single, deduplicated feed to filter by keyword.
- AI agents — a single, predictable tool for "what remote jobs are open right now for X?".
How to use it
- Choose which job boards to read (default: all five).
- Optionally filter by keyword, location or posted within (days).
- Run it and download the jobs as JSON, CSV or Excel — or call it via API, schedule it, or connect it to Make, Zapier, n8n, Google Sheets or your AI agent (Apify MCP).
Filters that match how people search
- Countries (
countries, with or without worldwide jobs), seniority (seniority), employment type (employmentTypes): Himalayas publishes these natively; for the other boards seniority is read from the title and countries from the location text. - Minimum annual salary (
minAnnualSalary): hourly, daily, weekly and monthly salaries are scaled to a year (salaryMinAnnual,salaryMaxAnnual), in the job's own currency. Jobs without a published salary are dropped when it is set. - Exclude keywords (
excludeKeywords) and tags (tags). - One row per job: the same job posted on several boards is returned once, with the other boards in
alsoFoundOnand a stablejobId(the same on every board and every run). Turn off withdedupeAcrossBoards: false.
Get only new remote jobs every day
Turn on Only jobs that are new since the last run and the Actor remembers which jobs you already received (in a key-value store in your own Apify account). Each later run returns only jobs you haven't seen, so a scheduled run becomes a clean daily feed and you pay only for new jobs.
{"sources": ["remoteok", "himalayas", "jobicy", "arbeitnow", "weworkremotely"],"tags": ["python", "devops"],"onlyNewSinceLastRun": true,"stateStoreName": "my-remote-python-feed"}
- Save the input as a Task and add a daily Schedule in Apify.
- Send new jobs where you work: the Slack or e-mail integration, a webhook, Google Sheets, Make, Zapier or n8n.
- Use one
stateStoreNameper feed. The first run returns every current job; jobs cut off by your cost limit ormaxItemsstay "new" for the next run.
Input example
{"sources": ["remoteok", "arbeitnow", "jobicy"],"keyword": "python","postedWithinDays": 14}
Output example
{"source": "remoteok","sourceId": "1137431","title": "Senior Backend Engineer","company": "Acme Inc","companyLogo": "https://remoteok.com/logo.png","location": "Worldwide","remote": true,"tags": ["python", "backend", "senior"],"jobType": ["Full-Time"],"salaryMin": 90000,"salaryMax": 130000,"salaryCurrency": null,"postedAt": "2026-09-24T16:00:06Z","url": "https://remoteok.com/remote-jobs/1137431","applyUrl": "https://remoteok.com/remote-jobs/1137431","descriptionText": "We're looking for a backend engineer to join our small, fully remote team...","scrapedAt": "2026-09-26T09:00:00Z"}
| Field | Description |
|---|---|
source, sourceId | Which board the job came from and its own id (use both to de-duplicate) |
title, company, companyLogo | As published by the board |
location, remote | Free-text location/region and whether the role is remote |
tags, jobType | Skills/industry tags and employment type (e.g. Full-Time, Contract) |
salaryMin, salaryMax, salaryCurrency | Only when the board publishes them; null otherwise (never guessed) |
postedAt | ISO 8601 UTC, when the board publishes a date |
url | The job's own page on the source board |
applyUrl | Direct application link, when the board provides one separate from url |
descriptionText | Plain text, e-mail addresses and phone numbers removed by default |
A per-board summary (jobs found, matched, saved, merged duplicates, pages read, whether the board had more, errors) is stored in the run's key-value store as SUMMARY.
More jobs per board: set Max jobs per board (maxItemsPerSource, up to 1,000). Himalayas and Arbeitnow are then read page by page, politely, until that many jobs; RemoteOK, Jobicy (up to 200) and We Work Remotely publish a single feed, so they return what their feed holds. moreAvailable: true in SUMMARY means the board had more jobs than you asked for.
Use it with
- Schedules: save your input as a Task and run it hourly, daily or weekly.
- Integrations: Slack, e-mail, Google Sheets and Google Drive, webhooks, Make, Zapier and n8n (the Integrations tab of the Actor or Task).
- API and code: the Apify API, the JavaScript and Python clients, or CSV/JSON/Excel downloads.
- AI agents: the Apify MCP server exposes this Actor as a tool; the input is plain text and short lists.
Pricing
Pay per result: $1.74 per 1,000 job listings on the Apify Free plan; on paid plans $1.74 (Starter), $1.40 (Scale) and $1.00 (Business and higher) (the price for your plan is shown on the Pricing tab). The examples below use the Free-plan price. A board that can't be read is never charged for, and the same job is never charged twice within one run.
- Daily check across all five boards, ~500 new jobs/day → about $26.10/month.
- One-off pull of 2,000 jobs for a keyword → about $3.48.
Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached.
Limits and notes
- Boards are read as-is: this Actor doesn't visit LinkedIn, Indeed or any board that requires a login, and doesn't scrape reviewer or applicant identities.
- Salary fields are only filled in when the board itself publishes a number; they're never estimated.
- Descriptions are cleaned to plain text. E-mail addresses and phone numbers a poster left in a description are removed by default.
- Each job always keeps a link back to its original page on the source board.
FAQ
Is it legal to aggregate these job boards? This Actor only reads each board's own public API or RSS feed, published for exactly this kind of use. It doesn't log in and doesn't bypass any protection. One board (Remotive) that also has a public API is intentionally excluded because its own robots.txt disallows automated access to it.
Why did a board return 0 jobs? Check SUMMARY for the exact error — a board's feed can be briefly unavailable; the run still returns jobs from the other boards.
Can I filter by keyword or location? Yes — set Keyword and Location contains in the input.
Can I use it from an AI agent? Yes, via the Apify MCP server or API. Pass sources as a list; results are the dataset items above.
Support
Open an issue on the Actor's Issues tab with the input you used and the run link — we reply within a few days.
Made by Glidepath. See the changelog for updates.