RemoteOK Jobs Scraper avatar

RemoteOK Jobs Scraper

Pricing

from $0.99 / 1,000 job scrapeds

Go to Apify Store
RemoteOK Jobs Scraper

RemoteOK Jobs Scraper

Scrape remote job listings from RemoteOK.com — titles, companies, salaries, tags, locations, and apply links. Filter by skill tags, keyword, and minimum salary. No proxy or authentication needed. Export as JSON, CSV, Excel.

Pricing

from $0.99 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Share

RemoteOK Jobs Scraper

Scrape remote job listings from RemoteOK.com — titles, companies, salaries, tags, locations, and apply links. Filter by skill tags, keyword, and minimum salary. No proxy or authentication needed.

Extract structured remote job data from RemoteOK's public API — filter by 50+ skill tags (Python, JavaScript, React, DevOps, Design, etc.), set minimum salary thresholds, and get clean normalized output with 20 data fields per listing ready for analysis or integration.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

RemoteOK Jobs Scraper (parsebird/remoteok-jobs-scraper) — scrapes remote job listings from RemoteOK.com via their public JSON API. Inputs: tags (string[], filter by skill tags like "python", "react", "devops"), keywordFilter (string, match title/company/tags), minSalary (int, USD minimum), filterNonTech (bool, remove non-tech roles), maxResults (int, default 100). Output: NormalizedJob objects with 20 fields including title, company_name, salary_min, salary_max, currency, tags, location, apply_url, posted_at, description. Pricing: from $0.99/1,000 jobs (Gold) to $1.50/1,000 (Free). API: https://apify.com/parsebird/remoteok-jobs-scraper/api — Token: https://console.apify.com/account/integrations

What is RemoteOK Jobs Scraper?

RemoteOK Jobs Scraper is an Apify Actor that extracts remote job listings from RemoteOK.com — one of the largest remote-only job boards on the web. It uses RemoteOK's official public JSON API, so it requires no proxy, no browser, and no authentication. Each run returns up to ~100 of the most recent jobs per skill tag, normalized into a consistent 20-field schema and pushed to an Apify Dataset.

Use it as a fast, affordable RemoteOK API alternative for job boards, recruitment pipelines, salary research, and AI-powered job search agents.

What data can you extract from RemoteOK?

The RemoteOK Jobs Scraper returns structured data for each job listing with the following fields:

FieldDescription
titleJob title (e.g., "Senior Python Engineer")
company_nameHiring company name
locationJob location (usually "Worldwide" or "Remote")
salary_minMinimum annual salary in USD (0 if not listed)
salary_maxMaximum annual salary in USD (0 if not listed)
currencySalary currency ("USD" when salary is available, empty otherwise)
tagsSkill and category tags (e.g., python, react, devops)
descriptionFull job description with HTML stripped to plain text
apply_urlDirect link to the job application
source_urlOriginal listing URL on RemoteOK
posted_atISO 8601 timestamp when the job was posted
company_slugURL-friendly company identifier
work_modeAlways "remote" (RemoteOK is remote-only)
typeEmployment type (always "full-time")
scraped_atTimestamp of when the data was collected

How to scrape RemoteOK

Follow these steps to extract remote job listings from RemoteOK using this Actor:

  1. Go to the RemoteOK Jobs Scraper page on Apify Store.
  2. Click Try for free to open the Actor in Apify Console.
  3. In the Skill Tags field, enter the tags you want to filter by (e.g., python, javascript, react). Leave empty for all recent jobs.
  4. Optionally set a Keyword Filter to match against job titles, company names, and tags (e.g., "senior", "startup").
  5. Set Minimum Salary if you want to exclude low-salary listings (jobs without salary data always pass through).
  6. Toggle Filter out non-tech roles if you only want technical positions.
  7. Set Max Results to control how many jobs to return (default: 100, prefill: 50).
  8. Click Start and wait a few seconds — the actor is extremely fast since it uses a direct API.
  9. When the run finishes, click the Dataset tab to preview results. Download as JSON, CSV, or Excel.

Input parameters

ParameterTypeRequiredDefaultDescription
tagsstring[]No[]Skill/category tags to filter by. Each tag runs a separate API request. Results are deduplicated. Examples: python, javascript, react, devops, design. Leave empty for all recent jobs.
keywordFilterstringNo""Client-side keyword match against title, company, and tags. Case-insensitive.
minSalaryintegerNo0Exclude jobs where salary_max is below this value (USD). Jobs without salary data always pass through.
filterNonTechbooleanNofalseRemove clearly non-technical roles (receptionist, accountant, driver, nurse, etc.) from results.
maxResultsintegerNo100Maximum total jobs to return across all tag requests. RemoteOK returns ~100 jobs per tag.

Output example

Each item in the Apify Dataset conforms to the NormalizedJob schema:

