SoonOne MCP server, all 49 APIs as agent tools. See how it works

Profiles, companies, posts, jobs and people search as live JSON

Advanced LinkedIn API

The Advanced LinkedIn API turns public LinkedIn pages into clean, structured JSON with a single GET request. Pass a URL (or just a username) and get back a full person profile with experience, education and follower counts; a company page with industry, size and followers; a post with its engagement; or a job listing with salary when present. Every call performs a live scrape, so you always see what is on LinkedIn right now, not a stale database row.

It also discovers data you do not have URLs for: search jobs by location, keyword and filters, find people by name, or pull the recent posts of any profile. There is no OAuth dance, no cookies, no LinkedIn account to risk: sign up at dash.apicodex.io, send your key, and most scrapes return synchronously in 5-45 seconds. Heavier discovery calls hand you a snapshot_id you fetch a minute later. Ideal for recruiting tools, lead enrichment, CRM auto-fill and sales intelligence.

Free tier included, no credit card required. One key works across all 49 APIs.

At a glance
Endpoints
8
Response Time
5-45s
Data Freshness
Live

Key features

  • Person profiles: experience, education, followers, current company
  • Company pages: industry, size, HQ, about, followers
  • Posts with text, author and engagement metrics
  • Job postings with description and salary when present
  • Discovery: job search, people search, recent profile posts
  • No OAuth, no cookies, no LinkedIn account needed
  • Live scraping on every call, never cached database rows
  • fields= selection to keep responses lean

Built for

  • Recruiting and candidate sourcing tools
  • Lead enrichment and CRM auto-fill
  • Sales intelligence and account research
  • Job market monitoring and aggregation

Try it

Build the request for your data

Edit the parameters below and see the exact curl command and JSON response you will get. No key required to preview.

GET/v1/profile
Open in Playground

Parameters

Request · HTTP
GET /linkedin/v1/profile?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fwilliamhgates HTTP/1.1
Host: api.apicodex.io
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY
Response · JSON
200 OK
{
  "type": "person",
  "url": "https://www.linkedin.com/in/williamhgates",
  "data": {
    "name": "Bill Gates",
    "position": "Chair, Gates Foundation and Founder, Breakthrough Energy",
    "city": "Seattle, Washington, United States",
    "current_company_name": "Gates Foundation",
    "followers": 40440289,
    "experience": [
      { "title": "Co-chair", "company": "Gates Foundation", "start_date": "2000", "end_date": "Present" }
    ],
    "education": [
      { "title": "Harvard University", "start_year": "1973", "end_year": "1975" }
    ]
  }
}

Documentation

Advanced LinkedIn API Documentation

Eight GET endpoints cover the whole surface: scrape a person profile, company page, single post or job listing by URL; discover recent profile posts, job listings or people by search; and fetch pending results when a heavy scrape exceeds the synchronous window.

Base URL

url
https://api.apicodex.io/linkedin

Authentication

Create a key at dash.apicodex.io and send it as an X-Api-Key header (or an ?apikey= query parameter) on every request. Requests without a valid key return 401.

headers
GET /v1/profile?url=https://www.linkedin.com/in/williamhgates
X-Api-Key: YOUR_API_KEY

Request and response

Illustrative values. Confirm current endpoint behavior, quotas, and data freshness in the API documentation before production use.

request · http
GET /v1/profile?url=https://www.linkedin.com/in/williamhgates HTTP/1.1
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY
response · json
{
  "type": "person",
  "url": "https://www.linkedin.com/in/williamhgates",
  "data": {
    "name": "Bill Gates",
    "position": "Chair, Gates Foundation and Founder, Breakthrough Energy",
    "city": "Seattle, Washington, United States",
    "current_company_name": "Gates Foundation",
    "followers": 40440289,
    "experience": [
      { "title": "Co-chair", "company": "Gates Foundation", "start_date": "2000", "end_date": "Present" }
    ],
    "education": [
      { "title": "Harvard University", "start_year": "1973", "end_year": "1975" }
    ]
  }
}

Code examples

cURL
curl --request GET \
  --url 'https://api.apicodex.io/linkedin/v1/profile?url=https://www.linkedin.com/in/williamhgates' \
  --header 'X-Api-Key: YOUR_API_KEY'

Available Endpoints

GET /v1/profile

Person profile by URL or username: name, headline, experience, education, followers.

/v1/profile?url=https://www.linkedin.com/in/williamhgates

GET /v1/company

Company page by URL or username: industry, size, HQ, about, followers, website.

/v1/company?username=ibm

GET /v1/post

Single post or article by URL: text, author, reactions, comment count.

/v1/post?url=https://www.linkedin.com/posts/...

GET /v1/profile-posts

Recent posts of a person or company profile (array, limit 1-50, default 10).

/v1/profile-posts?username=williamhgates&limit=10

GET /v1/job

Job posting detail by URL: title, company, location, description, salary when present.

