We Work Remotely Scraper
We Work Remotely Job Listings Scraper
Scrape job listings from WeWorkRemotely.com — the largest remote-only job board. Returns job titles, company names, salaries (parsed min/max), categories, employment types, location restrictions, and listing URLs for all ~180 current openings across 10 categories.
We Work Remotely Scraper Features
- Extracts all active job listings from WeWorkRemotely.com in a single run
- Filters by category (Programming, Design, DevOps & Sysadmin, Sales & Marketing, and 6 others)
- Filters by employment type (Full-Time, Contract, Part-Time)
- Keyword search across job titles and tags
- Parses structured salary data — minimum, maximum, and currency — from free-text salary badges
- Returns company headquarters location when listed
- Includes company logo URLs for enriched display
- No proxies needed. No browser rendering. Fast, clean HTML extraction from a server-rendered site.
What Can You Do With We Work Remotely Data?
- Recruiters & talent acquisition teams — Monitor remote job market trends, benchmark salary ranges, and identify which companies are actively hiring in a given category.
- Job aggregators and listing platforms — Ingest structured remote job data into your own job board or alert system without manual curation.
- Salary benchmarking tools — Extract salary ranges across roles and categories to power compensation analytics, especially useful for remote-first roles that often post salary openly.
- Workforce analytics researchers — Track hiring velocity by category, company size, or location restriction to understand remote work market shifts.
- Lead generation for B2B SaaS — Identify companies growing remote engineering or sales teams as high-intent prospects for tooling, HR platforms, or benefits providers.
- Career coaching and job-seeking tools — Build curated job feeds filtered by category and type for specific candidate profiles.
How We Work Remotely Scraper Works
- Configure your filters. Select a category (or leave empty for all categories), an employment type, and optionally a keyword to search job titles and tags.
- The scraper fetches the listing pages. WWR's homepage groups all active jobs by category in clean server-rendered HTML — the scraper processes them in one efficient pass.
- Data is extracted from each listing card. Job title, company name, headquarters, salary badge, location restriction, and tags are parsed from the HTML.
- Results land in your dataset. Each record is a structured JSON object. Salary is parsed into numeric min/max fields with currency. Tags are pipe-separated strings.
Input
{
"category": "programming",
"jobType": "full-time",
"searchKeyword": "python",
"maxItems": 50
}
| Field | Type | Default | Description |
|---|---|---|---|
category |
String | All categories | Filter by job category. Options: programming, design, copywriting, devops-sysadmin, customer-support, sales-marketing, business-exec-management, finance-legal, product, all-other-remote. |
jobType |
String | All types | Filter by employment type. Options: full-time, contract, part-time. |
searchKeyword |
String | — | Search for jobs by keyword. Matches against job titles and tags. |
listingUrls |
Array | — | Specific We Work Remotely job listing URLs to scrape directly, bypassing category crawling. |
maxItems |
Integer | 10 | Maximum number of job listings to return. Set to 0 for unlimited. |
Scrape a specific category with no limit:
{
"category": "design",
"maxItems": 0
}
We Work Remotely Scraper Output Fields
{
"job_title": "Senior Full Stack Engineer",
"company_name": "Automattic",
"company_logo_url": "https://we-work-remotely.imgix.net/logos/0001/0001/logo.gif?ixlib=rails-4.0.0&w=50&h=50",
"category": "Back-End Programming",
"job_type": "Full-Time",
"salary_min": 120000,
"salary_max": 170000,
"salary_currency": "USD",
"location_restriction": "Anywhere in the World",
"description": null,
"apply_url": null,
"posted_date": null,
"tags": "WordPress | PHP | React",
"remote_type": "fully_remote",
"company_hq": "San Francisco, CA",
"listing_url": "https://weworkremotely.com/remote-jobs/automattic-senior-full-stack-engineer"
}
| Field | Type | Description |
|---|---|---|
job_title |
String | Job title as listed on the posting |
company_name |
String | Name of the hiring company |
company_logo_url |
String | URL of the company logo image |
category |
String | Job category (Back-End Programming, Design, etc.) |
job_type |
String | Employment type (Full-Time, Contract, Part-Time) |
salary_min |
Number | Minimum salary parsed from the listing badge (annual) |
salary_max |
Number | Maximum salary parsed from the listing badge (annual) |
salary_currency |
String | Salary currency code (USD, EUR, GBP, etc.) |
location_restriction |
String | Geographic restriction or "Anywhere in the World" for unrestricted |
description |
String | Full job description text (currently null — detail pages require different access) |
apply_url |
String | Direct application URL (currently null — detail pages require different access) |
posted_date |
String | ISO 8601 posting date (currently null — not present on listing cards) |
tags |
String | Skill tags and badges from the listing card, pipe-separated |
remote_type |
String | Remote arrangement (fully_remote or hybrid) |
company_hq |
String | Company headquarters location when listed |
listing_url |
String | Full We Work Remotely listing URL |
FAQ
How many jobs does WeWorkRemotely.com have?
WeWorkRemotely.com maintains around 150-200 active job listings at any time across all categories. The site is curated rather than aggregated, so volume is lower than generalist boards — but listing quality is high and all roles are remote.
Why are description, apply_url, and posted_date null?
These fields are only available on individual job detail pages. The listing cards on category pages contain all commercially useful structured fields — title, company, salary, category, location, and tags. The null fields are included in the schema for completeness and forward compatibility.
Does this scraper need proxies?
No. WeWorkRemotely.com serves its listing pages as clean server-rendered HTML without requiring proxies. Set up and run in seconds.
How often should I run this scraper?
We Work Remotely posts new jobs daily while maintaining a stable total count. Running once or twice daily catches fresh listings. Use listing_url as a deduplication key across runs.
Can I scrape only a specific job category?
Yes. Set the category input to one of: programming, design, copywriting, devops-sysadmin, customer-support, sales-marketing, business-exec-management, finance-legal, product, or all-other-remote. Leave empty to scrape all categories.
Need More Features?
Open a feature request or contact us through the Apify platform — we respond to all improvement suggestions.
Why Use We Work Remotely Scraper?
- Priced at $0.001/record — 12x cheaper than the leading PPE competitor ($0.012/item), and more cost-effective than flat-rate alternatives for typical run sizes.
- Structured salary parsing —
salary_min,salary_max, andsalary_currencyextracted from free-text badges. Most competitors return raw salary strings that require post-processing. - Category and type filters — target exactly the job segment you need without downloading everything and filtering client-side.
- No operational overhead — no proxy costs, no browser rendering, no rate limit tuning required.