WeWorkRemotely Job Listings Scraper
Pricing
from $0.70 / 1,000 jobs
WeWorkRemotely Job Listings Scraper
[π°0.8/1k] Scrapes job listings from WeWorkRemotely.com. Supports categories, search, and job detail pages with rich JSON-LD data including salary, applicant countries, and company info.
Pricing
from $0.70 / 1,000 jobs
Rating
0.0
(0)
Developer
Epic Scrapers
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
0
Monthly active users
17 days ago
Last modified
Categories
Share
WeWorkRemotely Jobs Scraper: remote jobs by category, keyword and country, exported to a spreadsheet
WeWorkRemotely Jobs Scraper turns the listings on We Work Remotely into a dataset you can sort, filter and export. It is for job seekers, recruiters, remote-work newsletters and job-board builders. Each row is one remote job, with its title, company, category, employment type, region, the countries it accepts applicants from, skills, posting date and a link to the job.
- Category, keyword and employment-type runs. Pick a category such as Back-End or Design, search a keyword such as
python, or paste any WeWorkRemotely list URL. - Post-filters that match how remote jobs are posted. Keep only jobs open to applicants in your countries (
countries), jobs from the last 24 hours to 90 days (timeFilter), given regions such asUSA OnlyorEMEA, or given job types. - Fast listing mode. With Include detail pages off, the Actor reads category feeds and returns jobs in seconds.
- Clean descriptions on request. Keep the job description as HTML, strip it to plain text, or leave it out to keep the dataset small.
- Pay per job, no login. The Pricing tab shows the per-job price. No WeWorkRemotely account or API key. Export to JSON, CSV, Excel or Google Sheets.
Scope: This Actor covers WeWorkRemotely only. For general job boards use Indeed Job Scraper or SEEK Job Scraper. For freelance project posts use Upwork Job Scraper.
What can you do with WeWorkRemotely Jobs Scraper?
| Goal | How |
|---|---|
| Build a daily remote job feed | Schedule a run with timeFilter set to 24h and send new rows to a sheet or Slack. |
| Find jobs you can apply to from where you live | Set countries (for example US, GB, DE) and check applicantCountries. |
| Track hiring in one field | Choose a category or searchKeyword and count rows per companyName and postedDate. |
| Source companies that hire remotely | Collect companyName, companyLogo and url for every listing in a category. |
| Compare skills in demand | Count values in skills across a category. |
| Feed a job board or newsletter | Export title, companyName, url, employmentType and postedDate. |
How it compares
| What you need | WeWorkRemotely Jobs Scraper | Browsing the site by hand | Generic page scrapers |
|---|---|---|---|
| Bulk export | JSON, CSV, Excel, API | Copy and paste | Yes |
| Applicant-country filter | Built in | Read each listing | Write your own |
| Time-window filter | 24h, 7d, 30d, 90d | Scan dates by eye | Write your own |
| Repeated runs | Schedule and compare | Manual | Varies |
| Price | Pay per job | Free, slow | Varies |
Quick start
- Click Try for free and sign in to Apify.
- Choose a Category, enter a Search keyword, or paste URLs into Start URLs.
- For a first run, set Max items to
20. - Click Start, then open the Output tab to preview and export the data.
Input
{"category": "remote-back-end-programming-jobs","timeFilter": "7d","countries": ["US", "GB"],"includeDetailPages": false,"maxItems": 100}
| Field | Type | Default | Effect |
|---|---|---|---|
startUrls | Array | Empty | WeWorkRemotely URLs: /remote-jobs, /categories/{slug}, /remote-full-time-jobs, a search URL or one job URL. |
category | String | Empty | One category: full-stack, front-end, back-end, DevOps, design, product, management and finance, sales and marketing, customer support, or all other. |
searchKeyword | String | Empty | Keyword search such as python or react. |
employmentType | String | Empty | full-time or contract. Applies when a category or keyword is set. |
includeDetailPages | Boolean | true | Tries each job's own page for more fields. Off returns listing data only and runs faster. |
countries | Array | Empty | Keep jobs that accept applicants from these ISO-2 country codes. |
timeFilter | String | Empty | 24h, 7d, 30d or 90d. |
regions | Array | Empty | Keep jobs with these region labels, such as Anywhere in the World. |
jobTypes | Array | Empty | Keep jobs of these types, such as Full-Time, Contract, Freelance. |
minSalary | Integer | 0 | Minimum yearly salary in USD. Applies to jobs where a salary was found. |
includeDescription | Boolean | true | Include the job description. |
cleanHtml | Boolean | false | Return the description as plain text. |
maxItems | Integer | 1000 | Stop after this many jobs. |
proxy | Object | Residential | Apify Proxy settings. Residential is the default. |
Output
Example item from listing mode (includeDetailPages: false):
{"jobId": "test-corp-senior-dev","title": "Test Corp: Senior Developer","url": "https://weworkremotely.com/remote-jobs/test-corp-senior-dev","employmentType": ["Full-Time"],"occupationalCategory": ["Back-End Programming"],"postedDate": "2026-05-28T07:25:37.000Z","companyName": "Test Corp","companyLogo": "https://we-work-remotely.imgix.net/logos/0171/5359/logo.gif","location": "","region": "Anywhere in the World","applicantCountries": ["United Kingdom", "Germany"],"skills": ["Python", "AWS"],"tags": ["Full-Time", "Anywhere in the World"],"postedAge": "2d","scrapedAt": "2026-05-30T10:00:00.000Z","listingOnly": true}
Notes:
- The description is in
description(anddescriptionHtmlwhen the source gives HTML). - With detail pages on, a job can also have
salary(currency,min,max,value,unit),validThrough,applyUrl,companyUrlanddirectApply. WeWorkRemotely sometimes blocks job pages. When that happens the row falls back to listing data andlistingOnlystaystrue, so check that field before relying on salary. - Empty values are empty strings or empty arrays, not guesses.
postedDateis an ISO timestamp in UTC.
Track remote jobs over time with scheduled runs
Run the same query on a schedule to catch new remote jobs early. Apify can run the Actor for you and send the results wherever you need them.
1. Save your input as a task
Open the Actor, set your category, keyword and countries, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.
2. Schedule the task
In Apify Console, go to Schedules, click Create new, choose how often to run (for example daily at 06:00 in your time zone), and add your task. See Schedules and How to create a schedule.
Watch how to schedule an Actor:
Or schedule a saved task:
Common schedules:
| Use case | Frequency | Cron expression |
|---|---|---|
| New remote job alerts | Daily | 0 6 * * * |
| Hiring trends by category | Weekly (Monday) | 0 6 * * 1 |
| Fast-moving postings | Twice a day | 0 6,18 * * * |
3. Send the results to a spreadsheet
Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:
4. Compare runs
- New jobs:
jobIds that appear for the first time, withpostedDate. - Removed jobs:
jobIds that vanish between runs. - Hiring by company: rows per
companyNameover time. - Skills in demand: count of
skillsvalues per run. - Salary changes:
salaryperjobIdwhen detail pages are on (checklistingOnlyfirst).
FAQ
How many jobs can I get?
Up to maxItems (default 1,000). A category feed holds the most recent jobs the site lists, so the number per run depends on how many are currently open.
Why did I get few results?
Post-filters (countries, timeFilter, regions, jobTypes, minSalary) remove rows after collection. Loosen them or choose a wider category. Search URLs and keywords return one page of results.
Why is salary empty?
Many WeWorkRemotely jobs do not publish a salary, and job pages are sometimes blocked. Salary fields are only filled when the site provides them.
Do I need an account or proxy?
No account. Residential proxy is the default and recommended.
Is there an official API?
WeWorkRemotely offers RSS feeds but no full search API. This Actor adds filters, descriptions and export.
Is scraping WeWorkRemotely legal?
The Actor collects publicly visible job listings. You are responsible for following the site's terms and local law, including privacy rules if you store personal data.
Cost
Pay per event: you pay for each job saved to the dataset. The price is $0.00099 per job on the Free plan and $0.0008 per job on Bronze, falling to $0.0007 on higher tiers. Check the Pricing tab for current rates.
| Run size | Free plan | Bronze plan |
|---|---|---|
| 100 jobs | $0.099 | $0.08 |
| 1,000 jobs | $0.99 | $0.80 |
Related Actors
More job boards:
- Indeed Jobs Scraper: Worldwide, 62 country sites.
- SEEK Job Scraper: Australia and New Zealand.
- Naukri Job Scraper: India.
- Naukrigulf Jobs Scraper: the Gulf region.
- S1Jobs Scraper: Scotland.
- Upwork Job Scraper: freelance project posts.
Support
Found a problem? Open an issue in the Issues tab and include the run ID and your input.
This Actor is not affiliated with, endorsed by or sponsored by We Work Remotely. All trademarks belong to their owners.