BYTETOOLS

Remote OK API

Free remote work job feed with no key: current listings with company, position, tags, salary range and apply link, subject to a link-back requirement. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Remote OK API?

Remote OK publishes its current job listings as a single JSON array with no API key. Each entry gives the company, position, tags, posting date, salary range where available and an apply URL — with the first element of the array carrying the terms of service rather than a job.

Remote OK is one of the longest-running remote work boards, and its feed is open on the explicit condition that you link back. That condition is not buried in a terms page — it is the literal first element of the response array, a legal notice object sitting where you might reasonably expect the first job. Iterating without checking will put a job card on your site whose title is undefined.

The `tags` array is the most useful field and also the most idiosyncratic. Tags mix technologies, seniority and function in one flat list, and they are applied loosely: the captured example tags a hotel front-office role with `golang`, which tells you not to treat them as a reliable filter on their own. `salary_min` and `salary_max` are present on a decent share of listings, which is rarer than it should be among job feeds. Descriptions arrive as HTML with some mojibake from upstream encoding, so sanitise before rendering.

Quick facts

Base URL
https://remoteok.com/api
Authentication
No API key. Remote OK's terms require a followed link back to the job's Remote OK URL and a credit; they state they will suspend access otherwise.
Rate limit
No published limit. The feed is a single snapshot — fetch it a few times a day at most.
Pricing
Free, conditional on the link-back requirement.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Remote OK API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch the current remote job feed

GET https://remoteok.com/api

curl
curl 'https://remoteok.com/api'
JavaScript (fetch)
const res = await fetch("https://remoteok.com/api");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://remoteok.com/api", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
[
  {
    "last_updated": 1787283347,
    "legal": "API Terms of Service: Please link back (with follow, and without nofollow!) to the URL on Remote OK and mention Remote OK as a source, so we get traffic back from your site. If you do not we'll have to suspend API access.\n\nPlease don't use the Remote OK logo without written permission as it's a registered trademark, please DO use our name Remote OK though."
  },
  {
    "slug": "remote-front-office-executive-radisson-hotel-group-1137008",
    "id": "1137008",
    "epoch": 1787205565,
    "date": "2026-08-20T05:59:25+00:00",
    "company": "Radisson Hotel Group",
    "company_logo": "",
    "position": "Front Office Executive",
    "tags": [
      "customer support",
      "marketing",
      "exec",
      "golang"
    ],
    "description": "<p>Radisson Hotel Group is one of the world's largest hotel groups with ten distinctive hotel brands, and more than 1,500 hotels in operation and under development in 95+ countries. The Group’s overarching brand promise is Every Moment Matters with a signature Yes I Can! service ethos.<br><br><br><br>People are at the core of our business success and future. Our people are true Moment Makers and together we bring the culture, spirit, environment and opportunities that empower you to be your best, every day, everywhere, every time. Together, we make Every Moment Matter.<br><br><br><br></p><strong>Job Description<br><br></strong><p>Can you be our guests’ superhero? Is guest service your ultimate passion? Then why not come and join us at the Radisson Hotel Group to Make Every Moment M

Parameters

ParameterTypeRequiredDescription
(none)n/aOptionalThe feed takes no parameters and returns the current listing snapshot in full.
tagsqueryOptionalSome deployments accept a tag filter, though the documented behaviour is the unfiltered feed. golang

Response fields

[0]object
Not a job. The first array element holds `last_updated` and a `legal` string setting out the link-back requirement. Skip it before iterating.
slug / idstring
URL slug and numeric id for the listing.
positionstring
Job title.
company / company_logostring
Employer name and logo URL. The logo is frequently an empty string.
tagsarray
Flat list mixing technology, seniority and function. Applied loosely — do not rely on them as a precise filter.
descriptionstring
Full job description as HTML. Contains upstream encoding artefacts, so sanitise before rendering.
date / epochstring / integer
Posting time as an ISO 8601 string and as Unix seconds.
locationstring
Geographic restriction on the remote role, such as a region or `Worldwide`.
salary_min / salary_maxinteger
Annual salary range in USD, where the employer supplied one.
url / apply_urlstring
The Remote OK listing page and the direct application link. Link back to `url` to satisfy the terms.

What you can build with the Remote OK API

  • Show curated remote roles on a niche community site
  • Track how remote salary ranges move over time
  • Build a tag-based alert for new listings
  • Compare which regions employers restrict remote hiring to

Common errors and how to fix them

First job has no title

Element zero is the legal notice, not a listing.

Fix: Skip the first element, or filter for objects that have a `position` field, before rendering.

API access suspended

The terms require a followed link back to Remote OK.

Fix: Add a normal, non-nofollow link to each job's Remote OK `url` and credit them by name.

Garbled characters in descriptions

Upstream encoding artefacts appear in the HTML.

Fix: Normalise the text and sanitise the markup before rendering. Mojibake such as `â` in place of an apostrophe is common.

Irrelevant tags

Tagging is loose and automated.

Fix: Match on `position` and `description` as well as tags if precision matters.

Remote OK API — frequently asked questions

Is the Remote OK API free?

Yes, with no key, but not unconditionally. Their terms require a followed link back to the job on Remote OK and a credit, and they state that access will be suspended otherwise.

Why is the first item not a job?

Element zero is a legal notice object carrying `last_updated` and the terms of service. Skip it before iterating or you will render an empty job card.

Are salary figures reliable?

`salary_min` and `salary_max` are USD annual figures supplied by the employer, and they are present on a good share of listings — but not all, and they are not verified.

Can I filter the feed?

The documented behaviour is a full snapshot with no filtering, so filter client-side. Fetch a few times a day and diff against what you already have.

Tools that pair with this API

Remote OK is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.