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.
Field Type Description 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.
Field Type Description 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.
Field Type Description 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.
Field Type Description 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.
Field Type Description 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.
Field Type Description 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.