We Work Remotely Jobs Scraper & API: Remote Jobs as JSON avatar

We Work Remotely Jobs Scraper & API: Remote Jobs as JSON

Pricing

from $0.70 / 1,000 jobs

Go to Apify Store
We Work Remotely Jobs Scraper & API: Remote Jobs as JSON

We Work Remotely Jobs Scraper & API: Remote Jobs as JSON

Every job in We Work Remotely's public RSS feeds as clean JSON: company, category, countries, pay read from the text, full description. $1 per 1,000.

Pricing

from $0.70 / 1,000 jobs

Rating

0.0

(0)

Developer

Dodo Data

Dodo Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Every job in We Work Remotely's public RSS feeds, as clean JSON. Company, category, the countries a job is open to, the employer's website and headquarters, pay read out of the text, the full description, and the link back to the job on weworkremotely.com. 457 jobs in 20 seconds, 0 failures, measured on Apify on 20 October 2026.

We Work Remotely publishes these feeds for reuse. Its RSS page says: "Anyone can use the feed, all we ask is that you attribute the links back to We Work Remotely." This Actor reads those feeds and nothing else, and every row links back.

What you get

A real row from that run, description shortened:

{
"id": "weworkremotely:beefree-sale-manager-saas",
"source": "weworkremotely",
"source_name": "We Work Remotely",
"company": "Beefree",
"company_website": "https://beefree.io",
"company_headquarters": "San Francisco",
"title": "Sale Manager (SaaS)",
"category": "Sales and Marketing",
"location": "United States of America",
"locations": ["United States of America"],
"country": "United States of America",
"workplace_type": "remote",
"remote": true,
"employment_type": "Full-Time",
"salary_min": 165000,
"salary_max": 185000,
"salary_currency": "USD",
"salary_period": "year",
"salary_text": "Salary: $165,000 - $185,000",
"salary_source": "description",
"tags": ["Sales and Marketing"],
"posted_at": "2026-09-02T22:25:26.000Z",
"expires_at": "2026-10-02T22:25:26.000Z",
"description": "Salary: $165,000 - $185,000 OTE Bonus: $75,000 Total OTE: $240,000 - $260,000 Remote from anywhere in the United States ...",
"apply_url": "https://weworkremotely.com/remote-jobs/beefree-sale-manager-saas",
"url": "https://weworkremotely.com/remote-jobs/beefree-sale-manager-saas",
"scraped_at": "2026-09-25T18:09:21.427Z"
}

39 fields per row, in the same shape as the other Dodo Data job Actors, so rows from this one drop into the same table as rows from company career pages or other remote boards. The Dataset tab lists every field and what it means.

How much is in the feeds

We Work Remotely publishes one feed of its newest jobs and one feed per category. The newest-jobs feed held 92 jobs on 20 October 2026; all twelve feeds together held 457 distinct jobs (253 on 25 September). A run reads the newest-jobs feed first, then the category feeds, and delivers each job once however many feeds list it.

CategoryJobs on 20 Oct 2026
Sales and Marketing123
All Other Remote78
Customer Support72
Full-Stack Programming72
Design32
Product26
DevOps and Sysadmin23
Management and Finance19
Back-End Programming6
Front-End Programming6

The feeds are a window on the newest jobs, not the whole archive of the site. For a running record, put the Actor on a daily schedule with a monitor name (below).

Fields worth knowing about

  • company and title: We Work Remotely writes them as one ("Beefree: Sale Manager (SaaS)"). They are split at the first colon.
  • locations and country: the countries We Work Remotely shows under "Country" on the job page, flags removed. When it lists none, locations holds its region instead: "Anywhere in the World", "North America Only", "USA Only". country is filled when exactly one country is listed. 106 of the 457 jobs listed countries or a narrower region; 346 were "Anywhere in the World". WWR's "Georgia" is usually the US state, not the country, and it is passed on as WWR wrote it.
  • company_website: the employer's site, from the line We Work Remotely puts at the top of each job. 159 of 457 had one on 20 October.
  • company_headquarters: what the employer typed into We Work Remotely's Headquarters box, as written, on 448 of 457 jobs. Often a city ("San Francisco"); on jobs imported from an employer's hiring system it is often a place of work instead ("REMOTE - US").
  • skills: We Work Remotely's skills list, on about a third of jobs (94 of 457 on 20 October), as written. Mostly accurate, but some lists do not describe the job (a sales development role lists Architecture and Bug Tracking, a marketing internship Infrastructure Orchestration), so the keyword filter does not search it.
  • Pay: We Work Remotely publishes no pay field, so pay is read out of the description, only when a range sits next to a pay word such as Salary, Compensation or Pay range. 192 of 457 jobs had one on 20 October: 175 yearly, 17 hourly; 185 in US dollars, 4 in Canadian dollars, 2 in euros, 1 in Australian dollars. salary_text holds the words it was read from, so you can check any row. A bare $ is read by the job's country when exactly one is listed (CAD for Canada), as US dollars when none is, and left empty when that one country does not settle it. A range written per week, per day or per month is left out rather than converted.

