WeWorkRemotely Jobs Scraper: Remote Jobs, Salary and New Alerts avatar

WeWorkRemotely Jobs Scraper: Remote Jobs, Salary and New Alerts

Pricing

from $0.68 / 1,000 job postings

Go to Apify Store
WeWorkRemotely Jobs Scraper: Remote Jobs, Salary and New Alerts

WeWorkRemotely Jobs Scraper: Remote Jobs, Salary and New Alerts

Get remote jobs from WeWorkRemotely across all ten categories in one run, deduplicated and newest first. Filter by keyword, region, country, job type, freshness and salary. Pay ranges and skills come as clean fields, with optional descriptions and company details, plus a new-jobs-only monitor mode.

Pricing

from $0.68 / 1,000 job postings

Rating

0.0

(0)

Developer

GetAScraper

GetAScraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Get every remote job on WeWorkRemotely in one clean list, with pay ranges and skills already pulled out.
All ten categories in a single run, deduplicated and newest first. Filter by keyword, skill, company, seniority, region, country, job type and salary, or schedule it to receive only new postings.
๐Ÿ—‚๏ธ Whole board
All ten categories in one run, merged into one list with no repeats.
๐Ÿ’ฐ Pay as numbers
Stated salary ranges come as minimum, maximum, currency and period.
๐Ÿ”Ž Filters that combine
Keywords, skills, company, seniority, region, job type, freshness and salary floor in one search.
๐Ÿ”” New jobs only
Schedule it and get just the postings you have not seen before.

WeWorkRemotely Jobs Scraper collects the remote job postings listed on WeWorkRemotely, one of the best known remote job boards. Each run returns one record per job with the company, role, category, job type, region, eligible countries, skills, posting and expiry dates, and the pay range when the posting states one.

The site spreads its jobs over ten category pages and has no way to filter across them. This Actor reads all of them at once, removes duplicates and applies your filters to the whole board. Full job descriptions and company details are one checkbox away.

No WeWorkRemotely account is needed.

๐Ÿ™‹ Why use it

  • I am a recruiter who sources for remote roles. I filter for worldwide jobs that name a minimum salary, so I only spend time on openings that fit my candidates.
  • I run a niche job board. I schedule the new jobs mode once a day, and every run hands me only the postings I have not published yet.
  • I research pay for remote work. I get stated salary ranges as numbers with a currency and a pay period, instead of copying them out of descriptions by hand.
  • I am a remote job seeker. I search all categories for "python" or "customer success" in one go and sort out the roles open to my country.

๐Ÿš€ How to use it

STEP 1
Choose what you want
Pick categories, add keywords, and set region, country, job type and pay filters.
STEP 2
Run the Actor
It reads the live board, merges the categories and keeps the jobs that match.
STEP 3
Export or schedule
Download JSON, CSV or Excel, or run it on a schedule for a new jobs feed.

No coding required. Click Try for free, adjust the Input tab and press Start. A first run with the default settings returns the 20 newest jobs from the last 30 days.

โš™๏ธ Input

The form is grouped into sections. Every field is optional.

๐Ÿ—‚๏ธ Job categories

FieldTypeDescription
categoriesarray of enumCategories to read: full-stack, front-end and back-end programming, DevOps and sysadmin, design, product, customer support, sales and marketing, management and finance, or all other. Leave empty for all ten.

๐Ÿ”Ž Keywords and skills

FieldTypeDescription
keywordsarray of stringsKeep jobs whose title, company, skills or description mention at least one of these words or phrases.
titleKeywordsarray of stringsKeep jobs whose job title contains at least one of these words. Stricter than keywords.
skillsarray of stringsKeep jobs that list at least one of these skills. Partial matches count.
excludeKeywordsarray of stringsDrop jobs whose title, company or skills mention any of these words.

๐ŸŒ Location and eligibility

FieldTypeDescription
regionsarray of enumWhere you can work from: anywhere in the world, USA only, North America, Americas, Europe, EMEA, or other.
countriesarray of stringsKeep jobs that list one of these countries as eligible, for example Canada or United Kingdom.
excludeCountriesarray of stringsDrop jobs that list any of these countries as eligible.
locationsarray of stringsKeep jobs whose region, state or listed countries contain one of these words, for example Texas or Asia.

๐Ÿ’ผ Role and employer

FieldTypeDescription
jobTypesarray of enumFull-time, contract, part-time or freelance.
seniorityarray of enumIntern, junior, mid, senior, lead or director, read from the job title when it states a level.
companiesarray of stringsKeep jobs from companies whose name contains one of these words.
excludeCompaniesarray of stringsDrop jobs from companies whose name contains any of these words.
companyHeadquartersarray of stringsKeep jobs from companies whose published headquarters contain one of these words.
onlyWithCompanyWebsitebooleanKeep only jobs where the employer published a company website.

๐Ÿ’ฐ Pay and freshness

FieldTypeDescription
postedWithinDaysintegerOnly jobs posted in the last N days. The board still lists some old postings, so the default is 30.
excludeExpiredbooleanDrop jobs whose listing has already passed its expiry date.
salaryOnlybooleanKeep only jobs whose posting states a pay range.
minAnnualSalaryintegerKeep jobs whose stated pay, converted to a yearly amount, reaches this number. Amounts are compared as written, without currency conversion.
salaryCurrenciesarray of stringsKeep jobs whose stated pay is in one of these currencies, such as USD, EUR or GBP.

๐Ÿ“ฆ Output and limits

