We Work Remotely Jobs Scraper
Pricing
from $1.20 / 1,000 results
We Work Remotely Jobs Scraper
Scrape every live remote job from We Work Remotely into structured JSON, CSV or Excel. Job title, company, headquarters, contract type, region and direct link.
What does We Work Remotely Jobs Scraper do?
This Actor scrapes every live remote job listing from We Work Remotely, one of the largest remote job boards on the internet, and returns it as clean structured data. For each job you get the title, company, company headquarters, contract type, eligible regions, whether it is a promoted listing, and a direct link to apply.
A full run takes a couple of seconds and returns around 180 live jobs. You can download the results as JSON, CSV, Excel, or HTML, pull them through the Apify API, or schedule the Actor to run daily and pipe new listings straight into your own system.
Why use this scraper?
- Build a job board — power your own niche remote job site with fresh listings.
- Recruitment intelligence — see which companies are hiring, for what, and from where.
- Lead generation — companies actively hiring remote engineers are companies with budget.
- Market research — track remote hiring demand by role, contract type, and region over time.
- Personal job hunting — filter by keyword and get a clean spreadsheet instead of scrolling a web page.
We Work Remotely has no public API. This Actor is the fastest way to get its data programmatically.
How to use it
- Click Start to run it with the defaults — this returns every live job on the board.
- To narrow the results, set Filter by keyword (for example
engineer,designer, orpython). - To restrict to a contract type, pick one from the Contract type dropdown.
- Set Maximum jobs if you want to cap the run size.
- When the run finishes, open the Storage tab and export in your preferred format.
To keep a dataset continuously fresh, open the Schedule tab and set the Actor to run once a day.
Input
| Field | Type | Description |
|---|---|---|
maxItems | integer | Maximum jobs to return. Default 200. The board holds roughly 180 live listings. |
keyword | string | Only return jobs whose title or company contains this text. Leave empty for everything. |
contractType | select | any, Full-Time, Part-Time, Contract, or Freelance. |
Example input:
{"maxItems": 200,"keyword": "engineer","contractType": "Full-Time"}
Output
Each job becomes one dataset item:
{"title": "Application Security Engineer II","company": "Abnormal","headquarters": "California, US","contractType": "Full-Time","region": "Anywhere in the World","regions": ["Anywhere in the World"],"isPromoted": false,"isNew": true,"categories": ["Full-Time", "Anywhere in the World"],"url": "https://weworkremotely.com/remote-jobs/abnormal-application-security-engineer-ii","scrapedAt": "2026-08-25T00:33:23.744Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data fields
| Field | Description |
|---|---|
title | The job title. |
company | Hiring company name. |
headquarters | Where the company is based. |
contractType | Full-Time, Part-Time, Contract, or Freelance. |
region | Primary region the role is open to. |
regions | Full list of eligible regions or countries. |
isPromoted | Whether this is a paid placement (Featured, Boosted, or Top 100). |
isNew | Whether the board flags the listing as new. |
categories | Raw category chips exactly as shown on the site. |
url | Direct link to the job posting. |
scrapedAt | ISO timestamp of when the row was captured. |
How much does it cost to scrape We Work Remotely?
This Actor is billed per job returned, so the cost scales exactly with the data you get. A run that matches nothing costs nothing. Use Maximum jobs to put a hard ceiling on any single run.
Because the Actor uses plain HTTP requests rather than a full browser, platform compute cost is very low — a complete run of the whole board finishes in about two seconds.
Tips
- Run it on a daily schedule and diff against yesterday's dataset to detect brand-new postings.
- The
isPromotedflag lets you separate organic listings from paid placements — useful if you're measuring genuine hiring demand. - Use
regionsrather thanregionwhen you need full geographic eligibility; some listings cover 30+ countries. - Connect a webhook on run completion to push new jobs into Slack, a spreadsheet, or your database automatically.
FAQ, disclaimers, and support
Is this legal? This Actor collects only publicly visible job listings. We Work Remotely's robots.txt permits crawling of the job listing pages. You remain responsible for complying with the site's Terms of Service and applicable law in how you use the data.
Why did I get fewer jobs than expected? The board's live listing count fluctuates as roles are posted and filled. Around 180 is typical. If you set a keyword or contractType filter, you will naturally get fewer.
Does it scrape the full job description? Not currently — it captures the listing index. If you need full descriptions from each job page, open the Issues tab and let me know.
Found a bug or need a custom variant? Open an issue on the Issues tab.