Remote Jobs: We Work Remotely, Remote OK, Jobicy & Arbeitnow avatar

Remote Jobs: We Work Remotely, Remote OK, Jobicy & Arbeitnow

Pricing

from $0.70 / 1,000 job rows

Go to Apify Store
Remote Jobs: We Work Remotely, Remote OK, Jobicy & Arbeitnow

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

Navista Multani

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 minutes ago

Last modified

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), seniority where the board states it
  • region (where the remote role may be done from, as the board says it: "USA Only", "Europe", "Anywhere"), location, locations, country, workplace_type
  • salary as {min, max, currency, period, source}: the board's own salary fields, or a pay range stated in the description
  • posted_at, url (the job's page on the board), apply_url where given
  • also_found_on: the other boards that list the same job, with their links
  • tags, visa_sponsorship (Arbeitnow), description_text and description_html
  • id stable across runs, source and board, content_hash for change detection, scraped_at, change (new or changed) in change-tracking mode

Notes:

  • id is stable across runs: weworkremotely:<slug>, remoteok:<id>, jobicy:<id>, arbeitnow:<de|uk>:<slug>.
  • salary.source is structured (the board's own salary fields) or description_text (a range stated in the description). Unstated pay is left empty, not guessed.
  • workplace_type is remote for We Work Remotely, Remote OK and Jobicy. For Arbeitnow it is remote when 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:

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.

UseRowsCost
Python jobs on We Work Remotely, Remote OK and Jobicy110$0.11
Every job on those three boards, 33 duplicates merged1,970$1.97
Daily schedule, only new and changed jobs, US full-time engineersabout 37 a day, about 1,100 a monthabout $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"] }
FieldWhat it does
keywordsKeep 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.
sourcesweworkremotely, remoteok, jobicy, arbeitnow. Default: all four.
postedWithinDays1 to 90.
maxJobsPerSource / maxJobsCaps per board (before merging) and in total; newest jobs first. maxJobs defaults to 500; 0 = no cap.
countriesISO 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.
jobTypesfull_time, part_time, contract, internship, temporary. Remote OK does not state a type, so its jobs are left out when this is set.
minSalary / includeJobsWithoutSalaryKeep 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.
locationFree-text match on location or allowed region, for example Berlin or USA Only.
remoteOnlyOn by default. Turn off to include Arbeitnow's hybrid and on-site jobs.
categoriesWe Work Remotely category feeds to read. Empty reads all.
visaSponsorship / arbeitnowSiteArbeitnow only: visa-sponsored jobs; de, uk or both sites.
dedupeOn by default: merge the same job across boards (see below).
includeDescriptionOn by default. Same price either way.
onlyChanges / stateKeyReturn only new and changed jobs since the last run with the same filters.
minRowsFail 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

  1. Set your filters and turn on onlyChanges.
  2. In Apify Console, open Schedules, create a schedule (for example daily at 08:00) and add this Actor with that input.
  3. 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 change set to new or changed. Use stateKey to keep separate histories for the same filters.
  4. Set minRows to 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.