Modified jobs

Active jobs whose published content changed: title, description, locations, pay, employment type or closing date (and, for Canadian jobs, the employer's structured source fields). Call it once a day at a fixed time and replace your stored copies.

GET/v1/modified-ats

By default it covers the 24 hours up to the last full UTC hour, ordered by date_modified, most recent first. Pass date_modified_gte and date_modified_lt to choose another window of up to 31 days, for example to catch up after an outage.

A job is listed once, with its latest modification time, however often it changed in the window. Jobs that were new in the window are in New jobs; they appear here only if they changed again after being collected.

Parameters

ParameterTypeDescription
date_modified_gteISO 8601Changed at or after this time.
date_modified_ltISO 8601Changed before this time.
limitintegerJobs per page, 1–1000. Default 100.
offsetintegerJobs to skip. Pages are ordered by date_posted, newest first (jobs without a posted date use date_created).
cursorintegerPass the last id of the previous page. Orders by id ascending and overrides offset. Use it for 6m backfills.
description_formatstringtext or html. Omit to leave descriptions out, which keeps pages small.
include_source_fieldsbooleantrue adds source_fields: department, pay tiers, qualifications and other facts exactly as the employer published them, with where each was found.
include_basic_organization_details, include_betabooleanAccepted for compatibility; they add no fields.
titlestringSearch the title. nurse manager needs both words, "nurse manager" is a phrase, nurse OR manager either, -assistant excludes, engineer* is a prefix.
descriptionstringSame syntax, over the title, employer name and description together.
locationstringFull place names, City, Region, Country, combined with OR. See Location search.
title_advanced, description_advanced, location_advanced, organization_advancedstringBoolean expressions with &, |, !, <->, parentheses and :*. They take precedence over the plain parameter. See Advanced search.
date_posted_gte, date_posted_ltISO 8601When the employer says the job was posted. A time without a zone is UTC.
date_created_gte, date_created_ltISO 8601When we first collected the job. Use these to replay a missed window exactly. See Time fields.
countrylistCA, US or both (the default).
organization, exclude_organizationlistExact, case-sensitive employer names, comma-separated. Quote a name that contains a comma: "Acme, Inc.". The organization list has every name.
source, exclude_sourcelistSource systems, e.g. workday,icims. See Sources.
has_salarybooleantrue: the employer published pay. false: it did not.
remotebooleantrue: marked remote by the employer. false: not remote.
has_no_locationbooleantrue: jobs without a resolved location.
idlistOnly these job ids.

Example

bash
curl --get "https://api.thejobsapi.com/v1/modified-ats" \
  -H "Authorization: Bearer $THEJOBSAPI_KEY" \
  --data-urlencode 'location=Canada' \
  --data-urlencode 'limit=1000' \
  --data-urlencode 'offset=0'

Response

The same job objects as New jobs, plus:

FieldTypeDescription
date_modifiedtimestampWhen we detected the latest change (UTC).
modified_fieldsnullNot provided yet. Compare with your stored copy, or use the changes feed to replace the whole record.

Each job returned counts toward your job allowance.