Dedicated ScrapersLinkedIn Scraper API
LinkedIn logoDedicated LinkedIn API

LinkedIn Scraper API — Extract Jobs, Companies & People Data

The fastest way to start scraping LinkedIn at scale. Our LinkedIn API returns structured JSON for job search, company and school profiles, member profiles, posts, articles, and courses — with anti-bot bypass built in. No LinkedIn account or login.

10Endpoints
GlobalCoverage
13+Fields per job
From $0.27Per 1K job req

No credit card required · PAYG credits never expire

Search LinkedIn Jobs
# Search remote engineering roles
import scrapebadger

client = scrapebadger.ScrapeBadger("sb_live_...")

results = client.linkedin.search_jobs(
    keywords="software engineer",
    location="San Francisco",
    workplace="remote"
)
200 OK3s · 5 credits
{
  "job_id": "3820394821",
  "title": "Senior Software Engineer",
  "company": "Acme Corp",
  "location": "San Francisco, CA",
  "posted_relative": "2 days ago",
  "is_new": true
}
API Reference

LinkedIn API — 10 Dedicated Endpoints

Structured JSON responses with normalized data models. No HTML parsing. No proxy management. No LinkedIn account.

GET
/v1/linkedin/jobs/search
Search job postings by keyword, location, company, date, experience, type, and workplace
5 cr / req
GET
/v1/linkedin/jobs/{job_id}
Full job posting — description, salary, seniority, employment type, functions, and apply URL
5 cr / req
GET
/v1/linkedin/companies/{company_id}/jobs
All open job postings for a company, paginated
5 cr / req
GET
/v1/linkedin/companies/{universal_name}
Company profile — industry, size, HQ, founded, specialties, and follower count
6 cr / req
GET
/v1/linkedin/schools/{universal_name}
School / university profile — description, website, size, and follower count
6 cr / req
GET
/v1/linkedin/profiles/{public_id}
Member profile — headline, about, experience, education, languages, and awards
8 cr / req
GET
/v1/linkedin/posts/{post_slug}
A feed post — author, text, timestamp, reactions, and top comments
5 cr / req
GET
/v1/linkedin/articles/{article_slug}
A LinkedIn Pulse article — author, title, body text, and timestamp
5 cr / req
GET
/v1/linkedin/learning/{course_slug}
A LinkedIn Learning course — provider, workload, rating, and instructors
5 cr / req
GET
/v1/linkedin/geo/suggest
Typeahead suggestions for locations (geo IDs) or companies
2 cr / req
Response Schema

Every Field You Need, Ready to Use

All fields are normalized from LinkedIn's page data. Nested blocks — experience, education, salary — come pre-parsed.

Job

job_idstringNumeric LinkedIn job ID
titlestringJob title
job_urlstringCanonical job posting URL
companystringHiring company name
company_urlstring|nullCompany LinkedIn URL
company_logostring|nullCompany logo image URL
locationstring|nullJob location
posted_atstring|nullISO 8601 posting timestamp
posted_relativestring|nullRelative age e.g. "2 days ago"
is_newbooleanWhether the posting is flagged new
salarystring|nullSalary range (detail endpoint)
seniority_levelstring|nullSeniority level (detail endpoint)
applicants_countinteger|nullNumber of applicants (detail endpoint)

Profile

public_idstringProfile vanity slug
namestringMember full name
headlinestring|nullProfile headline
locationstring|nullMember location
aboutstring|nullAbout / summary text
follower_countinteger|nullNumber of followers
current_companystring|nullCurrent employer
experience[]arrayRoles with company, start/end year
education[]arraySchools with start/end year
languages[]arraySpoken languages
Coverage

One Global Graph, One API

LinkedIn is a single worldwide network. An optional country parameter geo-targets the proxy so localized job results and content resolve the way a local user would see them.

