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.