LinkedIn Jobs Scraper API
searches and full postings
Send a LinkedIn job search and get every job card as a row: title, company, location and the date it was posted. Send a job link and get the whole posting, with seniority, employment type, applicant count and the description in markdown.
www.linkedin.com/jobs/search/?keywords=data%20analyst&location=United%20States{"type": "jobSearch","totalResults": "11,000+","jobCount": 60,"jobs": [{"position": 1,"title": "Sr. Data Analyst","company": "Accenture Federal Services","location": "Washington, DC","postedAt": "2026-10-12"},"… 59 more"]}
jobs on the first page of a search, 10 on each page after
jobs per search, the most LinkedIn shows visitors
unique jobs across 20 pages in a test run, no duplicates
per search page or job posting, $0 if it fails
Job links Spidra understands
Build the search on LinkedIn's jobs page while signed out, then copy the link from the address bar.
Search, first page
Up to 60 job cards in LinkedIn's order, plus the total result count LinkedIn shows.
linkedin.com/jobs/search/?keywords=data%20analyst&location=United%20StatesSearch, next pages
Add start=60, then 70, 80 and so on. Each page has 10 jobs, and nextStart tells you the value to send next.
...&location=United%20States&start=60Job postings
The full posting: description, seniority, employment type, function, industries, applicants and pay when listed.
linkedin.com/jobs/view/4478595713/A search with a job open
A search link with currentJobId reads the selected job, the same as its own job link.
...jobs/search/?currentJobId=4478595713Filters in the link
Keywords, location and LinkedIn's own filters carry through, such as f_TPR=r86400 for the past 24 hours.
...&f_TPR=r86400A company's jobs tab
The jobs tab of a company page comes back as the full page in markdown.
linkedin.com/company/stripe/jobs/One call, every field
Point the scrape call at a LinkedIn link. With JSON output and no prompt, the data comes back as it is, for 1 credit and no AI cost.
Ask for markdown instead and you get the readable page as text. The structured data still comes back, in its own structuredData field next to the markdown.
What comes back
Real responses from Spidra, trimmed for length. Nothing here is mocked up.
https://www.linkedin.com/jobs/search/?keywords=data%20analyst&location=United%20StatesPage 1 of a search: up to 60 jobs. Then add start=60, 70, 80 and so on: each later page holds 10.
{"type": "jobSearch","totalResults": "11,000+","jobCount": 60,"nextStart": 60,"jobs": [{"position": 1,"jobId": "4478595713","title": "Sr. Data Analyst","company": "Accenture Federal Services","companyUrl": "https://www.linkedin.com/company/accenturefederalservices","location": "Washington, DC","postedAt": "2026-10-12","postedText": "6 days ago","benefits": "Actively Hiring","url": "https://www.linkedin.com/jobs/view/4478595713/"},{"position": 2,"jobId": "4472640743","title": "Data Analyst","company": "Zelis","companyUrl": "https://www.linkedin.com/company/zelis","location": "Cottonwood Heights, UT","postedAt": "2026-10-01","postedText": "2 weeks ago","benefits": "Actively Hiring","url": "https://www.linkedin.com/jobs/view/4472640743/"},{"position": 3,"jobId": "4444390846","title": "Enterprise Data Analyst","company": "Husch Blackwell","companyUrl": "https://www.linkedin.com/company/husch-blackwell","location": "Washington, DC","postedAt": "2026-10-18","postedText": "12 hours ago","benefits": "Actively Hiring","url": "https://www.linkedin.com/jobs/view/4444390846/"},"… 57 more"]}
Paging without gaps or repeats
The first page of a search carries 60 jobs. After that LinkedIn serves 10 at a time, and a common bug in job scrapers is stepping by the wrong amount and silently skipping jobs. Every Spidra response includes nextStart, the exact value to send for the next page.
LinkedIn stops at 1,000 results per search for visitors who aren't signed in. A start above 990 fails straight away and costs nothing. To cover more, split the search by location, keyword or posting date.
"type": "jobSearch","start": 0,"totalResults": "11,000+","jobCount": 60,"jobs": [ ... ],"nextStart": 60
The whole posting, ready to read
A job link adds what the search card leaves out: the applicant count, seniority, employment type, industries and the full description. The description comes as plain text for search and analysis, and as markdown that keeps the employer's headings and lists.
Fields LinkedIn doesn't show for a job come back as null. In this posting the employer wrote the pay range into the description rather than LinkedIn's pay field, so salary is null and the range is in the text.
"jobId": "4478595713","title": "Sr. Data Analyst","company": "Accenture Federal Services","location": "Washington, DC","postedText": "6 days ago","applicants": "103 applicants","salary": null,"seniorityLevel": "Mid-Senior level","employmentType": "Full-time","jobFunction": null,"industries": "IT Services and IT Consulting"
Dates you can filter on
Each card has postedAt as a plain date next to LinkedIn's relative text, so "12 hours ago" and "2 months ago" become values you can sort and compare.
For daily collection, add f_TPR=r86400 to the search link. In a test run every job it returned was between 3 and 22 hours old.
{"position": 3,"jobId": "4444390846","title": "Enterprise Data Analyst","company": "Husch Blackwell","location": "Washington, DC","postedAt": "2026-10-18","postedText": "12 hours ago","salary": null,"benefits": "Actively Hiring","url": "https://www.linkedin.com/jobs/view/4444390846/"}
Ask for the columns you want
Describe the answer as a prompt, a JSON schema or both, and it comes back in that shape. The AI reads a compact copy of the data Spidra already read, not the whole page.
{"jobs": [{"title": "Sr. Product Mgr, Tech, AWS Messaging Services","company": "Amazon Web Services (AWS)","location": "Vancouver, British Columbia, Canada","posted": "2026-10-01"},{"title": "Senior Product Manager - On-chain","company": "CoinMarketCap","location": "Dubai, Dubai, United Arab Emirates","posted": "2026-09-03"},{"title": "Senior Product Manager, Exchange","company": "Cint","location": "London, England, United Kingdom","posted": "2026-09-29"},"… 57 more"]}
This request cost 8 credits on October 18, 2026: 1 for the page plus the AI tokens. For the data as it is, use JSON output with no prompt for 1 credit.
What teams build with it
Job postings are one of the clearest public signals of what a company is doing next.
Job boards
Collect new postings for a role and region every day, with the full description to match against.
See the use caseLabor market research
Count postings by title, location, seniority and industry, and watch how demand for a skill changes over time.
See the use caseHiring signals
See which companies are hiring for which teams, a common trigger for sales and recruiting outreach.
See the use caseHow Spidra compares
LinkedIn job data is one of the most common scraping jobs, and some tools are cheaper per job. Here is how they differ.
| Bright Data | Apify job actors | Spidra | |
|---|---|---|---|
| Price | $1.50 per 1,000 records, $1.30 on the Scale plan | $1.00 to $2.00 (curious_coder), $1.00 to $1.50 (bebity), $0.28 to $0.40 (valig) per 1,000 | Search cards: 95 credits for a full 1,000-job search ($0.36 down to $0.19). Full postings: 1 credit each |
| Input | Keyword, location, time range, job type and more, or URLs | A LinkedIn search URL (curious_coder) | Any LinkedIn search or job link, with LinkedIn's own filters |
| Per-job fields | Salary range, applicants, seniority, apply link, Easy Apply flag, job poster | Up to 42 fields with parsed salary and company details (bebity) | Title, company, location, date, applicants, seniority, type, function, industries, pay when shown, description |
| Search cap | Not stated | 1,000 per search, stated in the actors' READMEs | 1,000 per search; a start past 990 fails free |
| Beyond LinkedIn | Other scrapers, datasets and proxies | Thousands of other actors | Indeed, any website, crawl, search, PDFs, MCP |
Choose an Apify job actor if
You want the lowest price per job with descriptions included, plus parsed salary, apply links and the job poster, and LinkedIn is the only site you need.
Choose Spidra if
You want search pages that are cheap per job, full postings when you need them, the same call for Indeed and other job sites, and nothing charged for a page that fails.
Competitor prices are as published on their own pages on October 17, 2026 and may have changed. Spidra prices use 1 credit per page on each plan. Sources: Bright Data, curious_coder, bebity, Apify Store.
What to know before you build
We would rather you hear the limits from us than find them in production.
- LinkedIn shows visitors at most 1,000 jobs per search (start 0 to 990). Split larger searches by location, keyword or posting date.
- Search cards don't include the description. Send each job link for the full posting, at 1 credit per posting.
- Pay appears only when the employer fills in LinkedIn's pay field: about 1 in 5 postings in a 20-posting test run. Ranges written into the description stay in the description.
- The remote filter (f_WT=2) passes through, but cards don't carry a remote label, so check the location and description if remote matters to you.
- Spidra reads jobs as a visitor who isn't signed in. Apply links and anything LinkedIn shows only to members aren't included.
What it costs
1 credit per page. Pages that can't be delivered are free. Work out your monthly volume below.
Example: a full 1,000-job search is 95 pages (60 jobs on the first, then 10 per page). Three of those a day is 8,550 credits a month. Plain JSON output uses no AI tokens.
| Plan | Price | LinkedIn pages a month |
|---|---|---|
| Free | $0 | up to 300 (one time) |
| Starter | $19/mo | up to 5,000 |
| BuilderPopular | $79/mo | up to 25,000 |
| Pro | $249/mo | up to 125,000 |
Related scrapers
Same API key, same credits. See every scraper.
Questions, answered
LinkedIn's official APIs run through partner programs for marketing, talent and sales. They need LinkedIn's approval, have no public price list, and aren't an open feed of job search results. Spidra reads the public job search and job pages that anyone can open without signing in.
Send a LinkedIn job search and see what comes back.
Get 300 free credits, no card, and pull your first 60 jobs from the dashboard or the API.
Spidra is not affiliated with, endorsed by, or sponsored by LinkedIn. LinkedIn is a trademark of LinkedIn Corporation. Check LinkedIn's User Agreement and the laws that apply to you before you collect data, and use the data responsibly.