37,210
postings
378
companies
9
ATS platforms

Current as of the run finished 2026-08-06 08:21 UTC. See data/summary.json for the live count — it changes daily.

What this is

A daily-refreshed collection of open job postings scraped from the public, unauthenticated job-board JSON feeds of nine applicant tracking systems (ATS): Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio, and BambooHR. These are the same feeds each platform's own embeddable careers widget reads from — no scraping of rendered HTML pages, no headless browser. A GitHub Actions workflow re-runs the fetcher every day and commits whatever changed.

The company list is a fixed, curated set of roughly 380 well-known employers (mostly tech, fintech, and adjacent). It is not a comprehensive crawl of every company on these ATS platforms — companies are added by hand.

Scope and limits

Schema

FieldTypeNotes
companystringDisplay name
platformstringgreenhouse, lever, ashby, workday, smartrecruiters, workable, recruitee, personio, bamboohr
jobIdstringPlatform-native posting ID
titlestringJob title, as published
departmentstring | nullNot exposed by every platform
locationsarray of stringsAll listed locations
isRemoteboolean | nullPlatform flag or inferred from location text
employmentTypestring | nulle.g. "Full-time"
applyUrlstringDirect link to the application page
postedAtstring | nullISO timestamp; always null for Workday & BambooHR
scrapedAtstringISO timestamp of the fetch that produced this row

Sample row

Real row from the current dataset.

{
  "company": "Ramp",
  "platform": "ashby",
  "jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
  "title": "Security Engineer, Cloud",
  "department": "Engineering",
  "locations": ["New York, NY (HQ)", "Remote (Canada)", "Remote (US)", "Miami, FL"],
  "isRemote": true,
  "employmentType": "FullTime",
  "applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application",
  "postedAt": "2026-04-07T17:12:35.753+00:00",
  "scrapedAt": "2026-08-06T00:57:02.932Z"
}

Using the data

curl

curl -s https://raw.githubusercontent.com/ConorsCode/open-jobs-data/main/data/jobs.json | jq '.[0]'

pandas

import pandas as pd
df = pd.read_json("https://raw.githubusercontent.com/ConorsCode/open-jobs-data/main/data/jobs.json")
df[df["isRemote"] == True].groupby("company").size().sort_values(ascending=False)

JavaScript

const jobs = await fetch("https://raw.githubusercontent.com/ConorsCode/open-jobs-data/main/data/jobs.json").then(r => r.json());
console.log(jobs.length, "postings");

Links