We Work Remotely Scraper – Remote Jobs, Keywords & URLs avatar

We Work Remotely Scraper – Remote Jobs, Keywords & URLs

Pricing

from $1.00 / 1,000 results

Go to Apify Store
We Work Remotely Scraper – Remote Jobs, Keywords & URLs

We Work Remotely Scraper – Remote Jobs, Keywords & URLs

Extract current remote job listings from weworkremotely.com. Use keyword search or WWR feed, category, and remote-jobs URLs. Returns clean job rows with title, company, category, region, tags, salary text, description matches, and filtered structured output.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

AbotAPI

AbotAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

We Work Remotely Jobs Scraper

Extract current remote job listings from We Work Remotely into clean dataset rows for recruiting, lead sourcing, market tracking, and job alert workflows.

The scraper supports two clear modes:

  • Keyword search: search current listings by terms such as python, designer, support, sales, or manager.
  • URL list: read specific We Work Remotely feed, category, or remote-jobs URLs.

Why use it

  • Two input modes with explicit mode selection.
  • Category, region, date, salary, company website, apply link, and description-length filters.
  • More than 60 fields when full descriptions are enabled.
  • Normalized URLs, category slugs, job slugs, posting dates, expiry dates, salary hints, domains, section text, technologies, and seniority hints.
  • Optional MCP connector export for Notion, Linear, Airtable, and Apify after the dataset is written.

Input modes

Use keyword mode when you want matching jobs from current WWR listings.

All categories scans all supported WWR category feeds and deduplicates jobs by listing URL before applying your keyword and filters. This gives broader coverage than the main feed alone.

Supported category selectors:

CategoryUse for
All categoriesBroad discovery across supported categories
ProgrammingGeneral engineering roles
Front-End ProgrammingFront-end and UI engineering roles
Back-End ProgrammingBackend and server-side roles
Full-Stack ProgrammingFull-stack roles
DesignProduct, UI, UX, and graphic design roles
Customer SupportSupport and success roles
Sales and MarketingSales, growth, and marketing roles
ProductProduct management and product operations roles
DevOps and SysadminInfrastructure, platform, SRE, and operations roles
Management and FinanceLeadership, operations, finance, and admin roles

URL list

Use URL mode when you already know the WWR source to read.

Accepted URL examples:

https://weworkremotely.com/remote-jobs.rss
https://weworkremotely.com/categories/remote-programming-jobs
https://weworkremotely.com/categories/remote-design-jobs.rss

URL mode ignores keyword terms and category selectors. The URLs define the source set.

Filters

Filters apply after the source listings are read and normalized.

InputWhat it does
regionsKeeps listings whose region contains one of your values, such as Anywhere in the World, United States, or Europe.
postedWithinDaysKeeps listings posted within the selected age window.
requireSalaryKeeps only rows where salary text was found.
requireCompanyWebsiteKeeps only rows with a company website URL.
requireApplyUrlKeeps only rows with an apply URL value.
minDescriptionLengthKeeps rows whose cleaned description text is at least this long.
includeDetailsAdds full description HTML/text and parsed description sections.
maxItemsMaximum number of matching rows to save. It is a cap, not a guarantee. If the selected keyword and filters only match 11 current jobs, the dataset will contain 11 rows even when maxItems is 20.

Data You Get

Typical rows include these field groups:

GroupFields
Job identityjobId, jobSlug, rowType, title, rawTitle, companyName
URLsurl, canonicalUrl, listingDomain, applyUrl, applicationUrl, externalApplyUrl, applyUrlIsExternal, applyUrlDomain
CompanycompanyWebsiteUrl, companyWebsiteDomain, companyLogoUrl, headquarters
Locationregion, regionSlug, locationText, country, state, isRemote, isWorldwide
Category and rolecategory, categorySlug, jobType, employmentType, seniorityLevel, skills, skillsRaw, skillsSource, skillsCount, technologies, tags
DatespostedAt, postedAtText, postedAgeDays, expiresAt, expiresAtText, expiresInDays, isExpired, scrapedAt
SalarysalaryText, salaryMin, salaryMax, salaryCurrency, hasSalary
DescriptiondescriptionText, descriptionHtml, descriptionLength, sectionHeadings, descriptionSections, aboutCompanyText, responsibilitiesText, requirementsText, benefitsText
Source metadatasourceUrl, sourceType, searchKeyword, hasCompanyWebsite, externalLinks, externalLinkCount

Field Notes

  • maxItems limits saved matches; it does not create more jobs than the selected source and filters currently match.
  • skills and skillsRaw come from the WWR feed when present. skillsSource marks those values as WWR-sourced.
  • technologies and seniorityLevel are derived from the listing text to make filtering and post-processing easier.
  • applyUrl is the WWR listing URL when WWR does not expose a separate external apply URL in the feed. Use applyUrlIsExternal and externalApplyUrl to distinguish this.
  • externalLinks captures non-WWR links found in the description, including company URLs and application links when present.
  • descriptionSections, aboutCompanyText, responsibilitiesText, requirementsText, and benefitsText are populated when includeDetails is enabled and the listing text has recognizable sections.

Example Input

Keyword search across all categories:

{
"mode": "keyword",
"searchTerms": ["python"],
"categories": ["all"],
"includeDetails": true,
"maxItems": 20,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": []
},
"mcpConnectors": [],
"maxNotifyListings": 50
}

URL list:

{
"mode": "url",
"startUrls": [
{ "url": "https://weworkremotely.com/categories/remote-design-jobs" }
],
"includeDetails": false,
"maxItems": 10,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": []
},
"mcpConnectors": []
}

Example Output

{
"rowType": "job",
"jobId": "ad0db063721b33ed",
"jobSlug": "close-senior-software-engineer-backend-python-usa-only-100-remote-1",
"title": "Senior Software Engineer - Backend/Python - USA Only (100% Remote)",
"companyName": "Close",
"category": "Back-End Programming",
"region": "Anywhere in the World",
"jobType": "Full-Time",
"technologies": ["Python", "AWS", "PostgreSQL"],
"seniorityLevel": "Senior",
"postedAt": "2026-06-10T22:30:21Z",
"expiresAt": "2026-07-10T22:30:21Z",
"applyUrlIsExternal": false,
"url": "https://weworkremotely.com/remote-jobs/close-senior-software-engineer-backend-python-usa-only-100-remote-1",
"descriptionLength": 4200,
"sourceType": "rss",
"searchKeyword": "python"
}

Export To Your Apps

MCP connector support is included. Select one or more authorized connectors in the MCP connectors input field to send a compact summary of saved jobs after the dataset is written.

Supported connector targets include Notion, Linear, Airtable, and Apify.

The connector export is separate from the dataset:

  • Complete records stay in the Apify dataset.
  • Connectors receive a compact text summary with key fields.
  • Max jobs to export per connector limits how many saved rows are sent to each connector.
  • For Notion, set Notion parent page to the page URL or page ID where new pages should be created.

If no connector is selected, the run only writes the dataset.

Proxy

Apify Proxy is enabled by default with the standard pool. You can adjust the proxy field if your run environment needs a different route.