Remote Jobs Feed: Remote OK and We Work Remotely
Pricing
from $0.60 / 1,000 job returneds
Remote Jobs Feed: Remote OK and We Work Remotely
Remote job listings from Remote OK and We Work Remotely in one normalized schema, with salary, tags and categories, cross-board de-duplication and a changes-since-last-run mode for scheduled alerts.
Pricing
from $0.60 / 1,000 job returneds
Rating
0.0
(0)
Developer
Todd Handler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Remote Jobs Feed: Remote OK and We Work Remotely jobs in one schema
Get every current remote job from Remote OK and We Work Remotely in one clean schema, ready for a job board, an alert bot or a spreadsheet. Schedule it in changes mode and each run returns only the jobs that are new, updated or removed since the last run.
- Two big remote boards, one schema. Title, company, locations, employment type, seniority, salary (where published), category, tags, dates, links and the full description.
- Change detection built in. Daily new and closed remote jobs without diffing anything yourself.
- Cross-board de-duplication. The same opening posted on both boards comes through once.
- Same schema as ATS Jobs Feed. Rows line up with our Greenhouse, Lever and Ashby feed, so remote boards and company career boards can share one table.
- Cheap and predictable. You pay per job returned, $0.80 per 1,000 jobs.
Who uses it
- Niche and remote job boards backfilling listings with credit to the source board
- Job alert bots for Slack, Discord, Telegram or email (schedule changes mode)
- Recruiters and researchers tracking which companies hire remotely and for what
- AI agents that need fresh, structured remote job data (see "For AI agents" below)
Sources and attribution
| Board | What the Actor reads | What the board asks of you |
|---|---|---|
| Remote OK | Its public API: the newest ~100 jobs, plus the newest ~100 for each extra tag you add | Link to the job on Remote OK with a normal followed link (no nofollow) and name Remote OK as the source. Do not use the Remote OK logo. |
| We Work Remotely | Its public RSS feeds, one per category, which list every open job | Link back to the job on We Work Remotely and credit We Work Remotely as the source. |
Every row carries source_name, job_url and an attribution field with that board's request, so you can honor it wherever you show the job. If you display these jobs, follow the attribution in each row. The boards can cut off access for anyone who does not.
Quick start
- Leave both boards selected, or pick one.
- Leave Mode on Full snapshot for a one-off pull.
- Click Start. Results appear in the Jobs table and can be exported as JSON, CSV or Excel.
A full run with no filters returns roughly 500 to 650 jobs (about 100 from Remote OK and 450 from We Work Remotely).
Monitor on a schedule (recommended)
- Set Mode to Changes since last run.
- Create a schedule (daily or every few hours) under Schedules in Apify Console.
- Connect the run to Google Sheets, Slack, Airtable, a webhook, Make or n8n with Apify integrations.
The first run returns every current job as new and saves a baseline. After that you get only:
new: posted since the last runupdated: title, company, location, employment type, salary, description, category or apply link changedremoved: no longer listed, usually filled or expired (removed rows carry the job ID, title, company, locations and URL from the last time it was seen)
Remote OK only publishes its newest jobs, so a Remote OK job that simply scrolls out of the feed is not reported as removed. Removals are reported only for jobs recent enough that they should still be in the feed.
The baseline is keyed to your boards, tags, categories and filters, so changing any of them starts a fresh baseline. Set State key to give it a fixed name.
Filters and options
| Option | What it does |
|---|---|
| Remote OK extra tags | Each tag (for example python, marketing, design) adds that tag's newest ~100 Remote OK jobs. Up to 10 |
| We Work Remotely categories | Pick categories, or leave empty for all 11 |
| Title keywords (any) | Keep jobs whose title contains any keyword. Optionally also search the description |
| Exclude title keywords | Drop jobs whose title contains any of these |
| Locations (any) | Keep jobs whose stated location contains any value, for example United States, Europe, Canada. Jobs open worldwide or with no stated location also match, unless Strict locations is on |
| Categories or tags (any) | Match on the board's category or tags, for example design, python, customer support |
| Employment types | Full time, part time, contract, temporary, internship |
| Only jobs with a published salary | Keep jobs that state a salary range |
| Posted within days | Keep recently posted jobs |
| Max jobs per board | Snapshot mode only, keeps the newest |
| Remove cross-board duplicates | On by default. Same company and title on both boards gives one row |
Output
One row per job. Example (description shortened):
{"company": "Apollo GraphQL","ats": "weworkremotely","board_token": "weworkremotely.com","job_id": "apollo-graphql-senior-solution-engineer-pre-sales","title": "Senior Solution Engineer (Pre-sales)","department": null,"team": null,"locations": ["Anywhere in the World"],"remote_type": "remote","employment_type": "full_time","seniority": "senior","posted_at": "2026-10-21T20:58:30Z","updated_at": null,"job_url": "https://weworkremotely.com/remote-jobs/apollo-graphql-senior-solution-engineer-pre-sales","apply_url": "https://weworkremotely.com/remote-jobs/apollo-graphql-senior-solution-engineer-pre-sales","salary_min": null,"salary_max": null,"salary_currency": null,"salary_period": null,"description_text": "Headquarters: San Francisco, California, United States\n\nAt Apollo GraphQL, we're on a mission...","description_html": null,"category": "Sales and Marketing","tags": [],"source_name": "We Work Remotely","attribution": "Link back to job_url on We Work Remotely and credit We Work Remotely as the source.","change_type": null,"source_input": "https://weworkremotely.com/categories/remote-sales-and-marketing-jobs.rss","fetched_at": "2026-10-22T01:03:18Z"}
Field notes
atsholds the source board (remoteokorweworkremotely). It keeps the ATS Jobs Feed field name so both feeds share one schema.locationsis where the job is open to, as the board states it. A We Work Remotely job locked to certain countries lists those countries. Remote OK leaves it empty for about half its jobs.employment_type:full_time,part_time,contract,temporary,internorother. Remote OK states it only on some jobs.seniority:intern,entry,senior,lead,manager,directororexecutive, derived from the title. Null when the title gives no signal.- Salary fields are filled when Remote OK publishes pay (annual USD). We Work Remotely's feeds do not include salary.
department,teamandupdated_atare always null here. They exist so rows match the ATS Jobs Feed schema.change_typeis null in snapshot mode.- Each run also writes a
SUMMARYrecord to the key-value store: every feed read with its job count, duplicates dropped, and any errors.
Pricing
Pay per event. You only pay for what the run delivers.
| Event | Price (Free and Starter plans) |
|---|---|
| Job returned (new, updated, removed or snapshot row) | $0.0008 ($0.80 per 1,000) |
| Job board checked (one per board per run) | $0.0005 |
Higher Apify plans get lower per-job prices. A full snapshot of both boards costs about $0.50. A scheduled changes-mode run costs $0.001 for the two board checks plus $0.0008 per changed job, so a daily alert feed typically costs a few cents a day. Set a maximum cost per run in the run options and the Actor stops cleanly at that limit. In changes mode a board cut off by the limit is not marked as seen, so the next run delivers it.
For AI agents
- Input:
sources(remoteok,weworkremotely),mode(snapshotorchanges), and the optional filters above (keywords,locations,categories,employmentTypes,salaryOnly,postedWithinDays,maxJobsPerSource). - Output: dataset rows with the fields listed above. The run
SUMMARYkey-value record lists feeds and errors. - Cost: $0.0008 per job plus $0.0005 per board. Use
maxJobsPerSourceand filters to keep runs small. - Attribution: show
job_urlandsource_namewherever you display a job, as each row'sattributionfield asks.
Limits and good practice
- The Actor reads only the public API and RSS feeds each board provides for reuse. It does not log in, scrape job pages or collect applicant data.
- Requests to each board are spaced at least one second apart and retried on temporary errors.
- Remote OK's API returns its newest jobs only. Add tags to widen coverage.
- Himalayas and Remotive are not included. Their terms do not allow passing their jobs on to third parties without permission.
Support
Open an issue on the Actor page. If the Actor saves you time, a rating helps other people find it.