Skip to content
OpenTrain AIOpenTrain AIOpenTrain AIDocs

Ask OpenTrain

Answers from the documentation, with sources.

What would you like to do with OpenTrain?

AI answers can be mistaken. Check the linked sources. Don’t include private account information.

Open app

DEVELOPER DOCUMENTATION

Get Job

Retrieve a single public job by ID.

GET/api/public/v1/jobs/{id}

Fetches one public marketplace job by ID. Same job object shape as search. Tokenless, CORS-enabled, edge-cached.

A job that exists but is no longer publicly listed (closed, archived, or otherwise unlisted) returns 404 with a minimal {id, status: "closed"} body — distinct from the standard error envelope you get for a nonexistent ID.

Requirements: none — no token, no scope, no feature flag. Rate limited to 120 requests/minute per IP.

idstringpathrequired

Job ID (from search, the changes feed, or your own job list). Empty or longer than 64 characters → 400.

A single job object — see the search page for every field: id, slug, title, companyName, descriptionText, descriptionHtml, seoTitle, summary, status, datePosted, validThrough, updatedAt, employmentTypes, countries, languages, category, dataType, labelTypes, labelingSoftware, experienceLevel, skills, pay, url, applyUrl.

StatuscodeMeaning
400BAD_REQUESTInvalid ID (empty or over 64 characters)
404NOT_FOUNDNo such job (standard error envelope)
404Job exists but is closed/unlisted — body is {"id": "...", "status": "closed"}
429RATE_LIMITEDOver 120 requests/minute from one IP