API reference

The job record

Every field the jobs detail route returns, what each one holds, and a whole record to read. Values here are invented; the shape is the one the API returns.

What comes back

Send the ids and nothing else and you get the record below. The posting itself, the employer, where the work is, what it pays, and when it was seen.

POST/entity/v1/jobs/detail-by-id
{
  "id": "Jb71xKcAoP",
  "title": "Senior Platform Engineer",
  "description": "We are hiring a platform engineer to own our build and deploy story…",
  "url": "https://www.linkedin.com/jobs/view/example",
  "external_url": "https://northwind-analytics.example/careers/platform-engineer",
  "posted": "2 weeks ago",
  "application_active": 1,
  "employment_type": "Full-time",
  "seniority": "Mid-Senior level",
  "functions": ["Engineering", "Information Technology"],
  "industries": ["Software Development"],
  "applicants_count": "48",
  "required_months_of_experience": 60,
  "company_name": "Northwind Analytics",
  "company": {
    "name": "Northwind Analytics",
    "url": "https://www.linkedin.com/company/northwind-analytics",
    "logo_url": "https://cdn.example/northwind.png"
  },
  "city": "Austin",
  "state": "Texas",
  "country": "United States",
  "country_iso_2": "US",
  "location": "Austin, Texas, United States",
  "regions": [{ "region": "North America" }],
  "salary": {
    "min_value": "170000",
    "max_value": "205000",
    "currency": "USD",
    "unit": "YEARLY",
    "string": "$170,000/yr - $205,000/yr"
  },
  "created_at": "2026-08-10",
  "updated_at": "2026-08-18"
}

Empty is not missing

A field with no value comes back as null or an empty array rather than being left out, so a record's shape does not change with how complete it is. Read the value, not the presence of the key.

Asking for more, or less

_source takes an array of field names and returns exactly those. It is how you make a response smaller, and it is how you reach company_id, which is what carries you from a job to the company behind it.

POST/entity/v1/jobs/detail-by-id
{
  "job_ids": ["Jb71xKcAoP"],
  "_source": ["id", "title", "company_name", "company_id"]
}

A name outside the tables below is refused, so a typo is visible rather than returning a record without the field.

POST/entity/v1/jobs/detail-by-id
{
  "id": "Jb71xKcAoP",
  "title": "Senior Platform Engineer",
  "company_name": "Northwind Analytics",
  "company_id": "Cm4vTnR2sD"
}

The posting

Field
id
Type
string
What it holds
The posting's identifier on this API. Send it back to this route to read the record again.
Field
title
Type
string
What it holds
The role as advertised.
Field
description
Type
string
What it holds
The advert body, often the longest field on the record.
Field
url
Type
string
What it holds
The posting on the source platform.
Field
external_url
Type
string
What it holds
The employer's own application page, where the posting links to one.
Field
posted
Type
string
What it holds
How long ago the posting appeared, as the source words it: "2 weeks ago". Filter on posted with a relative date rather than parsing this.
Field
application_active
Type
integer
What it holds
1 while the posting still accepts applications.
Field
applicants_count
Type
string
What it holds
How many people the source says have applied.
Field
created_atupdated_at
Type
string
What it holds
When this record was first seen and last refreshed. YYYY-MM-DD.

The role

Field
seniority
Type
string
What it holds
One of seven levels, from Internship to Executive.
Field
employment_type
Type
string
What it holds
One of seven, from Full-time to Volunteer.
Field
functions
Type
string[]
What it holds
Job functions the posting is filed under. A long vocabulary, so match rather than eq.
Field
industries
Type
string[]
What it holds
Industries the posting is filed under. Also a long vocabulary.
Field
required_months_of_experience
Type
integer
What it holds
Experience asked for, in months, where the posting states one.

The employer

Field
company_name
Type
string
What it holds
The hiring company, as a name on the posting.
Field
company_id
Type
string
What it holds
The same company as an identifier, for the companies route rather than this one. Name it in _source; it is not in the default record.
Field
company.namecompany.urlcompany.logo_url
Type
string
What it holds
The company block on the posting: its name, its page on the source platform, and its logo.

Where the work is

Field
citystatecountry
Type
string
What it holds
The location as names. country is a full name such as United States.
Field
country_iso_2
Type
string
What it holds
Two-letter country code. Note the underscore before the 2 on this dataset.
Field
location
Type
string
What it holds
The parts above, formatted for reading.
Field
regions.region
Type
string
What it holds
Broad groupings such as North America.

Pay

Present only where the posting states a figure, which is a minority of them.

Field
salary.min_valuesalary.max_value
Type
string
What it holds
The band, as strings. Filter on salary_min and salary_max, which are numeric.
Field
salary.currency
Type
string
What it holds
Three-letter code.
Field
salary.unit
Type
string
What it holds
The period the figures cover, such as YEARLY.
Field
salary.string
Type
string
What it holds
The band as the posting displays it.