RemoteOK Jobs Scraper avatar

RemoteOK Jobs Scraper

Pricing

from $0.30 / 1,000 job extracteds

Go to Apify Store
RemoteOK Jobs Scraper

RemoteOK Jobs Scraper

Scrape public RemoteOK remote job listings by skill tags, keywords, location text, salary range, and date. Export company, role, tags, salary, apply URL, source URL, and optional descriptions.

Pricing

from $0.30 / 1,000 job extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

Scrape public RemoteOK remote job listings into a clean Apify dataset.

Use this actor to monitor new remote roles, collect job-market signals, enrich recruiting workflows, and build job-board feeds from RemoteOK listings.

Scrape RemoteOK remote jobs by skill, location, salary, and date

RemoteOK Jobs Scraper extracts structured remote job data from RemoteOK.

It saves job rows with company, title, tags, location, salary range, apply link, source link, logo, and scrape timestamp.

You can filter jobs by skills, keywords, location text, salary range, posting date, and maximum item count.

The actor is designed for repeatable monitoring jobs where you need spreadsheet-ready results without manual browsing.

Who is it for?

Recruiters use it to track newly posted remote roles by stack, seniority, market, or company segment.

Job-board operators use it to populate newsletters, dashboards, and niche remote-work directories.

Market analysts use it to study remote hiring demand, salary ranges, hiring companies, and skill tags.

Lead-generation teams use it to find hiring companies and open roles that indicate buying intent.

Developers use it to automate remote-job feeds and integrate RemoteOK listings with their own systems.

Why use this actor?

Remote job listings change quickly.

Manual copy-paste is slow and error-prone.

This actor gives you structured rows that are ready for export, automation, and API use.

It supports precise filters so you can keep runs small and focused.

It also includes source URLs so each row can be verified from the original listing.

Key features

  • 🎯 Filter by tags or skills such as python, react, sales, or marketing.
  • 🔎 Add free-text keywords for title, company, tag, location, or description matches.
  • 🌍 Filter by location text such as USA, Europe, Worldwide, or Canada.
  • 💰 Filter by minimum and maximum reported salary ranges.
  • 📅 Keep only jobs posted after a chosen date.
  • 🧾 Optionally include job descriptions for richer analysis.
  • 🔗 Export direct apply and source URLs.
  • ⚡ Keep costs low with a maximum job limit.

RemoteOK fields you can export

FieldDescription
idRemoteOK job identifier.
slugRemoteOK job slug.
datePosting date when available.
companyHiring company name.
positionJob title or role.
tagsSkills and categories attached to the listing.
descriptionOptional job description HTML.
locationLocation text from the listing.
salaryMinLower salary bound when available.
salaryMaxUpper salary bound when available.
applyUrlDirect apply or listing URL.
sourceUrlSource job page URL.
logoCompany logo URL when available.
scrapedAtTimestamp when the actor saved the row.

Use as an RSS feed

You can turn the latest dataset items from a saved Apify task into an RSS feed. Create an actor task with your preferred input, then use the task's last-run dataset endpoint with format=rss, fields, and outputFields:

https://api.apify.com/v2/actor-tasks/[TASK_ID]/runs/last/dataset/items?format=rss&fields=position,sourceUrl,description,date&outputFields=title,link,description,pubDate&token=[APIFY_TOKEN]

Use the fields list to select this actor's dataset columns, and outputFields to map them to RSS item fields such as title, link, description, and pubDate. Keep your Apify API token private; do not embed tokenized feed URLs in public websites, public repositories, or client-side code.

How much does it cost to scrape RemoteOK jobs?

This actor uses pay-per-result pricing.

You pay a small start fee plus a small amount for each saved job row.

The default prefilled run is intentionally small so first tests stay inexpensive.

For large monitoring workflows, use filters and date limits to keep exports focused.

Final platform pricing is visible on the Apify actor page before you start a run.

Input options

InputTypeExampleNotes
tagsarray["python", "react"]Matches skills or terms across job text.
keywordsarray["backend"]Extra free-text filters.
locationstringUSAContains-match against location text.
sinceDatestring2026-06-01Use YYYY-MM-DD.
minSalaryinteger100000Jobs without salary are excluded when set.
maxSalaryinteger180000Leave 0 to disable.
maxItemsinteger25Maximum matching jobs to save.
includeDescriptionbooleanfalseEnable for richer but larger rows.

Example input

{
"tags": ["python", "react"],
"keywords": [],
"location": "",
"sinceDate": "",
"minSalary": 0,
"maxSalary": 0,
"maxItems": 20,
"includeDescription": false
}

Example output

