We Work Remotely Jobs API: WWR and RemoteOK Feeds avatar

We Work Remotely Jobs API: WWR and RemoteOK Feeds

Pricing

from $0.70 / 1,000 job listings

Go to Apify Store
We Work Remotely Jobs API: WWR and RemoteOK Feeds

We Work Remotely Jobs API: WWR and RemoteOK Feeds

Get remote jobs from We Work Remotely RSS feeds and the RemoteOK API in one list. Filter by category, keyword, age and salary, or return only new jobs since your last run. Every row has a source and a link back. $1.00 per 1,000 jobs. Independent tool, not affiliated with either site.

Pricing

from $0.70 / 1,000 job listings

Rating

0.0

(0)

Developer

Don Mangu

Don Mangu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Use this We Work Remotely jobs API to get remote jobs from the public We Work Remotely RSS feeds and the public RemoteOK API in one list, for $1.00 per 1,000 jobs. Every row names its source and holds a clickable link back to the original listing. Filter by category, keyword, age and salary. Switch on Only new jobs since last run and schedule the Actor to get a feed of fresh remote jobs each day.

You need no login, no API key and no proxy. The Actor reads two public sources and nothing else. It is an unofficial tool built by an independent developer. It is not affiliated with, endorsed by or operated by We Work Remotely or Remote OK.

What this We Work Remotely jobs API returns

One row is one remote job. The fields are:

  • Source and source URL: the site name and the link to the listing on that site. Always present.
  • Title, company, category, job type, region, location and headquarters, as far as the source gives them.
  • Tags: the skills of We Work Remotely or the tags of RemoteOK.
  • Salary minimum and salary maximum, as RemoteOK publishes them. We Work Remotely feeds list no salary.
  • Posted at and expires at.
  • Apply URL from RemoteOK.
  • Attribution: a ready credit line such as "Source: We Work Remotely (https://weworkremotely.com)".
  • Description text, only when you switch on Include job description. Email addresses, phone numbers and links to personal profiles are replaced by a marker.

Remote Tech Jobs Search reads the career pages of 824 remote-first companies. This Actor reads two named job boards, We Work Remotely and RemoteOK. Use this one when you want these boards by name, one category at a time, or only the jobs that are new since your last run. Use the other one when you want jobs straight from company career pages.

How to get remote jobs from We Work Remotely and RemoteOK, step by step

  1. Open the Actor and go to Input.
  2. Under Sources, keep both sources or pick one.
  3. Under Categories, pick one or more categories such as All Programming or Design. Leave the list empty to read all categories.
  4. Optional: enter Keywords, one per line, a number of days under Posted within days, or a Minimum salary.
  5. Optional: switch on Only new jobs since last run and give the feed a Monitor name. The first run returns every matching job and sets the baseline. Later runs return only jobs that this Monitor name did not deliver before.
  6. Set Max results. The prefill is 20, so a first test costs about two cents.
  7. Click Start. Open the Jobs view of the dataset, or download it as JSON, CSV or Excel, or read it through the Apify API.
  8. For a daily feed, create a schedule for the Actor with the same input and keep the same Monitor name.

The Actor sends one request at a time, at least one second apart, and reads 1 to 9 pages per run: one We Work Remotely feed per selected category (8 feeds when you pick none) and one RemoteOK request. Neither source publishes a rate limit. The Actor honours a Retry-After header and retries a failed request up to 3 times with growing waits. It does not solve CAPTCHAs and does not use proxies.

Remote jobs API pricing

You pay per job returned. The event is called Job listing.

  • $0.001 per Job listing, which is $1.00 per 1,000 jobs.
  • A small start fee of $0.00005 per run.
  • Discounts on higher Apify plans: $0.0009 (Bronze), $0.0008 (Silver), $0.0007 (Gold) per job.

Worked example: a run that returns 100 jobs costs 100 x $0.001 + $0.00005 = $0.10005. A daily run with Only new jobs that finds 15 new jobs costs 15 x $0.001 + $0.00005 = $0.01505, so 30 such runs cost $0.4515 (the 15 jobs a day is an example, not a measured value). A run that finds no job costs only $0.00005. Only saved rows are charged. Set Max results or a maximum charge per run to cap the cost.

