LinkedIn data API: the official API or an Apify Actor?
LinkedIn limits its official API to approved partners. 19 Apify Actors in this catalogue return LinkedIn data over HTTP too: send the input to Apify's run-sync endpoint with your token and get the records back as JSON, from $0.40 a run plus $0.99 per 1,000 results at Store prices (plus platform usage). One answers a single request directly in server mode.
Side by side
| LinkedIn APIs (partner programs) | Apify Actors (19) | |
|---|---|---|
| Access | Approved partners only | Apify API token (any account) |
| What you get | LinkedIn does not offer an open public data API. Access is through approved partner programs with defined scopes, such as marketing and talent integrations. | Rows defined by each Actor's published schema; up to 33 fields per record |
| Price | Partner pricing is not published as a self-serve rate card. | From $0.40 a run plus $0.99 per 1,000 results (Store price, Free plan), plus platform usage |
| Limits | Approval, scopes and contractual limits apply. Automated collection outside those terms is restricted. | Synchronous calls wait up to 300 s; longer runs go asynchronous |
| Docs | LinkedIn APIs (partner programs) | Apify API: run-sync |
Official API facts checked 2026-11-09. LinkedIn prohibits unauthorized automated collection. Use public business data and approved access only; not legal advice.
Which Actor for which job
All of them list $0.99 per 1,000 results on the Store, plus a start fee per run.
| Actor | Returns | Fields include | Call it |
|---|---|---|---|
| LinkedIn People Search by Name with Company & School Filters | Matched LinkedIn profiles with name, profile URL, current employer, headline, location, photo, followers, about and education… | name, headline, location | One request · Apify |
| LinkedIn Post Reactor Identity & Reaction Type Scraper | One record per public post: total reactions, exact counts for like/celebrate/love/support/insightful/funny/superLike when… | postId, reactionsTotal, reactionTypesPresent | run-sync · Apify |
| LinkedIn University Alumni Search by Degree & Year | One row per school insight (alumni count, top employers, fields and functions) or per public alumnus profile (location, current… | schoolName, name, headline | run-sync · Apify |
| B2B Lead Discovery by Job Title & Location | B2B leads with name, job title, company, LinkedIn profile, location, and data-quality flags. | name, title, company | run-sync · Apify |
| LinkedIn Activity Feed Scraper with Engagement Filters | One record per LinkedIn post, with full text, author, exact date, reaction and comment totals, top comments, media, post type… | authorName, authorType, postedAt | run-sync · Apify |
| LinkedIn Company Headcount & Team Directory Scraper | Company summaries with LinkedIn-reported headcount and firmographics, optional employee roster rows, and explicit error rows for… | companyName, linkedinEmployeeCount, companySizeRange | run-sync · Apify |
| LinkedIn Company Page Post & Engagement Extractor | LinkedIn company page posts with captions, media, article links, hashtags, mentions, engagement counts, top comments and… | companyName, postedAt, mediaType | run-sync · Apify |
| LinkedIn Guest-View Profile Data Extractor | One record per requested profile, with identity, About, followers, connections, work/education links, self-authored sections… | name, headline, location | run-sync · Apify |
| LinkedIn Profile Engagement Timeline Scraper | One record per public LinkedIn profile activity (post, repost, comment, or reaction), with the target post's author, text, URL… | activityType, profileName, activityTimeAgo | run-sync · Apify |
| LinkedIn Profile Scraper with Company & Credential Data | One record per requested LinkedIn profile: identity, About, current company and school, the public connections indicator, work… | name, headline, location | run-sync · Apify |
| LinkedIn Profile, Certifications & Company Data Extractor | One record per requested LinkedIn profile: identity, About, current company and school, the public connections indicator… | name, headline, location | run-sync · Apify |
| LinkedIn Company Pages with Funding & Affiliates | One record per LinkedIn company (plus optional affiliate/showcase records), with industry, headcount, headquarters, specialties… | name, industry, employeeCount | run-sync · Apify |
| LinkedIn Event Finder with Speaker & Venue Details | Public LinkedIn Sales and Talent community events with schedules, timezones, descriptions, images, registration links… | eventName, community, startDate | run-sync · Apify |
| LinkedIn Hashtag Feed Engagement Scraper | One record per public LinkedIn post found for a hashtag, with author, followers, text, media, engagement and first-page comments. | hashtag, authorName, authorFollowers | run-sync · Apify |
| LinkedIn Keyword & Hashtag Post Discovery Scraper | One record per matching LinkedIn post, with full text, author, date, engagement metrics, top comments and media where the public… | authorName, authorFollowers, postedAt | run-sync · Apify |
| LinkedIn People Finder by Role, Seniority & Network | LinkedIn profiles matching a structured people search, with name, headline, current company, seniority-related badges, and… | name, headline, location | run-sync · Apify |
| LinkedIn Post Comment & Reply Thread Extractor | LinkedIn post comments and reply threads with author identity, reaction counts, and linked profiles. | authorName, commentText, commentedAt | run-sync · Apify |
| LinkedIn Profile Feed Scraper with Likers & Commenters | One record per public LinkedIn post: text, author and follower count, engagement counts, top comments, media and video metadata… | authorName, postedAt, mediaType | run-sync · Apify |
| LinkedIn Trending Posts & Top Voices Feed Scraper | Posts from LinkedIn's public Top Content directory with exact dates, authors, followers, badges, media, topic path/rank and top… | authorName, authorFollowers, authorIsInfluencer | run-sync · Apify |
Call LinkedIn People Search by Name with Company & School Filters
Server mode is on for this Actor (checked 2026-11-12): one request returns the results in the response. Set APIFY_TOKEN first; runs bill to that account.
curl (GET)
curl -H "Authorization: Bearer $APIFY_TOKEN" \
"https://vexaloom-labs--linkedin-people-search-by-name-with-company.apify.actor/?names=Satya%20Nadella&maxResultsPerName=1" curl (POST)
curl -X POST "https://vexaloom-labs--linkedin-people-search-by-name-with-company.apify.actor/" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"names":["Satya Nadella"],"maxResultsPerName":1}' JavaScript
// Node 18+ or any runtime with fetch. One request = one lookup; results come back in the response.
const response = await fetch("https://vexaloom-labs--linkedin-people-search-by-name-with-company.apify.actor/", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.APIFY_TOKEN}`, "Content-Type": "application/json" },
body: JSON.stringify({
"names": [
"Satya Nadella"
],
"maxResultsPerName": 1
}),
});
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
const items = await response.json();
console.log(items.length, items[0]); Python
import os
import requests
# One request = one lookup; results come back in the response.
response = requests.post(
"https://vexaloom-labs--linkedin-people-search-by-name-with-company.apify.actor/",
headers={"Authorization": f"Bearer {os.environ['APIFY_TOKEN']}"},
json={
"names": [
"Satya Nadella",
],
"maxResultsPerName": 1,
},
timeout=300,
)
response.raise_for_status()
items = response.json()
print(len(items), items[:1]) Generated from the Actor's published schema and checked, not executed.
Same data, other routes
- LinkedIn MCP server: these Actors as tools in Claude, Cursor, ChatGPT, VS Code and Codex.
- LinkedIn company posts to Slack: an n8n workflow you can import.
- Every Actor with a one-request API
When a call fails
Why does the workflow or script stop with HTTP 408?
The synchronous endpoint waits at most 300 seconds. After that it answers 408 while the run keeps going in Apify. Lower the result limit, or start the run asynchronously, wait for it to finish and then read its dataset.
Source: Apify API: run Actor synchronously and get dataset items
What do 400, 401, 402 and 403 from the Apify API mean?
Read error.type in the response body. 400 is invalid Actor input. 401 (user-or-token-not-found) means a token reached Apify but it is wrong or revoked. 402 with x402-payment-required means no token reached Apify at all: the n8n credential or the Authorization: Bearer header is missing, and Apify is offering its pay-per-run x402 route for agents instead; any other 402 is an exhausted usage limit on the account that pays for the run. 403 is a token without permission for that Actor or storage.
Source: Apify API: authentication; Apify documentation: agentic payments with x402; Apify API: run Actor synchronously and get dataset items
Why does a server-mode request answer 429?
If no Actor run can take the request within 2 minutes, Apify answers 429; the first response must also arrive within 5 minutes. Retry after a short pause, and send one request at a time while you test.
How do I authenticate server-mode requests?
Send Authorization: Bearer with your Apify API token. A token query parameter also works and is stripped before the request reaches the Actor, but a header keeps the token out of logs and browser history.
Questions
Is there an official LinkedIn API?
LinkedIn does not offer an open public data API. Access is through approved partner programs with defined scopes, such as marketing and talent integrations. Partner pricing is not published as a self-serve rate card.
How much does LinkedIn data cost through an Apify Actor?
The Actors listed here charge from $0.40 a run plus $0.99 per 1,000 results on the Apify Store (Free plan), checked 2026-11-12, billed to the Apify account whose token makes the call. Actor start events and platform usage can add to that.
Can I get LinkedIn data as JSON in one HTTP request?
Yes. LinkedIn People Search by Name with Company & School Filters has server mode on: a GET or POST to the Actor's own URL returns the results in the response. Every other Actor here works through POST /v2/actors/<id>/run-sync-get-dataset-items, which waits up to 300 seconds for the run.
Can an AI agent use the same LinkedIn data?
Yes. The LinkedIn MCP page bundles these Actors into one Apify MCP URL for Claude, Cursor, ChatGPT, VS Code and Codex.
Is it allowed to collect LinkedIn data?
LinkedIn prohibits unauthorized automated collection. Use public business data and approved access only; not legal advice. Read LinkedIn's terms before you build on the data.
Sources
- LinkedIn APIs (partner programs) documentation, checked 2026-11-09
- Apify API: run Actor synchronously, checked 2026-11-11
- LinkedIn terms