Jobs
Companies
Schools
Profiles
Content
Everything on LinkedIn: Job postings, company and university pages, member profiles, feed posts, Pulse articles, and LinkedIn Learning courses — plus geo and company typeahead to resolve IDs for precise job search.
How it works

From API call to clean JSON in seconds

No proxy setup. No session management. No anti-bot configuration.

1

Send a request

Call any LinkedIn endpoint with your API key and parameters — a job search, a company slug, a member public ID, or a post URL. REST or SDK.

2

We handle the hard parts

ScrapeBadger handles LinkedIn’s anti-bot, browser rendering, and residential proxy routing transparently, detecting blocks and retrying automatically.

3

Get structured JSON

Receive normalized JSON with job, company, profile, and content details — ready to store, analyse, or pipe into your application.

Use Cases

What Developers Build with LinkedIn Data

Scraping LinkedIn gives you real professional signals — hiring demand, company growth, talent supply, and B2B firmographics.

Job market & hiring trends

Track open roles by title, location, company, and seniority to map hiring demand, salary bands, and workforce shifts across industries.

Company & competitor intel

Monitor company size, headcount growth, specialties, and follower counts to benchmark competitors and spot expansion signals.

Recruiting & talent sourcing

Pull structured member profiles — headline, experience, education, and skills — to build candidate pipelines and enrich your ATS.

AI training datasets

Collect structured job postings, company profiles, and professional bios to train hiring, matching, or resume-parsing models.

Content & thought-leadership tracking

Read posts, Pulse articles, and course data to measure engagement, monitor influencers, and surface trending professional topics.

Lead generation & enrichment

Resolve companies and geographies via typeahead, then enrich B2B leads with firmographic and profile data on demand.

Pricing

Pay Per Request. Credits Never Expire.

You only pay for successful responses — failed requests are always free. PAYG credits never expire; volume subscription tiers reduce per-credit cost further.

EndpointCredits / requestPAYGSubscription
Job Search /jobs/search5 credits
Job Detail /jobs/{job_id}5 credits
Company Jobs /companies/{company_id}/jobs5 credits
Company /companies/{universal_name}6 credits
School /schools/{universal_name}6 credits
Profile /profiles/{public_id}8 credits
Post /posts/{post_slug}5 credits
Article /articles/{article_slug}5 credits
Learning Course /learning/{course_slug}5 credits
Geo / Company Suggest /geo/suggest2 credits

See the full plan comparison on the pricing page — subscription tiers step down per-credit cost beyond the cheapest column shown above.

Free trial
1,000 credits free
= 200 job-search requests
Credits expire
Never
Buy once, use anytime
Failed requests
Always free
Pay for success only
Live cost estimator
Credits per request5
Total credits needed5,000
Loading plans…
Why ScrapeBadger

Built for Reliability at Scale

ScrapeBadger's LinkedIn Scraper API handles everything LinkedIn throws at automated requests — so your pipeline keeps running.

Jobs, companies, people & content

Ten endpoints cover job search and detail, company and school profiles, member profiles, feed posts, Pulse articles, LinkedIn Learning courses, and geo/company typeahead — one API for the whole graph.

Anti-bot bypass included

LinkedIn is one of the hardest sites to scrape, with aggressive rate-limiting and auth walls. ScrapeBadger handles browser rendering and residential proxy routing transparently. No LinkedIn account or login required.

Structured JSON, no parsing

Responses are normalized typed JSON — no HTML to parse, no fragile CSS selectors that break when LinkedIn updates its frontend.

Global coverage

LinkedIn is a single global graph. An optional country parameter geo-targets the proxy so localized job results and content resolve the way a local user would see them.

Pay per success only

Credits are only deducted for successful responses. If LinkedIn returns an error or the request times out, no credits are consumed. You only pay for data you actually receive.

SDKs for 12 Languages

Official SDKs for Python, Node.js, Go, Rust, PHP, C#, Java, Kotlin, Ruby, Swift, Dart and C++ — generated from one OpenAPI spec, always in sync with the API. Full documentation with working code examples for every endpoint.

