JobsPipe
API Reference

Job Schema

Every field returned for a job, plus the response metadata.

A successful POST /v1/jobs/search returns { metadata, data }, where data is an array of normalized job objects. Every job follows the same shape regardless of source. Most fields are nullable - a source that doesn't supply a value yields null.

Metadata

FieldTypeDescription
total_resultsnumber | nullTotal matches. null unless include_total_results was set.
truncated_resultsnumberNumber of jobs returned in this data array.
total_companiesnumber | nullTotal distinct companies across matches, when computed.
truncated_companiesnumberDistinct companies in this page.
next_cursorstring | nullCursor for the next page, or null if there are no more results.
FieldTypeDescription
idstring | numberStable JobsPipe ID - same job, same ID across sources.
job_titlestringThe posting's job title.
normalized_titlestring | nullTitle normalized to a canonical form.
urlstring | nullCanonical posting URL.
final_urlstring | nullResolved apply URL after redirects.
source_urlstring | nullURL on the originating source.
companystring | nullHiring company name.
company_domainstring | nullCompany website domain.
company_objectobject | nullStructured company details, when available.

Dates & lifecycle

FieldTypeDescription
date_postedstring | nullDate the job was posted (YYYY-MM-DD).
discovered_atstring | nullWhen JobsPipe first ingested the posting.
closed_atstring | nullWhen the posting was detected closed.
repostedbooleanWhether the role was reposted.
date_repostedstring | nullDate of the most recent repost.
has_blurred_databooleanWhether some fields are blurred on the source.

Location

FieldTypeDescription
locationstring | nullDisplay location string.
short_locationstring | nullCondensed location.
long_locationstring | nullFull location string.
countrystring | nullPrimary country name.
country_codestring | nullPrimary ISO country code.
countriesstring[]All associated country names.
country_codesstring[]All associated ISO country codes.
citiesstring[]Associated cities.
continentsstring[]Associated continents.
state_codestring | nullState/region code.
postal_codestring | nullPostal code.
latitudenumber | nullLatitude.
longitudenumber | nullLongitude.
remoteboolean | nullRemote flag.
hybridboolean | nullHybrid flag.

Compensation

FieldTypeDescription
salary_stringstring | nullRaw salary text as posted.
salary_currencystring | nullSalary currency code.
min_annual_salarynumber | nullMinimum annual salary (original currency).
max_annual_salarynumber | nullMaximum annual salary (original currency).
min_annual_salary_usdnumber | nullMinimum annual salary in USD.
max_annual_salary_usdnumber | nullMaximum annual salary in USD.
avg_annual_salary_usdnumber | nullAverage annual salary in USD.

Classification & content

FieldTypeDescription
senioritystring | nullSeniority level.
employment_statusesstring[]Employment types, e.g. ["Full-time"].
easy_applyboolean | nullWhether the source offers one-click apply.
technology_slugsstring[]Detected technologies referenced in the posting.
keyword_slugsstring[]Detected keywords.
hiring_teamarrayHiring-team members, when available.
descriptionstring | nullFull job description.
matching_phrasesstring[]Phrases in the posting that matched your query.
matching_wordsstring[]Words in the posting that matched your query.

Fields are added over time and are always additive. Treat unknown fields as forward-compatible and read only the ones you need.

On this page