POST /linkedin_job_detail • Credits: 1 credit per call
LinkedIn Job Details returns the full detail of one LinkedIn job posting. Send a POST request with the LinkedIn job ID or the LinkedIn job URL. The response holds the job ID, the job title, the company name, the workplace type, the employment type and the plain-text job description. Each call costs 1 credit.
What does LinkedIn Job Details do?
A LinkedIn job search result carries a job ID, a title and a company name, and no description. LinkedIn Job Details closes that gap. The endpoint reads the public LinkedIn job page for the job ID or the job URL that you send. It returns the job posting as structured JSON in one synchronous response. The data source is LinkedIn. One call covers one job posting.
Which endpoint does LinkedIn Job Details use?
Method:
POSTURL:
https://api.richapi.ai/api/v1/linkedin_job_detailAuthentication:
x-api-keyheaderResponse: synchronous JSON
Credits: 1 credit per call
CAUTION: LinkedIn Job Details accepts POST only. A GET request returns status 405 with the message linkedin_job_detail only supports POST. Put every parameter in the request body, never in the query string.
How to send a LinkedIn Job Details request
Copy your API key from the RichAPI dashboard.
Open the LinkedIn job posting in a browser.
Copy the job URL from the address bar.
Set the
urlparameter to that job URL, or set thejob_idparameter to the job ID.Send a
POSTrequest tohttps://api.richapi.ai/api/v1/linkedin_job_detail.Send the API key in the
x-api-keyheader.Read the job fields from the
elementobject in the response.
CAUTION: Each LinkedIn Job Details call costs 1 credit. One call covers one job posting.
cURL
curl -X POST https://api.richapi.ai/api/v1/linkedin_job_detail
-H "x-api-key: YOUR_API_KEY"
-H "Content-Type: application/json"
-d '{
"url": "https://www.linkedin.com/jobs/view/4388248291"
}'
Python
import requests
response = requests.post(
"https://api.richapi.ai/api/v1/linkedin_job_detail",
headers={"x-api-key": "YOUR_API_KEY"},
json={"url": "https://www.linkedin.com/jobs/view/4388248291"},
timeout=60,
)
response.raise_for_status()
print(response.json())
Node.js
const response = await fetch("https://api.richapi.ai/api/v1/linkedin_job_detail", {
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
url: "https://www.linkedin.com/jobs/view/4388248291",
}),
});
const data = await response.json();
console.log(data);
What parameters does LinkedIn Job Details accept?
Parameter | Type | Required | Default | Description |
| string | No |
| The LinkedIn job ID, for example |
| string | No |
| The LinkedIn job URL, for example |
Both parameters are optional on their own. One of the two must carry a value, because the endpoint needs one job identifier.
Which job identifier does LinkedIn Job Details accept?
LinkedIn Job Details accepts two job identifier formats. The job_id format is the numeric ID of the job posting, for example 4388248291. The url format is the public LinkedIn job page URL, for example https://www.linkedin.com/jobs/view/4388248291. The job ID is the last numeric segment of that URL.
Identifier that you hold | What to do |
LinkedIn job ID | Send it as the |
LinkedIn job URL | Send it as the |
Job title and company name only | Send LinkedIn Job Search API first, then read the |
How to search LinkedIn jobs and then fetch the job details
LinkedIn Job Search API returns a page of job results with an id field on each result. LinkedIn Job Details turns one such id into a full job posting. The two endpoints pair as a two-step flow: search wide, then fetch the detail of the interesting jobs only.
Send a
POSTrequest tohttps://api.richapi.ai/api/v1/linkedin_job_searchwith your filters.Read the
elementsarray from the search response.Pick the jobs that match your criteria.
Send one
POSTrequest tohttps://api.richapi.ai/api/v1/linkedin_job_detailfor each picked job.Set the
job_idparameter to theidfield of the search result.
import requests
BASE_URL = "https://api.richapi.ai/api/v1"
HEADERS = {"x-api-key": "YOUR_API_KEY", "Content-Type": "application/json"}
# Step 1: search LinkedIn jobs. One page returns up to 25 results.
search = requests.post(
f"{BASE_URL}/linkedin_job_search",
headers=HEADERS,
json={"title": "Backend Engineer", "location": "San Francisco", "page": 1},
timeout=60,
)
search.raise_for_status()
jobs = search.json().get("elements", [])
# Step 2: fetch the full detail of the first 10 jobs.
for job in jobs[:10]:
detail = requests.post(
f"{BASE_URL}/linkedin_job_detail",
headers=HEADERS,
json={"job_id": job["id"]},
timeout=60,
)
detail.raise_for_status()
element = detail.json().get("element")
if element is None:
continue
print(element["title"], element["companyName"], element["employmentType"])
What does the two-step flow cost?
LinkedIn Job Search costs 0.1 credit per job result returned. LinkedIn Job Details costs 1 credit per call. The example above returns 25 search results and fetches the detail of 10 jobs. One credit costs $0.02 on the 1,000 and 5,000 credit packs.
Step | Calls | Credits | Cost |
LinkedIn Job Search, one page of 25 results | 1 | 2.5 | $0.05 |
LinkedIn Job Details, 10 jobs | 10 | 10 | $0.20 |
Total | 11 | 12.5 | $0.25 |
The detail calls dominate the cost. To hold the cost down, filter the search results first, then fetch the detail of the shortlist only.
What does LinkedIn Job Details return?
The response holds one element object with the job posting. This block is an example response for a remote full-time engineering job.
{
"element": {
"id": "4388248291",
"title": "Senior Backend Engineer",
"companyName": "Stripe",
"workplaceType": "remote",
"employmentType": "full_time",
"descriptionText": "Stripe builds payment infrastructure for the internet. As a Senior Backend Engineer on the Payments Platform team, you own the design, the delivery and the reliability of high-volume payment services. You need 5 or more years of backend experience with Go, Java or Ruby."
}
}
What does each LinkedIn Job Details response field mean?
Field | Type | Description |
| object | The full job posting. If RichAPI finds no job for the identifier, the value is null. |
| string | The LinkedIn job ID of the posting. |
| string | The job title as shown on LinkedIn. |
| string | The name of the company that posted the job. |
| string | The workplace type of the job, for example |
| string | The employment type of the job, for example |
| string | The plain-text job description from the LinkedIn job page. |
How much does LinkedIn Job Details cost?
LinkedIn Job Details costs 1 credit per call, and one call covers one job posting. One credit costs $0.02 on the 1,000 and 5,000 credit packs. Larger packs cost less per credit. 500 calls cost 500 credits, and 500 credits cost $10.00.
Calls | Credits | Cost |
1 | 1 | $0.02 |
100 | 100 | $2.00 |
500 | 500 | $10.00 |
1,000 | 1,000 | $20.00 |
10,000 | 10,000 | $200.00 |
RichAPI charges a credit only for a successful call. A failed call costs no credit.
What errors does LinkedIn Job Details return?
An error response holds an error field with a text message.
Status | Meaning | What to do |
| The request body failed validation. | Correct the parameter that the message names. Send |
| The API key is missing, wrong or revoked. | Send a valid key in the |
|
| Buy credits in the RichAPI dashboard, or ask the organization owner to raise the spend limit, then send the request again. |
|
| Call |
| The endpoint name is wrong. | Send the request to |
| The request used a method other than | Send the request again with |
| Rate limit exceeded (too many requests per second). | Wait for the |
| The API failed. | Send the request again. If the failure repeats, contact support. |
| The upstream data provider failed. | Send the request again after a short wait. |
| The upstream data provider timed out. | Send the request again after a short wait. |
For a retry loop, wait 1 second, then 2 seconds, then 4 seconds between attempts.
Frequently asked questions
What input does the LinkedIn Job Details API need?
The LinkedIn Job Details API needs one LinkedIn job identifier. Send the numeric job ID in the job_id parameter, or send the job page URL in the url parameter.
Does the LinkedIn Job Details API use GET or POST?
The LinkedIn Job Details API uses POST. A GET request returns status 405 with the message linkedin_job_detail only supports POST.
Where do I find the LinkedIn job ID?
The LinkedIn job ID is the last numeric segment of a LinkedIn job URL. In https://www.linkedin.com/jobs/view/4388248291, the job ID is 4388248291.
How much does the LinkedIn Job Details API cost per job?
The LinkedIn Job Details API costs 1 credit per call, and one call covers one job posting. One credit costs $0.02 on the 1,000 and 5,000 credit packs, so 1,000 job postings cost $20.00 there.
How do I find job IDs for the LinkedIn Job Details API?
Send LinkedIn Job Search API with your filters, then read the id field of each result in the elements array. Send each id to LinkedIn Job Details as the job_id parameter.
Can the LinkedIn Job Details API return many job postings in one call?
No. The LinkedIn Job Details API covers one job posting per call. For many job postings, send one call for each job ID.
Is the LinkedIn Job Details API synchronous?
Yes. The LinkedIn Job Details API returns the job posting in the same response. The endpoint needs no second call and no webhook.
