RemoteOK Jobs Scraper avatar

RemoteOK Jobs Scraper

Pricing

$4.00 / 1,000 job scrapeds

Go to Apify Store
RemoteOK Jobs Scraper

RemoteOK Jobs Scraper

Scrapes remote job listings from RemoteOK's public API. Filter by search keyword, tags and minimum salary. Each job includes position, company, tags, location, apply URL, salary range and a formatted salary text.

Pricing

$4.00 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Antony Zaikin

Antony Zaikin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Apify actor that scrapes job listings from the public RemoteOK API (https://remoteok.com/api).

How it works

  • Sends a single GET request to the RemoteOK API with a browser‑like User-Agent.
  • The API returns a JSON array where the first element is a service record (contains legal).
    This record is filtered out.
  • Each job object is processed, optionally filtered by:
    • search – case‑insensitive substring match in position or description.
    • tags – at least one tag must intersect with the provided list (case‑insensitive).
    • minSalary – keeps jobs where salary_max >= minSalary (if minSalary > 0).
  • The actor stops after pushing maxItems jobs (default 100) or after processing all available jobs.
  • For every successfully pushed record the actor charges the job-scraped event ($0.004 per record).
  • Each output record includes a source field set to "RemoteOK" to satisfy attribution requirements.

Input

FieldTypeDefaultDescription
maxItemsinteger100Maximum number of job records to output.
searchstring""Substring to look for in position or description (case‑insensitive).
tagsarray of string[]Keep only jobs that have at least one matching tag (case‑insensitive).
minSalaryinteger0Minimum salary_max to keep a job. Ignored when 0.
includeDescriptionbooleantrueIf false, the description field is omitted from output.

All fields have editors as required by the platform.

Output

Each record contains the following fields (types as defined in the output schema):

  • slug – string
  • id – string | number
  • epoch – string | number
  • date – string
  • company – string
  • company_logo – string | null
  • position – string
  • tags – array of strings
  • location – string | null
  • apply_url – string
  • url – string
  • salary_min – string | number
  • salary_max – string | number
  • description – string | null (only if includeDescription !== false)
  • salaryText – formatted salary range, e.g. "$150,000 – $200,000", or null when RemoteOK doesn't list a salary (true for ~96% of jobs).
  • scrapedAt – ISO‑8601 timestamp of when the record was processed.
  • source – constant string "RemoteOK" (attribution).

Attribution / Source of Data

The data is obtained from RemoteOK’s public API at https://remoteok.com/api.
According to RemoteOK’s terms of use, any usage of this data must:

  • Include a dofollow link to https://remoteok.com.
  • Mention “Remote OK” as the source of the data.

The RemoteOK logo may not be used without explicit permission.
This actor complies by adding a source: "RemoteOK" field to every output record. In addition, this documentation links back to RemoteOK as the source of the data — please keep a similar dofollow link and mention if you republish or build on top of this data.

Example

{
"maxItems": 20,
"search": "developer",
"tags": ["JavaScript", "Node.js"],
"minSalary": 60000,
"includeDescription": true
}

The actor will return up to 20 developer‑related jobs that mention JavaScript or Node.js in their tags and have a maximum salary of at least $60 000.

Notes

  • The API does not support pagination; additional ?page= parameters return the same data.
    The maxItems limit simply slices the filtered result.
  • Network errors are retried with exponential backoff (up to 3 attempts).
    Errors on individual job records are logged and skipped without stopping the whole run.
  • If the API returns only the service record (or an empty/invalid payload) the actor fails with a clear error message.