RemoteOK Jobs Scraper
Pricing
from $0.99 / 1,000 job scrapeds
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
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
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:
| Field | Description |
|---|---|
title | Job title (e.g., "Senior Python Engineer") |
company_name | Hiring company name |
location | Job location (usually "Worldwide" or "Remote") |
salary_min | Minimum annual salary in USD (0 if not listed) |
salary_max | Maximum annual salary in USD (0 if not listed) |
currency | Salary currency ("USD" when salary is available, empty otherwise) |
tags | Skill and category tags (e.g., python, react, devops) |
description | Full job description with HTML stripped to plain text |
apply_url | Direct link to the job application |
source_url | Original listing URL on RemoteOK |
posted_at | ISO 8601 timestamp when the job was posted |
company_slug | URL-friendly company identifier |
work_mode | Always "remote" (RemoteOK is remote-only) |
type | Employment type (always "full-time") |
scraped_at | Timestamp of when the data was collected |
How to scrape RemoteOK
Follow these steps to extract remote job listings from RemoteOK using this Actor:
- Go to the RemoteOK Jobs Scraper page on Apify Store.
- Click Try for free to open the Actor in Apify Console.
- In the Skill Tags field, enter the tags you want to filter by (e.g.,
python,javascript,react). Leave empty for all recent jobs. - Optionally set a Keyword Filter to match against job titles, company names, and tags (e.g., "senior", "startup").
- Set Minimum Salary if you want to exclude low-salary listings (jobs without salary data always pass through).
- Toggle Filter out non-tech roles if you only want technical positions.
- Set Max Results to control how many jobs to return (default: 100, prefill: 50).
- Click Start and wait a few seconds — the actor is extremely fast since it uses a direct API.
- When the run finishes, click the Dataset tab to preview results. Download as JSON, CSV, or Excel.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
tags | string[] | 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. |
keywordFilter | string | No | "" | Client-side keyword match against title, company, and tags. Case-insensitive. |
minSalary | integer | No | 0 | Exclude jobs where salary_max is below this value (USD). Jobs without salary data always pass through. |
filterNonTech | boolean | No | false | Remove clearly non-technical roles (receptionist, accountant, driver, nurse, etc.) from results. |
maxResults | integer | No | 100 | Maximum 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.
| Plan | Price per 1,000 jobs | Example: 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 ApifyClientclient = 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.
Is it legal to scrape RemoteOK?
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.
Related scrapers
ParseBird offers a full suite of job scrapers on Apify Store. Combine multiple scrapers for maximum coverage:
- Hiring.cafe Jobs Scraper — Search 2.8M+ aggregated job postings across 46 ATS platforms with 30+ filter options.
- BuiltIn Jobs Scraper — Scrape tech job listings from BuiltIn.com by keyword, location, and seniority.
- Dice Jobs Scraper — Extract tech jobs from Dice.com with salary, skills, and company data.
- WeWorkRemotely Jobs Scraper — Scrape remote jobs from WeWorkRemotely.com across 11 category feeds.
- Wellfound Jobs Scraper — Scrape startup jobs from Wellfound (AngelList) with salary and equity data.
- YC Jobs Scraper — Extract job postings from Y Combinator's Work at a Startup platform.
- Dribbble Jobs Scraper — Scrape design and creative job listings from Dribbble.
- StartupJobs Scraper — Extract startup job listings from StartupJobs.com.
- Xing Jobs Scraper — Scrape job listings from Xing, Europe's leading professional network.
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.