Skip to main content

Job Object

Every API endpoint that returns jobs uses this unified schema.

HTML in Descriptions

The description field contains sanitized HTML (not plain text). Common tags include <p>, <ul>, <li>, <strong>, <em>, <br>, and <h3>. All potentially dangerous tags (e.g., <script>, <iframe>) are stripped during ingestion. If you’re rendering descriptions in a web UI, use an HTML sanitizer like DOMPurify as an additional safety layer.

Enum Fields

Employment Type

Workplace Type

Experience Level

Source

The source field identifies the ATS (Applicant Tracking System) platform the job was scraped from. Examples include: greenhouse, lever, workday, ashby, bamboohr, icims, smartrecruiters, teamtailor, workable, rippling, personio, taleo, successfactors, paylocity, dayforce, phenompeople, jobvite, eightfold, jazzhr, breezy, recruitee, applicantpro, comeet, pinpoint, freshteam, gem, polymer, kula, homerun, careerplug, joincom, recooty, trakstar, hirehive, hiringthing, zohorecruit, gohire, jobscore, csod, adpmyjobs, adpworkforcenow, paycom, ultipro, isolved, oraclecloud, talnet, careerpuck, dover, hibob, hirebridge, hireology, manatal, pageup, paycor, rival, trinet, werecruit New sources are added as we expand coverage. Use the value as an opaque identifier — do not hard-code assumptions about the set of possible values.

Nested Objects

Company

Location

Compensation

Qualifications

The qualifications object contains two buckets — must_have and preferred — each with:

Skill Type

Complete Example

A fully populated Job object showing all fields:
Nullable fields — Fields marked as nullable in the schema above will be null (not absent) when no data is available. Your application should always handle null values gracefully. Array fields (locations, responsibilities, benefits) will be empty arrays [] rather than null when no data is present.