Docs / Job Data API

Job Data API

Postings from company career pages and boards, deduplicated per source, with the source's own employment type, job function and career level preserved rather than mapped to a taxonomy that would hide disagreements.

Live https://api.softon.dev/v1 v1 · stable

Endpoints

EndpointRouteReturns
List jobs GET /v1/jobs collection
Retrieve a job GET /v1/jobs/{id} single object
Company jobs GET /v1/companies/{id}/jobs collection

The Job object

The fields below appear on the dataset's primary resource. Endpoint pages list any fields specific to them.

FieldTypeDescription
id string Stable identifier, "<source>:<source id>". Pass it to /v1/jobs/{id}.
source string Which scraper produced this posting.
title string Posting title as published.
company object · nullable The hiring company: name and slug. null when the source omits it.
location string · nullable Free-text location as published.
remote boolean · nullable Whether the posting is remote-eligible.
employment_type string · nullable Full-time, Part-time, Contract, as the source labels it.
job_function string · nullable The source's own function taxonomy, not normalised across sources.
career_level string · nullable The source's own seniority label. Not normalised, so it is not called "seniority".
posted_at timestamp · nullable When the posting first appeared, RFC 3339.
url string · nullable Canonical page on the source site.
description string · nullable Full posting body. Present when the crawler has fetched the posting's own page, null otherwise — on collections and on /v1/jobs/{id} alike, since neither fetches on demand.
requirements string · nullable Requirements section when the source separates it, subject to the same condition as description.
facts object · nullable The source's own labelled metadata, e.g. "Apply Before". Label set differs per source.
ingested_at timestamp When this version was stored.