RemoteOK Jobs Scraper | Export Remote Jobs to CSV avatar

RemoteOK Jobs Scraper | Export Remote Jobs to CSV

Pricing

from $19.00 / 1,000 results

Go to Apify Store
RemoteOK Jobs Scraper | Export Remote Jobs to CSV

RemoteOK Jobs Scraper | Export Remote Jobs to CSV

Scrape remote job listings from RemoteOK. Export jobs with company, salary, tags, and description to CSV, Excel, JSON or XML.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

ParseForge Banner

💼 RemoteOK Jobs Scraper

🚀 Export remote job listings in seconds. Search thousands of remote-only jobs across every category - engineering, design, marketing, sales, and more. No login required, no API key needed.

🕒 Last updated: 2026-05-21 · 📊 11 fields per record · 🌍 Global remote jobs · 🔎 Keyword search · 💰 Salary data included

The RemoteOK Scraper pulls live job listings from RemoteOK's public API and delivers clean, structured records with company details, job tags, salary ranges, location hints, and full descriptions. RemoteOK is one of the most established remote-work job boards, maintained since 2014 and trusted by hundreds of thousands of remote workers and digital nomads worldwide.

Every run hits the live API - fresh data, no stale cache. Filter by any keyword to narrow results to your target role, stack, or industry. Export as CSV, Excel, JSON, or XML in under 30 seconds.

🎯 Target Audience💡 Primary Use Cases
Recruiters, job aggregators, HR analytics teams, developers, data scientists, career coaches, job seekersJob market analysis, salary benchmarking, tech stack trend tracking, automated job alerts, portfolio datasets

📋 What the RemoteOK Scraper does

Five practical workflows in a single run:

  • 🌍 Full catalog export. Every active remote job listing on RemoteOK.
  • 🔍 Keyword filter. Filter by any term - "typescript", "python", "product manager", "react", "devops".
  • 💰 Salary extraction. Pulls salary ranges where disclosed (e.g., $176,367 - $265,000).
  • 🏷️ Tag extraction. Returns the full tag array for each job - useful for trend analysis and skill tracking.
  • 📅 Date extraction. Returns the postedAt ISO timestamp for recency filtering downstream.

Each record includes: title, company, URL, job ID, tags array, location, salary range, full description, posted date, and scrape timestamp.

💡 Why it matters: RemoteOK publishes a public JSON API with no authentication barrier. This Actor wraps that API with keyword filtering, clean field normalization, free/paid tier logic, and structured dataset output - so you skip the engineering work entirely.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.


⚙️ Input

InputTypeDefaultBehavior
maxItemsinteger10Records to return. Free plan caps at 10, paid plan at 1,000,000.
searchTermstring""Filter by keyword - matched against title, company name, and tags. Leave empty to return all jobs.

Example: 50 TypeScript remote jobs.

{
"maxItems": 50,
"searchTerm": "typescript"
}

Example: all remote jobs, no filter.

{
"maxItems": 100
}

⚠️ Good to Know: RemoteOK's public API returns approximately 100 most recent jobs per request. If you need a larger backlog, run the Actor without a search term to collect the full current snapshot, then schedule recurring runs to accumulate history. Salary data is only present for jobs where the company disclosed a range - most listings leave it as null, which is accurate to the source.


📊 Output

Each job record contains 11 fields. Download the dataset as CSV, Excel, JSON, or XML.

🧾 Schema

FieldTypeExample
🖼 imageUrlstring | nullnull (logo URL when provided by source)
📌 titlestring | null"Software Engineer Platform"
🏢 companystring | null"Benchling"
🔗 urlstring | null"https://remoteOK.com/remote-jobs/..."
🆔 jobIdstring | null"1131626"
🏷️ tagsarray["software","cloud","node","engineer"]
📍 locationstring | null"Dallas, TX"
💰 salarystring | null"$176,367 - $265,000"
📝 descriptionstring | nullFull plain-text job description
📅 postedAtstring | null"2026-05-19T08:00:02+00:00"
🕒 scrapedAtstring"2026-05-21T22:37:51.503Z"

🗂️ Sample Records

Record 1 - Software Engineer with salary data:

{
"imageUrl": null,
"title": "Software Engineer Platform",
"company": "Benchling",
"url": "https://remoteOK.com/remote-jobs/remote-software-engineer-platform-benchling-1131626",
"jobId": "1131626",
"tags": ["software", "design", "technical", "developer", "cloud", "node", "biotech", "engineer"],
"location": null,
"salary": "$176,367 - $265,000",
"description": "We are rebuilding biotech for the AI era...",
"postedAt": "2026-05-19T08:00:02+00:00",
"scrapedAt": "2026-05-21T22:37:51.503Z",
"error": null
}

Record 2 - Senior analyst role:

{
"imageUrl": null,
"title": "Senior Fraud Risk Analyst",
"company": "Braviant Holdings",
"url": "https://remoteOK.com/remote-jobs/remote-senior-fraud-risk-analyst-braviant-holdings-1131632",
"jobId": "1131632",
"tags": ["analyst", "financial", "strategy", "senior", "operations", "healthcare", "engineering"],
"location": "Dallas, TX",
"salary": null,
"description": "At Braviant, we believe in hiring great talent and offering them the flexibility...",
"postedAt": "2026-05-20T00:00:12+00:00",
"scrapedAt": "2026-05-21T22:37:51.503Z",
"error": null
}

Record 3 - ML engineering role:

{
"imageUrl": null,
"title": "Member of Technical Staff Applied ML RecSys",
"company": "Liquid AI",
"url": "https://remoteOK.com/remote-jobs/remote-member-of-technical-staff-applied-ml-recsys-liquid-ai-1131627",
"jobId": "1131627",
"tags": ["design", "system", "python", "training", "technical", "financial", "digital nomad"],
"location": "Cambridge",
"salary": null,
"description": "About Liquid AI - Spun out of MIT CSAIL, we build general-purpose AI systems...",
"postedAt": "2026-05-19T08:00:08+00:00",
"scrapedAt": "2026-05-21T22:37:51.503Z",
"error": null
}

✨ Why choose this Actor

FeatureDetail
🌐 No auth requiredRemoteOK's public JSON API - zero configuration
🔍 Keyword filteringFilter by title, company, or any tag - client-side but instant
💰 Salary parsingNormalizes salary_min/salary_max into a human-readable range
🏷️ Full tag arrayReturns all tags for downstream classification or trend analysis
📝 Clean descriptionsStrips HTML and decodes entities - plain text ready for NLP
🕒 Live dataEvery run hits the live API - no stale cache
📦 Export-readyCSV, Excel, JSON, XML - one click

📈 How it compares to alternatives

ApproachAuth neededFreshnessStructured outputKeyword filter
RemoteOK Scraper (this)NoneLive APIYes - 11 fieldsYes
Manual copy-pasteNoneManualNoNo
DIY fetch scriptNoneAs codedPartialAs coded
Generic scraperNoneVariableNoNo

🚀 How to use

  1. Create a free account w/ $5 credit on Apify.
  2. Open the RemoteOK Jobs Scraper Actor page.
  3. Set maxItems to how many jobs you want (10 for free users, up to 1,000,000 on paid).
  4. Optionally set searchTerm to filter by keyword (e.g., "python", "design", "marketing").
  5. Click Run. The Actor finishes in under 30 seconds.
  6. Open the Dataset tab and download as CSV, Excel, JSON, or XML.

💼 Business use cases

📊 Job Market Intelligence

Track which skills and tags are most in-demand across remote postings. Schedule daily runs, pipe the dataset into a database, and chart tag frequency over time to spot rising technologies (Rust, Svelte, AI/ML) before they peak.

💰 Salary Benchmarking

Filter for a specific role or company type, export all records with non-null salary fields, and compute median ranges by tag cluster. Useful for compensation planning, recruiter briefings, and career coaching.

🤖 Automated Job Alert Pipelines

Connect this Actor to a Make or Zapier workflow: run every morning, filter new jobs posted in the last 24 hours, and push matching records to Slack, email, or a Notion database. Zero manual monitoring.

📈 Recruitment Analytics

HR teams and staffing agencies can track how fast roles are being posted, which companies are hiring aggressively, and what compensation ranges are being offered - all without manually browsing the site.


🔌 Automating RemoteOK Scraper

Connect this Actor to automation platforms in a few clicks:

  • Make (Integromat) - Schedule a run, watch the dataset for new items, push to Google Sheets or Airtable.
  • Zapier - Trigger when a run completes, filter by keyword, send to Slack or email.
  • Apify Scheduler - Run daily at 06:00 UTC for a fresh morning dataset.
  • Apify API - Call via REST to integrate into any backend pipeline.
  • Webhooks - Get notified when a run succeeds and download only new records.