{
"id": "remote-founding-engineer-techcorp-1133500",
"source": "remoteok",
"source_url": "https://remoteOK.com/remote-jobs/remote-founding-engineer-techcorp-1133500",
"apply_url": "https://remoteOK.com/remote-jobs/remote-founding-engineer-techcorp-1133500",
"title": "Founding Engineer",
"description": "We are looking for a Founding Engineer to build our core platform from the ground up...",
"type": "full-time",
"work_mode": "remote",
"location": "Remote, USA",
"salary_min": 180000,
"salary_max": 220000,
"currency": "USD",
"company_name": "TechCorp",
"company_slug": "techcorp",
"company_url": "https://remoteok.com",
"tags": ["python", "react", "aws", "backend"],
"markets": ["python", "react", "aws", "backend"],
"posted_at": "2026-06-16T00:00:24+00:00",
"scraped_at": "2026-06-17T13:30:00.000Z",
"data_source": "RemoteOK",
"data_source_url": "https://remoteok.com"
}

Download results in JSON, CSV, HTML, or Excel format from the Dataset tab in Apify Console.

Use cases

🔍 Job board aggregation — Combine RemoteOK data with other job sources to build comprehensive remote job boards.

📊 Salary research — Analyze salary ranges across different tech stacks and roles in the remote job market.

🤖 AI job search agents — Feed structured job data into LLM-powered assistants via the Apify MCP server.

📈 Remote work trend monitoring — Schedule daily runs to track hiring trends, popular skills, and market shifts.

🔄 Recruitment pipeline automation — Use Apify integrations to push new listings directly into your ATS or CRM.

💼 Competitive intelligence — Monitor which companies are hiring remotely, what skills they need, and what they pay.

How much does it cost to scrape RemoteOK?

The RemoteOK Jobs Scraper uses pay-per-event pricing. You are charged per 1,000 job listings scraped.

PlanPrice per 1,000 jobsExample: 5,000 jobs
Free$1.50$7.50
Bronze$1.20$6.00
Silver$1.10$5.50
Gold$0.99$4.95

Platform compute usage is minimal — a typical run takes under 5 seconds and uses less than 0.005 compute units. No proxy costs since RemoteOK's API is public.

Apify offers a free trial that includes $5 of platform credits — enough to scrape thousands of RemoteOK jobs at no cost.

API usage examples

You can run the RemoteOK Jobs Scraper programmatically using the Apify API. Below are examples in Python and JavaScript.

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run_input = {
"tags": ["python", "javascript"],
"keywordFilter": "senior",
"minSalary": 80000,
"maxResults": 100,
}
run = client.actor("parsebird/remoteok-jobs-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['title']} at {item['company_name']}{item['apply_url']}")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const input = {
tags: ['python', 'javascript'],
keywordFilter: 'senior',
minSalary: 80000,
maxResults: 100,
};
const run = await client.actor('parsebird/remoteok-jobs-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
console.log(`${item.title} at ${item.company_name}${item.apply_url}`);
});

You can also integrate this Actor with Google Sheets, Slack, Zapier, Make, and other tools via Apify's integrations.

RemoteOK provides a public JSON API that is openly accessible without authentication. This Actor uses that official API endpoint to retrieve job listings data.

RemoteOK's API Terms of Service require attribution — linking back to RemoteOK and mentioning them as the source. This Actor includes source_url and data_source fields in every result to support proper attribution.

For more information about the legality of web scraping, read Apify's blog post on is web scraping legal.

ParseBird offers a full suite of job scrapers on Apify Store. Combine multiple scrapers for maximum coverage:

FAQ

How many jobs can I get per run? RemoteOK's API returns approximately 100 of the most recent listings per tag. If you specify multiple tags (e.g., python, javascript, react), each tag fetches up to ~100 jobs, and the Actor deduplicates them automatically. A typical 3-tag run yields 150–250 unique jobs.

How fresh is the data? RemoteOK's API returns the most recently posted listings. The data is as fresh as RemoteOK's own feed — typically listings from the past 1–2 weeks. Schedule recurring runs daily or weekly to maintain an up-to-date job database.

Why do most jobs show $0 salary? Only about 2–7% of RemoteOK listings include salary data. When salary is not disclosed, salary_min and salary_max are set to 0 and the currency field is empty. The minSalary filter only excludes jobs that have salary data below your threshold — jobs without salary data always pass through.

Can I schedule recurring runs? Yes. Use Apify's scheduling feature to run the Actor daily, weekly, or at any custom interval. Combine with integrations to automatically push new jobs to Google Sheets, Slack, or your database.

What skill tags can I use? RemoteOK supports 50+ skill tags including: javascript, typescript, python, react, vue, node, php, ruby, golang, rust, java, kotlin, swift, flutter, devops, aws, docker, kubernetes, design, ux, marketing, sales, finance, legal, hr, writing, customer-support, and many more.

Does this Actor need a proxy? No. RemoteOK's API is publicly accessible and does not block automated requests. This makes the Actor extremely cheap to run since it incurs zero proxy costs.

Can I use this with AI assistants? Yes. Use the Apify MCP server to connect this Actor to ChatGPT, Claude, Cursor, or any LLM that supports the Model Context Protocol. Copy the AI assistant block at the top of this README for a quick start.

How do I report issues or request features? Visit the Issues tab on the Actor page. We respond to all feedback.