Remote Jobs: We Work Remotely, Remote OK, Jobicy & Arbeitnow
Pricing
from $0.70 / 1,000 job rows
Remote Jobs: We Work Remotely, Remote OK, Jobicy & Arbeitnow
Remote and EU jobs from We Work Remotely, Remote OK, Jobicy and Arbeitnow in one normalized dataset: duplicates merged across boards, salary, country and job type filters, full descriptions, change tracking. Complete rows on every plan, no start fee.
Pricing
from $0.70 / 1,000 job rows
Rating
0.0
(0)
Developer
Navista Multani
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 minutes ago
Last modified
Categories
Share
Remote Jobs Feed: We Work Remotely, Remote OK, Jobicy & Arbeitnow
A remote jobs API that reads four job boards at once (We Work Remotely, Remote OK, Jobicy and Arbeitnow) and returns one normalized dataset: duplicates merged across boards, salary, country, employment-type and date filters, full descriptions, and change tracking for daily schedules.
Remote jobs API: what you can use it for
- Build a remote job board or newsletter. One schedule fills your site or email with fresh remote jobs from four boards, already in one format and with duplicates merged.
- Get alerts for new remote jobs. Run it daily with "only new and changed jobs" on and send the rows to Slack, email or Google Sheets.
- Find remote jobs for developers, designers, marketers or support teams with keywords, We Work Remotely categories, minimum salary and the countries you can work from.
- Study the remote job market. Salaries, employment types, seniority and regions in clean columns, ready for a spreadsheet or a database.
- Give an AI agent live job data. Every row stands alone, so it drops into an LLM's context or a RAG index without joins.
Remote jobs data: sample output
One row per job, the same fields from every board. A real row (description trimmed):
{"id": "jobicy:157340","source": "jobicy","board": "jobicy.com","company": "Customer.io","title": "Global Controller","category": "Finance & Accounting","employment_type": "full_time","seniority": "Director","workplace_type": "remote","region": "LATAM, Canada, USA","location": "LATAM, Canada, USA","locations": ["LATAM", "Canada", "USA"],"country": null,"salary": { "min": 250000, "max": 280000, "currency": "USD", "period": "year", "source": "structured" },"posted_at": "2026-10-27T09:59:27Z","url": "https://jobicy.com/jobs/157340-global-controller-2","apply_url": null,"also_found_on": [{ "source": "weworkremotely", "url": "https://weworkremotely.com/remote-jobs/customer-io-global-controller" }],"tags": ["Finance & Accounting"],"visa_sponsorship": null,"description_text": "About Customer.io\n\nOver 9,000 companies — from scrappy startups to global brands — use our platform to send billions of emails, push notifications, in-app messa ...","content_hash": "4cd93f42122d2bb3","scraped_at": "2026-10-27T15:01:46Z"}
What each row holds:
title,company,category,employment_type(full_time,part_time,contract,internship,temporary),senioritywhere the board states itregion(where the remote role may be done from, as the board says it: "USA Only", "Europe", "Anywhere"),location,locations,country,workplace_typesalaryas{min, max, currency, period, source}: the board's own salary fields, or a pay range stated in the descriptionposted_at,url(the job's page on the board),apply_urlwhere givenalso_found_on: the other boards that list the same job, with their linkstags,visa_sponsorship(Arbeitnow),description_textanddescription_htmlidstable across runs,sourceandboard,content_hashfor change detection,scraped_at,change(neworchanged) in change-tracking mode
Notes:
idis stable across runs:weworkremotely:<slug>,remoteok:<id>,jobicy:<id>,arbeitnow:<de|uk>:<slug>.salary.sourceisstructured(the board's own salary fields) ordescription_text(a range stated in the description). Unstated pay is left empty, not guessed.workplace_typeisremotefor We Work Remotely, Remote OK and Jobicy. For Arbeitnow it isremotewhen the job is flagged remote and empty otherwise, because Arbeitnow lists hybrid jobs as not remote.
Remote OK, Jobicy and We Work Remotely jobs in one feed
Each board has its own format: We Work Remotely publishes RSS feeds, Remote OK and Jobicy publish JSON APIs, and Arbeitnow has a paged Job Board API. This Actor reads all four and maps them to the row above, so you write one pipeline instead of four.
- Every row is complete, on every Apify plan. Free-plan runs get the same full rows as paid plans, not a truncated preview.
- No start fee. You pay per job row only.
- One row per job, not per board. A job posted on several boards is merged into one row, and you pay for it once.
- Depth. All We Work Remotely category feeds (about 400 jobs), Jobicy's full 7-day feed (about 1,500 jobs), Remote OK's API (about 100 latest, plus about 100 per keyword tag) and every page of Arbeitnow (Germany, the EU and the UK).
- No personal data. Emails and phone numbers are removed from descriptions.
Same row format as our other job tools (ATS Jobs Feed for Greenhouse, Lever, Workday and others), so one pipeline reads them all.
Remote jobs for developers, designers and more: ready-made examples
Open one, press Start, and change the input to suit you:
- Remote developer jobs from 4 remote job boards
- Remote marketing and sales jobs
- Remote designer jobs (UX, UI, product design)
- Remote customer support jobs
- Remote jobs open to Europe
Pricing
$0.001 per job row (from $1.00 per 1,000 jobs). No start fee. Filtered-out jobs and merged duplicates are not charged. The run stops at your spending limit.
| Use | Rows | Cost |
|---|---|---|
| Python jobs on We Work Remotely, Remote OK and Jobicy | 110 | $0.11 |
| Every job on those three boards, 33 duplicates merged | 1,970 | $1.97 |
| Daily schedule, only new and changed jobs, US full-time engineers | about 37 a day, about 1,100 a month | about $1.10 a month |
Counts are from a run on 27 October 2026 and change with what the boards list. The daily figure is an estimate: 256 matching jobs in Jobicy's 7-day window plus the other two boards, divided by 7.
Input examples and settings
Python and React jobs from the last 7 days, all boards:
{ "keywords": ["python", "react"], "postedWithinDays": 7 }
Full-time jobs open to people in Germany or Canada, paying at least 80,000 US dollars a year, salary required:
{"countries": ["DE", "Canada"],"jobTypes": ["full_time"],"minSalary": 80000,"includeJobsWithoutSalary": false}
Daily feed of new and changed engineering jobs (run it on a schedule):
{ "keywords": ["engineer"], "onlyChanges": true, "countries": ["US"] }
| Field | What it does |
|---|---|
keywords | Keep jobs whose title, tags, category or company contain any keyword as a whole word ("go" does not match "Google"). Each keyword also queries Remote OK's tag of that name. |
sources | weworkremotely, remoteok, jobicy, arbeitnow. Default: all four. |
postedWithinDays | 1 to 90. |
maxJobsPerSource / maxJobs | Caps per board (before merging) and in total; newest jobs first. maxJobs defaults to 500; 0 = no cap. |
countries | ISO codes or names. A job passes if it names the country, a region containing it ("Europe" for DE, "LATAM" for BR, "APAC" for SG), or, with includeWorldwide on (default), "Anywhere"/"Worldwide". Jobs that state no location are left out. |
jobTypes | full_time, part_time, contract, internship, temporary. Remote OK does not state a type, so its jobs are left out when this is set. |
minSalary / includeJobsWithoutSalary | Keep jobs whose pay range reaches this yearly amount (hourly x 2,080, daily x 260, weekly x 52, monthly x 12). In US dollars: pay in other currencies is converted at fixed ECB reference rates (2026-10-27), so treat the cut-off as approximate. Jobs with no stated pay, or pay in an unlisted currency, are kept unless you turn includeJobsWithoutSalary off. |
location | Free-text match on location or allowed region, for example Berlin or USA Only. |
remoteOnly | On by default. Turn off to include Arbeitnow's hybrid and on-site jobs. |
categories | We Work Remotely category feeds to read. Empty reads all. |
visaSponsorship / arbeitnowSite | Arbeitnow only: visa-sponsored jobs; de, uk or both sites. |
dedupe | On by default: merge the same job across boards (see below). |
includeDescription | On by default. Same price either way. |
onlyChanges / stateKey | Return only new and changed jobs since the last run with the same filters. |
minRows | Fail the run when it returns fewer rows, so scheduled monitoring alerts you. |
How duplicates are merged
Two jobs from different boards are the same job when the company and title match after ignoring case, punctuation and legal suffixes ("Acme, Inc." = "ACME"), or when they share an apply URL. The most complete copy is kept: salary counts most, then description, employment type and location. Fields it lacks are filled from the other copies, and each other copy's board and link go into also_found_on. Two listings on the same board are never merged, because a board listing a title twice usually means two openings. Turn dedupe off to get every copy.
Change tracking and scheduling
- Set your filters and turn on
onlyChanges. - In Apify Console, open Schedules, create a schedule (for example daily at 08:00) and add this Actor with that input.
- Each run returns only jobs that are new or whose title, type, location, salary or description changed since the previous run with the same filters, each with
changeset toneworchanged. UsestateKeyto keep separate histories for the same filters. - Set
minRowsto get an alert if a run returns fewer rows than you expect.
Jobicy asks integrations to start a new pass at most once an hour, so schedule hourly or less often.
FAQ
Is there a Remote OK API, and how is this different?
Yes: Remote OK publishes a public JSON API at remoteok.com/api, which returns the latest
~100 jobs (or ~100 per tag) with no paging. This Actor reads that API, queries a tag for
each of your keywords, and adds three more boards in the same row format. Remote OK's full
board loads through an endpoint its robots.txt disallows, so older Remote OK jobs are not
read.
Does Jobicy have a remote jobs API? Yes, a public Jobs API (documented at jobi.cy/apidocs) that returns every remote job published in the last 7 days, about 1,500. This Actor reads all of it, page by page, and normalizes it with the other boards.
Can I get We Work Remotely jobs as data?
Yes. We Work Remotely publishes an RSS feed per category; this Actor reads all of them
(about 400 jobs) or only the ones you pick in categories, and turns each item into the
same structured row as the other boards.
How do I find remote jobs for developers only?
Set keywords (for example developer, engineer, python) or pick the programming
categories in categories. The remote developer jobs example
is a ready-made starting point.
Can I filter by salary?
Yes. minSalary is a yearly amount in US dollars; hourly, daily, weekly and monthly pay
is converted to yearly, and other currencies are converted at fixed ECB rates
(2026-10-27), so the cut-off is approximate. The salary field itself stays in the
currency the job states.
Are there remote jobs with visa sponsorship?
Only Arbeitnow states visa sponsorship. Turn on visaSponsorship to get those jobs; only
Arbeitnow is read when it is on.
How far back does it go? We Work Remotely feeds hold recent jobs only. Jobicy's API covers the last 7 days. Remote OK's API returns the latest ~100 jobs (and ~100 per keyword tag). Arbeitnow pages go back further.
How long does a run take?
A capped run (maxJobsPerSource 25) takes about 15 seconds. Reading every job on all four
boards takes one to two minutes, mostly Arbeitnow's paging (its rate limit is 50 requests
a minute).
Why did a job with no location disappear when I set countries? Boards leave location empty for many reasons, so an empty location is not read as "anywhere".
Can I call it from code or an AI agent? Yes, through the Apify API (with the official Python or JavaScript client), the Apify MCP server, or any Apify integration such as Make, Zapier or n8n.
Data sources and terms
Each board publishes this data for reuse and asks for credit. Every row's url is the job's page on the board it came from and source names that board, so you can meet these conditions. If you show these jobs to others, link each one to its url and name the source.
- We Work Remotely (public RSS feeds): "Anyone can use the feed, all we ask is that you attribute the links back to We Work Remotely."
- Remote OK (public API): its API terms require a followed link back to the job on Remote OK and naming Remote OK as the source.
- Jobicy (public Jobs API): commercial use, aggregation and redistribution are allowed; credit Jobicy with a link and keep apply links pointing to the Jobicy job page.
- Arbeitnow (public Job Board API): asks for a link back to Arbeitnow.