Code Examples

Simple Integration. Any Language.

Get started in minutes with Python, Node.js, or plain HTTP requests.

The scrapebadger Node.js library wraps the LinkedIn API with typed methods. Install with npm install scrapebadger, then start scraping LinkedIn in a few lines of code.

Node.js — Job Search + Detail
import ScrapeBadger from 'scrapebadger'

const client = new ScrapeBadger({
  apiKey: 'sb_live_...'
})

// Search remote engineering roles
const results = await client.linkedin.searchJobs({
  keywords: 'software engineer',
  workplace: 'remote',
  datePosted: 'past_week',
})

// Get full detail for the first result
const first = results.jobs[0]
const detail = await client.linkedin.job({ jobId: first.jobId })
console.log(detail.title, detail.salary, detail.applyUrl)
Node.js — Company & Profile
import ScrapeBadger from 'scrapebadger'

const client = new ScrapeBadger({
  apiKey: 'sb_live_...'
})

// Firmographics for a company
const company = await client.linkedin.company({
  universalName: 'microsoft',
})
console.log(company.industry, company.employeeCount)

// Enrich a member profile
const profile = await client.linkedin.profile({
  publicId: 'williamhgates',
})
console.log(profile.headline, profile.currentCompany)
FAQ

Frequently Asked Questions

Common questions about scraping LinkedIn with the API — Python, Node.js, or REST.

What data does the LinkedIn Scraper API return?

Job search returns job cards with job_id, title, URL, company, location, posting date, and new flag; job detail adds the full description, salary, seniority, employment type, job functions, industries, applicant count, and apply URL. Company and school endpoints return firmographic profiles — industry, size, HQ, founded year, specialties, and follower counts. Profile returns a member’s headline, about, experience, education, languages, and awards. Posts, articles, and learning endpoints return content with author, text, timestamps, and engagement.

Do I need a LinkedIn account or login to use the API?

No. ScrapeBadger handles LinkedIn’s anti-bot, browser rendering, and residential proxy routing transparently — you never sign in, manage cookies, configure proxies, or solve challenges. Every endpoint is public and requires only your ScrapeBadger API key.

Can I filter job search by experience, type, and workplace?

Yes. Job search accepts keywords, location or a geo_id, a company_id, date_posted (past_24h, past_week, past_month, or any), a CSV of experience levels (internship, entry, associate, mid_senior, director, executive), a CSV of job types (full_time, part_time, contract, temporary, internship, volunteer, other), a CSV of workplace types (onsite, remote, hybrid), a sort order (relevant or recent), and a pagination offset (start).

How does the LinkedIn Scraper API handle anti-bot protection?

LinkedIn combines auth walls, TLS/HTTP fingerprinting, aggressive rate-limiting, and IP reputation checks. ScrapeBadger routes every request through browser rendering and residential proxies, detecting blocks and retrying automatically — so you get structured JSON without managing any of it. No LinkedIn account is required.

How do I scrape LinkedIn with Python or Node.js?

Install with `pip install scrapebadger` or `npm install scrapebadger`, then initialise the client and call client.linkedin.searchJobs({ keywords: "software engineer", location: "Berlin" }), client.linkedin.job({ jobId: "3820..." }), client.linkedin.company({ universalName: "microsoft" }), or client.linkedin.profile({ publicId: "williamhgates" }). The SDKs return typed objects for every endpoint.

Plans & subscriptions

Bigger volume? Save up to 64%

Per-request credit costs are listed above. For higher monthly volume, subscription tiers reduce the per-credit rate substantially. All LinkedIn endpoints — job search, company, school, profile, posts, articles, and courses — included on every plan.

Get started

Start Scraping LinkedIn Today

1,000 free credits. No credit card. Get your API key in under a minute.

PAYG credits never expire · Pay only for successful requests · Global coverage