Input example

{
"sources": ["weworkremotely", "remoteok"],
"categories": ["programming"],
"keywords": ["python"],
"postedWithinDays": 14,
"onlyNew": true,
"monitorName": "python-daily",
"maxResults": 20
}

Output example

This is output of a test run against recorded test data in the real field layout. It is not a live listing. The two sources were not reachable from the build environment, so a run against the live sites is NOT VERIFIED until the first platform run.

{
"source": "Remote OK",
"jobId": "1100001",
"title": "Senior Backend Engineer",
"company": "Acme Data",
"category": "Programming",
"categoryFromTags": true,
"jobType": null,
"region": null,
"location": "Worldwide",
"headquarters": null,
"tags": ["backend", "python", "engineer", "senior"],
"salaryMin": 120000,
"salaryMax": 160000,
"postedAt": "2026-10-08T04:26:40.000Z",
"expiresAt": null,
"sourceUrl": "https://remoteok.com/remote-jobs/remote-senior-backend-engineer-acme-1100001",
"applyUrl": "https://remoteok.com/l/1100001",
"attribution": "Source: Remote OK (https://remoteok.com)",
"descriptionText": "Build APIs. Reach out at [email removed] or [phone removed].",
"retrievedAt": "2026-10-09T13:49:03.248Z"
}

A We Work Remotely row has the same fields. It fills job type, region, location and headquarters, and leaves salary and apply URL empty.

Run it every day

Use this to get a feed of fresh remote jobs once a day.

  1. Enter your filters.
  2. Turn on Only new jobs since last run (onlyNew).
  3. Give the feed a Monitor name (monitorName). Use one name for each set of filters.
  4. Save the input as a task and add a daily schedule with the same input and the same Monitor name.

The first run returns every matching job and sets the baseline. Each later run returns only jobs that the Monitor name did not deliver before. Example: 15 new jobs a day cost 15 x $0.001 + $0.00005 = $0.01505 a day, so 30 daily runs cost $0.4515 (the 15 jobs a day is an example, not a measured value).

FAQ

This is not legal advice. Both sources invite reuse of their public feed with a link back. We Work Remotely, on its feed page weworkremotely.com/remote-job-rss-feed: "Anyone can use the feed, all we ask is that you attribute the links back to We Work Remotely". RemoteOK, in the legal field of its public API: "Please link back (with follow, and without nofollow!) to the URL on Remote OK and mention Remote OK as a source, so we get traffic back from your site. If you do not we'll have to suspend API access."

The We Work Remotely terms page (last updated 20 July 2026, read on 9 October 2026) has no sentence about feeds, scraping or reuse of listings. It states that content is copyright of the owners. The robots.txt of We Work Remotely allows the category feeds and sets no crawl delay.

What do I have to do to credit the sources?

Show the Attribution line, or the words "Source: We Work Remotely" or "Source: Remote OK", next to each job. Link each job to its Source URL with a normal link. For RemoteOK, use a followed link, not a nofollow link, and name Remote OK as the source. Do not use the Remote OK logo: RemoteOK states it is a registered trademark.

Does the output hold personal data?

No. The Actor does not output the names, emails or phone numbers of people. It replaces email addresses, phone numbers and personal profile links in the job text with a marker. Company names are public business data.

How does Only new jobs since last run work?

The Actor keeps a list of delivered jobs in a key-value store in your Apify account, named remote-job-feeds-state, one list per Monitor name. A job counts as delivered after it is saved in the dataset. A job that was cut off by Max results stays new for the next run. The list forgets a job 90 days after it left the feeds. Use one Monitor name for each set of filters.

Why do I get fewer jobs than on the websites?

The We Work Remotely feeds list recent jobs only, and the RemoteOK API returns the jobs it publishes at that time. The run statistics (the STATS record) show how many jobs each source gave. Filters remove the rest.

How is the RemoteOK category set?

RemoteOK has no category field. The Actor places each job in a group from its tags, for example devops, design or sales. This is approximate. The field categoryFromTags tells you which rows use it.

A source failed. What happens?

The other source still delivers, and the run status names the source that failed. You pay only for saved rows. If both sources fail, the run ends with an error and charges nothing. A long Retry-After from a source ends the request at once, so run again later.