Remote OK Scraper avatar

Remote OK Scraper

Pricing

from $0.97 / 1,000 job scrapeds

Go to Apify Store
Remote OK Scraper

Remote OK Scraper

Collects remote job listings from Remote OK using search queries, listing URLs, or role, location, and salary filters. Returns title, company, salary, tags, and apply links.

Pricing

from $0.97 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Scraptivo

Scraptivo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Remote OK Scraper collects remote job listings from Remote OK and turns them into structured data for recruiting, salary research, and job-board feeds. Provide a search query or a Remote OK URL, run the Actor, and export title, company, salary, tags, benefits, and apply links to JSON, CSV, Excel, or your preferred integration. Use it to monitor new roles, benchmark pay, and automate recurring collection. Pricing starts at $1.00 per 1,000 jobs, with optional job details at $1.00 per 1,000.

What can you automate with Remote OK Scraper?

  • Build a remote-jobs database — Collect listings filtered by keyword, role tag, location, benefits, or minimum salary.
  • Capture apply links — Export the job URL and apply URL with company, tags, and posting date.
  • Benchmark pay — Collect salaryMin and salaryMax when Remote OK publishes a range.
  • Enrich selected jobs — Turn on job details for the full description and richer apply fields.
  • Sort the board — Use latest, highest paid, most viewed, most applied, hottest, or most benefits.
  • Schedule recurring scans — Re-run the same query daily and merge on job id.

Who is this scraper for?

TeamWorkflow
Recruiters and sourcersBuilding lead lists of open remote roles by tag and location.
Compensation teamsCollecting published salary bands for benchmarking.
Job-board operatorsFeeding structured listings into a site or ATS.
ResearchersTracking remote hiring volume by role and region.

What data can you collect from Remote OK?

Data groupExample fieldsHow it helps
Job identityid, position, urlDeduplicate and reopen the posting.
Employercompany, companyUrl, companyLogoIdentify who is hiring.
CompensationsalaryMin, salaryMax, currency, periodCompare pay when published.
Fitlocation, tags, benefits, employmentTypeFilter by skill, perk, and region.
ApplyapplyUrl, datePosted, isVerifiedSend candidates or track freshness.
DetailsFull descriptionAppears when Scrape job details is enabled.

Card-level title, company, URL, tags, and location are returned on every job. Full description is added when job details are enabled.

How to use Remote OK Scraper

  1. Open the Remote OK Scraper on Apify.
  2. Enter search queries such as python, or paste Remote OK listing or job URLs.
  3. Optionally set tags, locations, benefits, minSalary, sort order, and a maxItems limit.
  4. Run the Actor and wait for job records to appear in the dataset.
  5. Export JSON, CSV, or Excel, or connect the dataset to your workflow.
{
"searchQueries": ["python"],
"sortBy": "date",
"maxItems": 10,
"scrapeJobDetails": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Example workflow

Watch new Python remote jobs every weekday

  1. Schedule a daily run with searchQueries = ["python"] and sortBy = date.
  2. Keep scrapeJobDetails off for a cheap card-level snapshot, then enable it for roles you want to read.
  3. Send new records to Google Sheets or Slack through a webhook.
  4. Deduplicate user-side against the stable job id.

Automate and integrate your results

  • Schedules — Remote OK turns over quickly. Run daily for sourcing and weekly for salary research.
  • Webhooks — Push completed datasets into Sheets, Slack, or an ATS.
  • Exports and API — Download from the Apify Console or start a run from the API:
curl "https://api.apify.com/v2/acts/scraptivo~remoteok-scraper/runs?token=YOUR-APIFY-TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["python"],
"sortBy": "date",
"maxItems": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}'
  • Deduplication — The Actor appends results on every run. Use id as the stable key.

Input reference

FieldTypeRequiredDefaultWhat it controls
startUrlsArray of URLsNoRemote OK listing or job URLs. When set, filter fields below are ignored for those URLs.
searchQueriesArray of stringsNoFree-text searches. Each query is scraped separately.
tagsArray of stringsNoRole/category tags from the schema (for example dev, backend, python). Combined with AND.
locationsArray of stringsNoCountries or regions (for example Worldwide, US, region_EU). Each location is a separate search.
benefitsArray of stringsNoRequired benefits such as 401k, async, 4_day_workweek.
minSalaryIntegerNo0Minimum annual salary in USD (0–250000). Ignored when Start URLs are set.
sortByStringNodatedate, salary, views, applied, hot, or benefits.
maxItemsIntegerNo0Maximum jobs (0 = unlimited).
scrapeJobDetailsBooleanNofalseFetch each job page for description and richer apply fields. Charges job-details.
proxyConfigurationProxy objectNoApify proxy, RESIDENTIALResidential proxies are recommended.

Do Start URLs override filters?

Yes. When startUrls is provided, tags, locations, benefits, search queries, and minSalary are ignored for those URLs. sortBy still applies if the URL does not already include order_by.

Output example

Each dataset item is one job:

{
"id": "1137062",
"position": "DESARROLLADOR FULL STACK",
"company": "Kruger NearShore LLC - Rekluti",
"url": "https://remoteok.com/remote-jobs/remote-desarrollador-full-stack-kruger-nearshore-llc-rekluti-1137062",
"applyUrl": "https://remoteok.com/l/1137062",
"location": "Probably worldwide",
"tags": ["Full Stack", "Front End", "Python", "Developer", "Testing"],
"benefits": [],
"employmentType": "FULL_TIME",
"datePosted": "2026-08-22T00:00:12+00:00",
"isVerified": false,
"sourceQuery": "python",
"detailsFetched": false
}

How much does it cost to scrape Remote OK?

The Actor uses pay-per-event pricing plus a small Actor-start event ($0.00005 per start, scaled by memory):

  • $1.00 / 1,000 jobs — a job event for every listing written to the dataset.
  • $1.00 / 1,000 job details — a job-details event only when Scrape job details is enabled.

A listing-only run of 1,000 jobs costs $1.00. Enriching the same 1,000 jobs with details costs $2.00. Volume discounts on Apify paid plans reduce the per-1,000 rate (for example $0.97 per 1,000 at the Gold plan). Compute units consumed are deducted from your Apify plan.

Reliability and responsible use

  • Proxy requirement — Residential proxies are recommended. The default input uses the Apify RESIDENTIAL group.
  • Conditional fields — Full description is collected only when job details are enabled. Salary fields are empty when Remote OK does not publish a range.
  • Public listings — The Actor collects publicly visible Remote OK job data.
  • Responsible use — Only use the data in ways that comply with Remote OK terms and applicable law.

Frequently asked questions

Can I scrape Remote OK jobs by keyword and location?

Yes. Use searchQueries such as python and optionally add locations such as US or Worldwide. You can also paste a filtered Remote OK URL into startUrls.

Can I schedule Remote OK Scraper to run automatically?

Yes. Use the Scheduler tab in Apify Console. Daily suits sourcing; weekly suits salary snapshots.

What counts as one result?

Each job saved to the dataset is one job event ($1.00 per 1,000). If job details are enabled, each successful detail fetch also counts as a job-details event ($1.00 per 1,000).

Why are some fields empty?

salaryMin and salaryMax are empty when Remote OK does not show a range. Description is collected only when Scrape job details is enabled.

How do I avoid duplicate records?

The Actor does not deduplicate across runs. Use id as the stable key. maxItems caps a single run.

Do I need a proxy?

Residential proxies are recommended and are the default.

Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, sample URL, required fields, and expected volume so we can assess the request.