Job fields

The job object returned by the feeds. Every value comes from the employer's own posting or from our collection (ids, times, normalized locations). Nothing is estimated: a fact the employer didn't publish is null.

Fields

FieldTypeDescription
idintegerJob id. Stable; match it against /v1/expired-ats.
titlestringJob title as published.
organizationstringHiring employer.
date_postedstringWhen the employer says the job was posted (UTC). Null when the source does not say.
date_createdstringWhen we first collected the job (UTC). Use it for incremental syncs.
date_valid_throughstringClosing date published by the employer.
locationsarrayEach location as a schema.org Place with a PostalAddress (addressLocality, addressRegion code, addressCountry, postalCode) and coordinates when known.
locations_altarrayLocation labels, e.g. Toronto, ON.
locations_derivedarrayNormalized City, Region, Country strings, e.g. Toronto, Ontario, Canada. This is what location searches.
location_typestringTELECOMMUTE when the employer marks the job remote.
salaryobjectEmployer-published pay as a schema.org MonetaryAmount: currency and a QuantitativeValue with minValue/maxValue (or value) and unitText (HOUR, DAY, WEEK, MONTH, YEAR). Never estimated.
employment_typearrayEmployment types the employer states.
urlstringThe original job posting.
sourcestringSource system, e.g. workday, greenhouse, icims, careerpage (an employer's own career site).
source_typestringats or career_site.
source_domainstringHost of the posting URL.
source_slugstringThe employer's board on the source system, e.g. acme or acme.wd3.myworkdayjobs.com/External.
description_textstringPlain-text description (with description_format=text).
description_htmlstringOriginal HTML description (with description_format=html). Not sanitized.
cities_derivedarray
regions_derivedarrayProvince, territory or state names.
countries_derivedarray
lats_derivedarray
lngs_derivedarray
countrystringCountry view: CA or US.
apply_urlstringSeparate application link, when the employer publishes one.
work_arrangementstringEmployer-stated arrangement.
source_fieldsobjectWith include_source_fields=true: {version, fields: {name: {value, source_path}}}, values exactly as the employer published them.

Always null for now

These keys are present so that code written against other job feeds keeps working, but we don't fill them yet: organization_url, organization_logo, location_requirements, domain_derived, counties_derived, timezones_derived.

We also don't return AI-derived fields (ai_*) or third-party company profiles (org_*); filters on them are rejected with 400 rather than ignored. Many of those facts are available from the employer itself through include_source_fields=true: department, pay tiers, required experience, education and skills, exactly as published, with the path where each was found.

Locations in detail

  • locations holds one schema.org Place per location with a PostalAddress: addressLocality (city), addressRegion (province or state code), addressCountry (CA or US) and postalCode when published, plus coordinates when known.
  • locations_derived, cities_derived, regions_derived and countries_derived are the same places as full names, ready for display and search.
  • lats_derived / lngs_derived list coordinates for the locations that have them (city centres unless the employer gave an address).

Pay

salary is filled only when the employer published pay, and keeps its period: an hourly wage stays hourly (unitText: "HOUR"). A single amount is value; a range is minValue/maxValue.