🌟 Beyond business use cases

🔬 Research

Academics studying the remote work market can use this dataset to analyze geographic distribution of remote roles, tag co-occurrence networks, and salary transparency trends over time.

🎨 Creative Projects

Build a personal job board, a "remote jobs by timezone" visualizer, or a skill-gap analyzer that compares your CV tags against top job tag frequencies.

🤝 Non-Profit

Career transition programs can use this data to show clients what remote roles are actively hiring right now - updated daily at no cost on the free plan.

🧪 Experimentation

Use the dataset as a seed corpus for NLP experiments: named-entity recognition on company names, keyword extraction from descriptions, salary range classification, or embedding-based job similarity.


🤖 Ask an AI assistant about this scraper

You can paste the schema above into any AI assistant and ask:

  • "Which fields would be most useful for building a salary prediction model?"
  • "How can I filter this dataset to only show jobs posted in the last 7 days?"
  • "Write a Python snippet to group these records by the most common tag."
  • "Suggest a Make workflow that emails me when a new Python job appears."

The structured JSON output is directly AI-readable - no preprocessing needed.


❓ Frequently Asked Questions

🔹 How many jobs does RemoteOK have?

The public API typically returns around 100 of the most recently posted jobs. New listings appear throughout the day. Run the Actor daily to accumulate a historical dataset.

🔹 Does the API require authentication?

No. RemoteOK's public API at https://remoteok.com/api is open with no auth required.

🔹 Why is imageUrl null for most records?

RemoteOK's API currently returns empty strings for company_logo and logo fields. The imageUrl field is captured and will be populated automatically if RemoteOK adds logo data to the API in the future.

🔹 Why is salary null for most records?

Most companies on RemoteOK do not disclose salary ranges. Only about 5-10% of listings include salary_min and salary_max values. Null salary is accurate to the source.

🔹 How does keyword search work?

The searchTerm filter matches against the job title, company name, and all tags. It is case-insensitive and substring-based - so "type" would match "typescript".

🔹 Can I get all jobs, not just the latest 100?

The public API only exposes the most recent batch. For historical depth, schedule daily runs and aggregate datasets over time.

🔹 What export formats are supported?

CSV, Excel (.xlsx), JSON, and XML - all available from the Apify dataset page with one click.

🔹 Is this Actor affected by rate limits?

The Actor makes a single API call per run. No rate limiting issues in practice.

🔹 How do I filter only jobs with salary data?

After export, filter your dataset to rows where salary is not null. In Python: df = df[df['salary'].notna()].

🔹 Can I schedule this to run automatically?

Yes. Use Apify's built-in Scheduler (under the Actor's "Schedules" tab) to run daily, weekly, or any cron expression.

🔹 What happens if the API is down?

The Actor will push an error record { "error": "API returned HTTP 503" } and exit cleanly. No partial or corrupted datasets.

🔹 Is the data real-time?

Yes. Each run fetches live data from RemoteOK's API at execution time.


🔌 Integrate with any app

Download and connect your RemoteOK dataset to:

Spreadsheets & Databases Google Sheets, Microsoft Excel, Airtable, Notion, PostgreSQL, MySQL, MongoDB, BigQuery, Snowflake

Automation Platforms Make (Integromat), Zapier, n8n, Pipedream, Tray.io

BI & Analytics Tableau, Power BI, Metabase, Looker, Google Data Studio, Redash

AI & ML OpenAI API, LangChain, Hugging Face, custom NLP pipelines

Developer Tools Apify REST API, webhooks, SDK (Node.js, Python)


ActorDescription
Jobrapido ScraperAggregate job listings from Jobrapido across 57 country sites
Upwork ScraperExport Upwork freelance job postings to CSV/JSON
Wantedly ScraperScrape Japanese startup job listings from Wantedly

💡 Pro Tip: browse the complete ParseForge collection for more data tools covering jobs, reviews, aviation, maritime, government records, and more.


This Actor accesses only publicly available data from RemoteOK's open API. No login credentials, session tokens, or personal data are used or collected. Use responsibly and in accordance with RemoteOK's Terms of Service.