↑ ↓ to move ↵ to open
LinkedIn API · Endpoint

LinkedIn Jobs Search API

Search LinkedIn jobs by keywords and location, filtered by date posted, remote or on-site, job type and seniority. Each result has the title, company, location, date and link.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • linkedin.jobs.search
Response completed
{  "count": 25,  "has_more": true,  "next_start": 25,  "start": 0,  "results": [    {      "title": "Senior Software Engineer – Go (Golang)",      "company_name": "General Motors",      "location": "Warren, MI",      "posted_at": "2026-10-04",      "company_url": "https://www.linkedin.com/company/general-motors",      "job_id": "4419969671",      "url": "https://www.linkedin.com/jobs/view/4419969671",      "urn": "urn:li:jobPosting:4419969671"    },    {      "title": "Senior Software Engineer – Go (Golang)",      "company_name": "General Motors",      "location": "Mountain View, CA",      "posted_at": "2026-10-05",      "company_url": "https://www.linkedin.com/company/general-motors",      "job_id": "4419973506",      "url": "https://www.linkedin.com/jobs/view/4419973506",      "urn": "urn:li:jobPosting:4419973506"    }  ]}
Try it live, free
Input

What you send

The input object of the request, with every field the endpoint accepts.

FieldTypeRequiredWhat it doesExample
company_id string one of Only jobs at this company. Get the ID from the company or company search endpoint.
keywords string one of What to search for, such as a job title or a skill. software engineer
date_posted string no How recent the jobs are. past_week
employment_types array<string> no Full-time, part-time, contract and the other job types to include. full_time · part_time · contract · temporary · …
experience_levels array<string> no Seniority levels to include. internship · entry_level · associate · mid_seni…
limit integer no How many jobs to return in this call. 25
location string no Where, as you would type it on LinkedIn: a country, region or city. United States
max_pages integer no How many result pages to read in this call. A smaller number answers faster. 3
start integer no Where to start in the results. Pass next_start from the last response to get the next page.
workplace_types array<string> no On-site, remote or hybrid. ["remote"]
Response

Fields it returns

What each record in the response holds, with the values from the sample above.

FieldTypeWhat it isExample
results[].title string The job title. Senior Software Engineer – Go (Golang)
results[].company_name string The employer. General Motors
results[].location string Where the job is. Warren, MI
results[].posted_at string The day the job was posted. 2026-10-04
results[].job_id string LinkedIn's ID for the job. Pass it to the Job API for the full posting. 4419969671
results[].company_url string The employer's LinkedIn page. https://www.linkedin.com/company/general-motors
results[].url string The job's page on LinkedIn. https://www.linkedin.com/jobs/view/4419969671
results[].urn string LinkedIn's full identifier for the job. urn:li:jobPosting:4419969671
count integer How many jobs this response holds. 25
has_more boolean Whether more results follow. true
next_start integer Send it as start to get the next page. 25
results array The jobs. 25 records
start integer Where this page started in the results. 0
REST API · MCP server

Call it from your code, or ask your agent

Set UPSCRAPE_API_KEY to your key and copy a working request.

curl --request POST \  --url https://data.upscrape.com/execute \  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \  --header "Content-Type: application/json" \  --header "Prefer: wait=30" \  --data '{  "capability": "linkedin.jobs.search",  "input": {    "date_posted": "past_week",    "keywords": "software engineer",    "limit": 25,    "location": "United States",    "max_pages": 3,    "workplace_types": [      "remote"    ]  }}'
In your AI agent Claude · Cursor · any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

Using Upscrape, find remote software engineer jobs in the United States posted on LinkedIn this week. Make a table of title, company, location and date, newest first.

The agent finds the endpoint, shows you the price, and runs it with your credits.
LinkedIn

More from the LinkedIn API

Same data, other platforms

The same data from other platforms

Questions

LinkedIn Jobs Search API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
How much does the LinkedIn Jobs Search API cost?

1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.

What do I send?

Send keywords or company_id. The input fields below list every option with its type and limits.

Do I need a LinkedIn login?

No. It reads public LinkedIn data; nothing runs on your account.

Can my AI agent call it?

Yes, over MCP: the agent finds linkedin.jobs.search, checks its price and runs it with the same credits as the REST API.

Get started

Your first LinkedIn call is free.

Up to 100 free credits to start, no card needed.