FieldTypeDescription
maxResultsintegerNumber of jobs to return. Default 20.
sortByenumNewest first (default), oldest first, highest stated pay first, company name or job title.
maxJobsPerCompanyintegerReturn at most this many jobs per company. 0 means no limit.

๐Ÿงฉ Extra details

FieldTypeDescription
includeDescriptionbooleanAdd the full job description as text and as HTML.
includeCompanyDetailsbooleanAdd company headquarters, website and logo when the employer published them.

๐Ÿ”” New jobs monitoring

FieldTypeDescription
onlyNewJobsbooleanReturn only jobs not returned by an earlier run with the same watchlist name.
monitorScopestringWatchlist name. Use one name per search so each keeps its own list of seen jobs.
resetSeenJobsbooleanForget the jobs remembered under this watchlist name before the run.

๐Ÿ“ฆ Output

Every run produces one dataset row per job. Here is a real example with company details turned on:

{
"jobId": "vertex-marketing-group-distribution-engineer",
"url": "https://weworkremotely.com/remote-jobs/vertex-marketing-group-distribution-engineer",
"title": "Distribution Engineer",
"company": "Vertex Marketing Group",
"category": "Back-End Programming",
"jobType": "Full-Time",
"region": "Anywhere in the World",
"state": "Lemesos",
"skills": ["Python", "API", "DevOps", "Android", "iOS"],
"postedAt": "2026-10-20T11:32:37.000Z",
"expiresAt": "2026-11-19T11:32:37.000Z",
"salaryText": "$4,000 to $6,000",
"salaryMin": 4000,
"salaryMax": 6000,
"salaryCurrency": "USD",
"salaryPeriod": "month",
"companyHeadquarters": "Bulgaria",
"companyWebsite": "https://vertexmg.com",
"companyLogoUrl": "https://wwr-pro.s3.amazonaws.com/logos/0171/6611/logo.gif",
"scrapedAt": "2026-10-23T18:06:48.732Z"
}

Download the dataset as JSON, CSV, HTML or Excel, or read it through the Apify API. Fields a posting does not provide are left out instead of filled with placeholders.

๐Ÿ“‹ Data table

FieldTypeDescription
jobIdstringStable identifier of the posting, usable as a unique key.
urlstringLink to the posting on WeWorkRemotely, where you apply.
titlestringJob title without the company prefix.
companystringHiring company.
categorystringWeWorkRemotely category of the job.
jobTypestringFull-Time, Contract, Part-Time or Freelance.
senioritystringIntern, junior, senior, lead or director, only when the job title states a level.
regionstringRegion the job is open to, as posted, such as "Anywhere in the World" or "USA Only".
countriesarrayCountries the employer lists as eligible, when it lists any.
statestringState or province given by the employer, when present.
skillsarraySkills listed by the employer, when present.
postedAtstringPosting date and time in ISO format.
expiresAtstringDate the posting expires.
salaryTextstringPay range as written in the posting.
salaryMinnumberLower end of the stated pay range.
salaryMaxnumberUpper end of the stated pay range.
salaryCurrencystringCurrency code of the stated pay.
salaryPeriodstringPay period: year, month or hour.
companyHeadquartersstringCompany headquarters, when company details are on and the employer gave one.
companyWebsitestringCompany website, when company details are on and the employer gave one.
companyLogoUrlstringCompany logo image, when company details are on and the job has one.
descriptionstringFull job description as plain text, when descriptions are on.
descriptionHtmlstringFull job description with formatting, when descriptions are on.
scrapedAtstringTime the record was collected.

Salary fields appear only when the posting states a clear pay range. Roughly half of postings do.

๐Ÿ’ฐ Pricing

This Actor is pay per result. You are billed for the job records that land in your dataset. There are no subscriptions or monthly fees. Check the Actor's Pricing tab on Apify Store for the current rate.

Free plan runs are limited to 25 jobs per run, 3 runs per day and a short wait between runs.

โญ Enjoying WeWorkRemotely Jobs Scraper?

โญ โญ โญ โญ โญ
One filtered list of remote jobs replaces ten category pages and a lot of copy and paste.
A 5-star rating takes 10 seconds and helps other recruiters and job board owners find it. Your feedback also tells us what to build next.
โ˜…ย ย Rate this Actor on Apify

๐Ÿ’ก Tips for better runs

  • Leave categories empty and use keywords to search the whole board at once. WeWorkRemotely's own search cannot do this across categories.
  • Raise maxResults to collect the full board. A full run returns a few hundred jobs.
  • Turn on salaryOnly with minAnnualSalary to build a list of well paid remote roles. Hourly and monthly pay is converted to a yearly amount for the comparison.
  • For a new jobs feed, turn on onlyNewJobs, give each search its own monitorScope, and attach a schedule. The first run returns the current jobs and remembers them.
  • Turn on includeDescription only when you need the text. Leaving it off keeps the dataset small.

โ“ FAQ

Does it need a login or get blocked?

No. It reads the public job listings of WeWorkRemotely. No account, cookies or API keys are involved.

How many jobs are there?

The board holds a few hundred live postings at any time across the ten categories. Some older postings stay listed for months, which is why the default shows the last 30 days.

Does every job have a salary?

No. Roughly half of the postings state a pay range, and only those get salary fields. Jobs without a stated range have no salary fields at all, and nothing is guessed.

Each record links to the posting page on WeWorkRemotely, where candidates apply. Company website and headquarters are included when the employer published them. Personal contact details are never collected.

How do I get only new remote jobs every day?

Turn on onlyNewJobs, pick a watchlist name and schedule the Actor. Each run returns only postings that were not returned before under that name.

๐Ÿ”— Other actors