Every one of those figures was checked by hand against its text, on 25 September and again on 20 October. Three were wrong and are fixed: "US$65-$85" had been read as Singapore dollars, and a monthly "$3500-$5000" printed beside an annual figure had been read as a yearly salary. A range under 10,000 is now never called a year's pay. On 20 October, an intern's "$800 USD monthly ... Pay Range $800-$800" had been read as $800 an hour; a small range is now left out when the sentence before it names a month, week or day. One known limit: a bare $ on a job that lists no country is read as US dollars, so a Toronto range with no country listed comes out USD.

Filters, applied before a row is saved

You pay per row, so every filter runs before anything is saved and you are never charged for what you filter out.

FilterWhat it does
Categoriesany of We Work Remotely's categories; empty for all
Keywordskeep a job if its title or category contains any of these words
Exclude keywordsdrop a job if its title contains any of these words
Region restrictionsEurope, UK, United States, North America, LATAM or a country. Region names cover their countries, and matching is on whole words, so UK never matches Ukraine. A job marked "Anywhere in the World" is kept only if you add Worldwide
Only jobs with paykeep only jobs whose description states a range
Minimum salarya yearly figure: hourly pay is annualised first, and only US dollars, euros, pounds, Swiss francs, Canadian and Australian dollars are compared
Posted within (days)by We Work Remotely's publication date

Measured: Programming and DevOps, Worldwide only, 20 rows, took 3 seconds and 3 requests. When the newest-jobs feed alone fills your row limit, no other feed is read.

A daily feed of only the jobs you have not had

Give the run a Monitor name and put it on a daily schedule. Every row then says whether it is new, updated or already delivered, with first_seen_at. With Only changes on, jobs you already have are left out and not billed.

Measured, two runs of the same monitor on the Design category, minutes apart:

run 1 Monitor "wwr-verify": 7 new · 0 updated · 0 already delivered before
run 2 Monitor "wwr-verify": 0 new · 0 updated · 7 already delivered before

The second run returned nothing and billed nothing. Because a feed only shows the newest jobs, this Actor never reports a job as removed: leaving the feed does not mean the job was filled.

Where the data comes from

The public RSS feeds We Work Remotely lists on its own RSS page (https://weworkremotely.com/remote-job-rss-feed): the all-jobs feed and its eleven category feeds. Nothing else is read: not the job pages, not the search, nothing behind a login. robots.txt allows the feeds and asks for no delay; this Actor reads them one a second anyway.

url and apply_url both point at the job on weworkremotely.com, where its Apply button is. That is the one thing We Work Remotely asks of anyone using its feed, so this Actor does not replace it with the employer's own application link. If you show these jobs to people, keep those links.

No personal data is collected. E-mail addresses and phone numbers that appear inside a description are removed before the row is saved; 19 of the 92 items in the newest-jobs feed contained an e-mail address on 20 October 2026, and none of them reached a row.

Price

$1 per 1,000 jobs, pay per event, plus Apify's start event of $0.00005 per run at the default 1 GB. All 457 jobs cost about $0.46.

You wantRowsCost
everything in the feeds todayabout 460about $0.46
a daily monitor with Only changes on, for a monththe new jobs only: the feeds held 426 jobs posted in the 30 days before 20 Oct, about 14 a dayabout $0.43

Also from Dodo Data

  • Remote Jobs Search: remote jobs from Himalayas, Remote OK, Jobicy and Arbeitnow in this same row shape, de-duplicated across boards.
  • Jobs API: search about 168,000 jobs from company career pages by words, location and remote.

Changelog

  • 2026-10-20: every count re-measured on Apify (457 jobs, 20 s, 0 failures); a monthly figure stated before a small pay range no longer reads as hourly. Last verified on Apify: 20 October 2026.
  • 2026-09-25: first version.