Read-only · public · no authentication

Search the public job board programmatically.

This API exposes current US job postings with combined filters for career level, taxonomy, location, work authorization, company, date, and keywords.

01 · CHECK

Verify freshness

Call /v1/status to confirm a validated dataset is active.

02 · DISCOVER

Read valid values

Call /v1/facets before choosing domains or specializations.

03 · SEARCH

Combine filters

Call /v1/jobs and follow next_cursor only if needed.

Quick example

Early-career ML engineering jobs in California:

GET https://job-api.irishmehta.workers.dev/v1/jobs?career_bucket=early_career_or_new_grad&domain=ai_machine_learning&specialization=machine_learning&state=CA&limit=10

Endpoints

EndpointPurpose
GET /v1/statusDataset readiness, version, timestamps, and job count.
GET /v1/facetsValid filter values with counts from the active dataset.
GET /v1/jobsCombined job search with bounded cursor pagination.
GET /v1/jobs/{job_id}One job; encode its URL-shaped ID as one path segment.

Search filters

ParameterMeaningExample
qKeyword search across public searchable text.q=production+ml
career_bucketCareer grouping from facets.early_career_or_new_grad
domainBroad role taxonomy domain.ai_machine_learning
specializationRole specialization within a taxonomy path.machine_learning
industryIndustry classification from facets.technology_software
stateTwo-letter US region code.AZ
experience_levelExperience inference from facets.entry_level_or_new_grad
authorization_categoryWork-authorization classification.Use facets
sponsorship_statusSponsorship signal.Use facets
companyExact company name, case-insensitive.Use facets
posted_sinceInclusive earliest date.2026-09-07
limit1–50 jobs; defaults to 20.10
cursorOpaque continuation value from next_cursor.Reuse unchanged filters

Response shape

{
  "data": [{ "title": "…", "company": "…", "job_link": "https://…" }],
  "pagination": { "limit": 20, "returned": 20, "next_cursor": "…" },
  "meta": { "dataset_version": "…", "dataset_generated_at": "…", "filters_applied": {} }
}

Use job_link as the application URL. Results are ordered by posting date descending and stable job ID.

Using this with an AI assistant

Give a browsing-enabled assistant this documentation URL and describe the filters you want. The assistant can inspect /v1/facets and request matching jobs when its interface permits external web access.

Pasting this page does not install the API as a native tool, and some chat interfaces may not retrieve external URLs. The machine-readable guides are OpenAPI and llms.txt.