/v1/job?url=https://www.linkedin.com/jobs/view/4012345678

GET /v1/job-search

Discover job listings by location plus keyword, country, job_type, experience_level, remote and company filters (array).

/v1/job-search?location=Istanbul&keyword=software%20engineer

GET /v1/people-search

Find people profiles by first and last name (array of URL, name, location matches).

/v1/people-search?first_name=Elon&last_name=Musk

GET /v1/result

Fetch the result of a scrape that returned 202 with a snapshot_id.

/v1/result?snapshot_id=s_abc123

Request Parameters

Required parameters

  • url The LinkedIn URL to scrape. Required on /v1/post and /v1/job; on /v1/profile, /v1/company and /v1/profile-posts you can pass username instead.
  • location Required on /v1/job-search: the location to search jobs in.
  • first_name / last_name Required on /v1/people-search: the name to look up.
  • snapshot_id Required on /v1/result: the id returned by a 202 response.

Optional parameters

  • username Alternative to url on /v1/profile, /v1/company and /v1/profile-posts; builds the linkedin.com/in/ or /company/ URL for you.
  • fields Comma-separated top-level field selection applied to data, e.g. fields=name,city,followers. Works on objects and arrays.
  • limit Max items on list endpoints (profile-posts, job-search, people-search): 1-50, default 10.
  • keyword Job-search only: job title or keyword to search for.
  • country / time_range / job_type / experience_level / remote / company Job-search filters, e.g. country=TR, time_range=Past week, job_type=Full-time, remote=Remote.

Responsible use

Use public social data carefully

Only request data that is publicly accessible, and make sure your collection, storage, and use comply with applicable privacy laws and the relevant platform terms. Do not use these APIs to bypass access controls or to make decisions that require consent or human review.

Pricing

Advanced LinkedIn API Pricing

One key, one subscription, all 49 APIs. Start free and upgrade when you grow. No minimums, no lock-in.

This API costs 25 credits per request. Credits are shared across every API on your plan.

Estimate your monthly cost

Drag the slider to match your expected request volume. We will recommend the cheapest plan that covers it.

10,000

Recommended plan

Pro

$99.99 /month

Credits used250,000
Credits included250,000
Cost per 1K requests$9.999
Choose Pro

Free

Free
1,000 credits · ~40 requests/mo · 2 rps
  • All 49 APIs included
  • No credit card required
  • Full documentation and examples
Start for free

Starter

Popular
$29.99/month
50,000 credits · ~2,000 requests/mo · 10 rps
  • All 49 APIs included
  • Email support
  • Usage dashboard and analytics
Start with Starter

Pro

$99.99/month
250,000 credits · ~10,000 requests/mo · 25 rps
  • All 49 APIs included
  • Priority support
  • Up to 5 API keys
Start with Pro

Need a different plan?

Tell us about your API, volume, or support requirements.

Contact us

Coming soon · MCP

Use the Advanced LinkedIn API from your AI agent

The API Codex MCP server will expose this API, and the other 39, to Claude, Cursor and any MCP client as tools. Same key, same credits, one config entry.

About the MCP server

FAQ

Frequently asked questions

The API only accesses publicly visible LinkedIn pages: no login walls are bypassed, no user credentials or cookies are involved, and no private data is touched. Courts in the US (hiQ v. LinkedIn) have repeatedly found that scraping public web pages does not violate the CFAA. That said, how you store and process personal data is your responsibility: make sure your use complies with GDPR, CCPA and other regulations that apply to you.

Every call triggers a live scrape of the page at request time. You are not querying a pre-built database that was crawled weeks ago: follower counts, job listings, posts and profile changes reflect what is on LinkedIn right now. This is also why responses take seconds rather than milliseconds.

If a scrape exceeds the roughly 60 second synchronous window, the API returns HTTP 202 with a snapshot_id instead of making you wait. Call GET /v1/result?snapshot_id=... to pick up the finished result, usually within 1-2 minutes. Direct scrapes (profile, company, post, job) almost always complete synchronously; discovery endpoints (job-search, people-search, profile-posts) hit the window more often.

No. There is no OAuth flow, no session cookies and no LinkedIn account required on your side. Authentication is a single X-Api-Key header from your API Codex key. This removes the biggest operational risk of DIY LinkedIn scraping: banned accounts and expired sessions.

Yes. On /v1/profile, /v1/company and /v1/profile-posts you can pass username=williamhgates (or a company slug like username=ibm) and the API builds the linkedin.com/in/ or linkedin.com/company/ URL for you. /v1/post and /v1/job need the full URL since posts and jobs have no simple slug.

Person profiles include name, headline, city, current company, full experience and education arrays, and follower counts. Companies include industry, size, HQ, about, followers and website. Posts carry text, author and engagement; jobs include title, company, location, description and salary when present. Use fields=a,b,c to keep only what you need. Rate limits scale with your plan: 1 req/s on Basic, 5 on Pro, 10 on Ultra and 20 on Mega.