Remote Jobs Scraper — We Work Remotely & RemoteOK avatar

Remote Jobs Scraper — We Work Remotely & RemoteOK

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Remote Jobs Scraper — We Work Remotely & RemoteOK

Remote Jobs Scraper — We Work Remotely & RemoteOK

Scrape remote jobs from We Work Remotely and RemoteOK with onlyNewJobs deduplication, salary filters, and n8n/Slack automation. Two sources in one run, unlike single-board scrapers.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Haruto G

Haruto G

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

23 days ago

Last modified

Share

Remote Jobs Scraper — RemoteOK

Scrape structured remote job listings in seconds. This Apify Actor collects clean, export-ready job data from RemoteOK — a widely used remote job board for developers, recruiters, and market researchers.

No custom code. No brittle scripts. Run it on a schedule, pipe results into your stack, and get consistent JSON every time.

New: enable onlyNewJobs to get only fresh listings since your last run — the killer feature for daily Slack alerts, spreadsheet syncs, and recurring automations without duplicate noise.


Why teams buy this Actor

Pain pointWhat you get
Manual copy-paste from job boardsAutomated extraction at scale
Duplicate alerts every morningonlyNewJobs — diff-only output via KVS cache
Inconsistent data shapesOne normalized schema for every record
Fragile DIY scrapers that breakMaintained RemoteOK API integration
Slow research cyclesFilter by keyword, salary, or skill tags

Built for speed, reliability, and integration — the three things that matter when you're paying per result or running daily pipelines.


RemoteOK attribution (required)

RemoteOK's terms require that you:

  1. Credit Remote OK as the source when displaying or redistributing job data
  2. Link directly to each job's URL on remoteok.com (no redirects)
  3. Link back to RemoteOK on any page or app screen where you show this data

This Actor helps by including these fields on every record:

FieldPurpose
url / applyUrlDirect link to the job on RemoteOK
sourceAttribution"Remote OK"
sourceSiteUrlhttps://remoteok.com

Your responsibility: if you build a dashboard, Slack bot, or public job board with this data, include the attribution and links above in the UI — not just in the raw JSON.


Automate without code (n8n · Make · Zapier)

You don't need to be an engineer to build a job-alert system. Connect this Actor to your favorite iPaaS tool and let it run on autopilot.

Typical no-code flow

Schedule (daily 8 AM)
→ Run Remote Jobs Scraper (onlyNewJobs: true)
→ If new jobs found
→ Send to Slack / Google Sheets / Email

Why onlyNewJobs matters for automation: without it, every scheduled run sends the same 50–100 jobs again. With it, your Slack channel or spreadsheet only receives genuinely new postings.


Step 1 — Configure the Actor

{
"maxItems": 100,
"searchKeyword": "python",
"onlyNewJobs": true,
"minSalary": 80000
}

Step 2 — Schedule on Apify

  1. Open the Actor → SchedulesCreate schedule
  2. Set cron: 0 8 * * * (every day at 8:00 AM)
  3. Paste the input above
  4. Enable Save dataset and optional Webhook on success

Step 3 — Connect your tool

ToolWhat to do
n8nApify Trigger → Get Dataset Items → Slack / Google Sheets
MakeApify Watch Actor Runs → Iterator → Add Row / Send Message
ZapierApify integration → Filter (itemCount > 0) → Slack / Gmail

Data fields

Every record is normalized into a consistent schema:

FieldDescription
titleJob title
companyHiring company name
locationRemote region or geography
tagsSkills and category labels
salary / salaryMin / salaryMaxCompensation when listed
urlDirect link to the job on RemoteOK
applyUrlApply link on RemoteOK
sourceAttribution"Remote OK"
sourceSiteUrlhttps://remoteok.com
postedAtISO 8601 posting date
jobIdStable deduplication key

Additional fields: description, currency, externalId, scrapedAt.


Example output

[
{
"jobId": "remoteok:123456",
"title": "Senior Python Developer",
"company": "Acme Corp",
"location": "Worldwide",
"tags": ["Python", "Django"],
"salary": "$120,000 - $160,000",
"salaryMin": 120000,
"salaryMax": 160000,
"currency": "USD",
"url": "https://remoteok.com/remote-jobs/123456",
"applyUrl": "https://remoteok.com/remote-jobs/123456",
"source": "remoteok",
"sourceAttribution": "Remote OK",
"sourceSiteUrl": "https://remoteok.com",
"postedAt": "2026-07-17T08:42:51Z"
}
]

Quick start

Example input

{
"maxItems": 100,
"searchKeyword": "python",
"minSalary": 80000,
"onlyNewJobs": true,
"tags": ["python"]
}

Call via API (cURL)

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~remote-jobs-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"maxItems": 100,
"searchKeyword": "python",
"onlyNewJobs": true
}'

Call via Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("YOUR_USERNAME/remote-jobs-scraper").call(
run_input={
"maxItems": 100,
"searchKeyword": "python",
"onlyNewJobs": True,
}
)
jobs = client.dataset(run["defaultDatasetId"]).list_items().items
print(f"New jobs: {len(jobs)}")

Input parameters

ParameterTypeDefaultDescription
maxItemsinteger100Maximum records to collect (1–1000)
searchKeywordstringCase-insensitive filter on title, company, tags
minSalaryintegerMinimum salary filter (USD, when disclosed)
onlyNewJobsbooleanfalseOutput only jobs not seen in previous runs
tagsstring[][]RemoteOK tag filter (e.g. python, devops)

How onlyNewJobs works

  1. The Actor loads a cache of previously seen jobId keys from the Apify Key-Value Store
  2. It fetches up to maxItems listings from RemoteOK
  3. Only listings not in the cache are pushed to the Dataset
  4. All scraped job keys are merged into the cache for the next run

First run with onlyNewJobs: true returns all scraped jobs (empty cache). Every subsequent scheduled run returns only the delta.


Data source

SourceMethodNotes
RemoteOKPublic JSON API (remoteok.com/api)Fast bulk fetch, salary ranges, skill tags

  • Data is fetched from RemoteOK's public API feed
  • Each record includes attribution fields required by RemoteOK terms
  • You must credit Remote OK and link back when displaying data in apps, dashboards, or public pages
  • Use reasonable maxItems and respect RemoteOK's API access policies
  • Do not republish personal data beyond what the listing exposes

Support

Questions or feature requests? Open an issue on the Actor page or contact the author via the Apify Console.

Keywords: remote jobs scraper, RemoteOK API, job board data, n8n job alerts, Zapier remote jobs, Slack job notifications, Google Sheets job scraper, only new jobs, daily job alerts, recruiter automation.