{
"id": "1133690",
"slug": "remote-example-role-1133690",
"date": "2026-06-19T00:03:05+00:00",
"company": "Example Company",
"position": "Remote Software Engineer",
"tags": ["python", "react"],
"location": "Worldwide",
"salaryMin": 100000,
"salaryMax": 160000,
"applyUrl": "https://remoteok.com/remote-jobs/example",
"sourceUrl": "https://remoteok.com/remote-jobs/example",
"logo": "https://remoteok.com/assets/example.png",
"scrapedAt": "2026-06-20T00:00:00.000Z"
}

How to run

  1. Open the actor on Apify.
  2. Add skills or tags you care about.
  3. Optionally add location, salary, or date filters.
  4. Set maxItems to the number of matching jobs you want.
  5. Click Start.
  6. Download results as JSON, CSV, Excel, XML, or HTML.

Tips for better results

Use broad tags for market research.

Use narrow tags for recruiting alerts.

Leave location empty when you want all remote roles.

Use sinceDate for recurring daily or weekly monitoring.

Enable includeDescription only when you need full job text.

If a salary filter returns few rows, remember many listings do not publish salary ranges.

Common use cases

  • Track remote engineering jobs by programming language.
  • Build a weekly remote-work newsletter.
  • Monitor salary bands for remote roles.
  • Identify companies hiring remote workers.
  • Enrich CRM accounts with hiring signals.
  • Compare demand across skill tags.
  • Feed dashboards with current job-market data.

Integrations

Connect the actor to Google Sheets for recurring remote-job feeds.

Use scheduled tasks plus RSS/API exports for newsletters, remote-job boards, dashboards, and hiring-signal alerts.

Send results to Slack or email through Apify integrations.

Store data in a database or warehouse by pulling dataset items from the Apify API.

Trigger runs from Zapier, Make, n8n, MCP, or your own scheduler.

Combine results with enrichment actors to profile hiring companies.

API usage

You can start the actor from any HTTP client using the Apify API.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/remoteok-jobs-scraper').call({
tags: ['python'],
maxItems: 20,
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/remoteok-jobs-scraper').call(run_input={
'tags': ['python'],
'maxItems': 20,
})
print(run['defaultDatasetId'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~remoteok-jobs-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"tags":["python"],"maxItems":20}'

MCP usage

Use this actor from MCP-compatible tools through Apify MCP Server.

MCP URL:

https://mcp.apify.com/?tools=fetch_cat/remoteok-jobs-scraper

Claude Code setup:

$claude mcp add apify-remoteok --transport http "https://mcp.apify.com/?tools=fetch_cat/remoteok-jobs-scraper"

Claude Desktop JSON config:

{
"mcpServers": {
"apify-remoteok": {
"url": "https://mcp.apify.com/?tools=fetch_cat/remoteok-jobs-scraper"
}
}
}

Example prompts showing MCP usage:

Run fetch_cat/remoteok-jobs-scraper for Python remote jobs, max 20 items, and summarize the top companies hiring.
Find RemoteOK jobs tagged React since this month and group the results by location.

Workflow prompt:

Use the RemoteOK scraper to find recent customer support jobs and prepare a CSV-ready table with company, title, location, salary, and apply URL.

Scheduling

For monitoring, schedule the actor daily or weekly.

Use sinceDate to limit each recurring run to recent jobs.

Export only new rows by comparing id values in your destination system.

Data quality notes

Salary fields are available only when RemoteOK provides salary bounds.

Locations are free-text and may include broad regions such as Worldwide or Europe.

Descriptions can include HTML formatting.

Source links are included so you can inspect the original job page.

Limits

The actor caps maxItems at 1000 per run.

If filters are too strict, the dataset may contain fewer jobs than requested.

Remote job boards can remove or update listings after they are scraped.

FAQ and troubleshooting

Can I scrape RemoteOK jobs with salary ranges?

Yes. The actor returns salaryMin and salaryMax when RemoteOK publishes salary bounds, and you can filter by minimum or maximum salary.

Can I filter RemoteOK jobs by skill tags?

Yes. Use tags for skills or categories such as python, react, sales, or marketing, and combine them with keyword, location, date, and salary filters.

Why do salary filters return fewer jobs?

Many listings do not publish salary ranges. When salary filters are set, listings without salary values are excluded.

Why did I get zero results?

Your filters may be too narrow.

Remove salary filters, clear location, or use fewer tags.

Why are salary fields empty?

Many remote jobs do not publish salary ranges.

Rows without salary are saved unless you set salary filters.

Why is the description missing?

Set includeDescription to true if you need the description field.

Legality and responsible use

This actor extracts publicly available job listing information.

Use the data responsibly and follow RemoteOK terms, Apify terms, and applicable laws.

Do not use scraped data for spam, fraud, or discriminatory hiring practices.

Support

If a run fails or returns unexpected data, open an issue on the actor page with the run ID.

Include your input and a short description of what you expected.

Changelog

Initial version extracts public RemoteOK job listings with filters for tags, keywords, location, salary, date, max items, and optional descriptions.