in LinkedIn API Live in production. Email, messengers & calendars next
Pricing Blog
Get API key Sign in

LinkedIn API: The Developer Guide (Official, Third-Party & MCP)

LinkedIn API: The Developer Guide (Official, Third-Party & MCP)

For developers picking an integration path: what LinkedIn sanctions, what it doesn’t, what the alternatives cost, and how to call one from code or an AI agent.

Updated November 2026 · 24 min read

Start with what the term means, because two different things answer to it. A LinkedIn API is any programmatic way to read LinkedIn data or act on an account without a person clicking through the interface. That covers LinkedIn’s own official API and a third-party API, a managed provider acting on an account you connect. The gap between them decides what you can build.

The direct answer, before the detail: the official API does not allow outreach automation. The endpoints for it are documented, POST /v2/invitations for a connection request and POST /v2/messages for a member-to-member message, and both sit in a program LinkedIn has closed to new access. The partners already inside are barred from automated sending by the terms attached to it, and profile and search access is restricted to approved partners. To search, connect, message and enrich programmatically, developers use a third-party LinkedIn API. The rest of this page covers which kinds exist, what each one costs, and what each does to the risk of losing the account you connect. That risk is the number worth asking every provider for. On the gtm-api.com stack, 20,000+ accounts run with under 1% of them ever restricted.

This guide maps what developers actually need to know: which official APIs exist (and which need partner approval), where their documentation and rate limits live, what only a third-party API can do, what it costs, and how to call it from code or from an AI agent. Facts on the official side are drawn from LinkedIn’s own developer documentation.

Does LinkedIn have an official API?

Yes, but a restricted one. LinkedIn offers official APIs for sign-in, sharing, advertising, Sales Navigator, talent and learning. Two are self-serve. The valuable ones require partner-program approval. Critically, none of the programs you can actually join send connection requests, send member-to-member messages, or search arbitrary member profiles, the exact actions outreach needs.

Self-serve (open to any developer)

In the LinkedIn Developer Portal you can use these without approval: Sign In with LinkedIn (OpenID Connect, the member’s name, profile photo and email) and Share on LinkedIn (w_member_social, post, comment and like as the authenticated member on their own feed). Useful for auth and publishing. Nothing to do with reaching other people.

Partner-only (approval required)

The rest are gated behind an application and review: the Marketing Developer Platform (ads and audiences), the Sales Navigator Application Platform (SNAP) (analytics, display, and matched profile data, not open search), Talent solutions (Recruiter System Connect, Apply Connect, job posting), and Learning. Compliance APIs are closed to new requests entirely, and that is the tree the Invitations and Messages endpoints sit in. Approval can take weeks and is limited to qualifying companies.

Here’s the full official lineup, grouped by how you get access. “Self-serve” means you can switch it on in the Developer Portal today. “Partner approval” means an application and a review.

Product What it does Access
Sign In with LinkedIn OpenID Connect, authenticate a member. Read name, photo, email Self-serve
Share on LinkedIn Post, comment and like as the authenticated member, on their own feed (w_member_social) Self-serve
Marketing Developer Platform Create and manage ads, campaigns and matched audiences Partner approval
Sales Navigator (SNAP) Sales Navigator analytics, display services, CRM validation, matched profile data Partner approval
Talent Solutions Recruiter System Connect, Apply Connect, Apply with LinkedIn, job posting Partner approval
Learning API Sync LinkedIn Learning content & activity Partner approval
Compliance Messaging and network capture for regulated firms, plus the documented Invitations and Messages APIs Closed, may not be requested

Access works the same way for all of them, and the sequence has a few steps that are easy to miss: How to get official LinkedIn API access maps the Page requirement, the product requests, the Development and Standard tiers, and the programs that are closed.

Notice what the list does not get you. A Messages API, an Invitations API and a Connections API all exist in LinkedIn’s documentation. All three sit under Compliance, whose access page lists its permissions for reference only and states that access may not be requested, and no open or partner scope grants them. Even SNAP, the closest thing to a data API, returns matched profiles to approved sales partners, and it has stopped taking new ones: its three service families and what they never did are on Sales Navigator API.

⚠️ What the docs actually sayThe endpoints exist and are documented. POST /v2/invitations sends a connection request, taking the invitee URN and an optional note, and POST /v2/messages sends a MEMBER_TO_MEMBER message to first-degree connections. Both pages carry the same note, that usage is restricted to approved partners, and both live in the closed Compliance tree. The Messages requirements shut the door from the other side: “Member actions do not include an automated or scheduled event”, and the member has to take an affirmative action to send after being shown the draft. The capability is real, unobtainable, and not automatable even for the partners who have it.

One official route does put a message in a member’s inbox, and a full comparison has to include it. Message Ads and Conversation Ads, part of the Advertising API, build their content through POST /rest/inMailContents and land in LinkedIn Messaging. LinkedIn’s own wording is “A Message Ad is a message delivered to a LinkedIn member’s InMail inbox.” What the schema has no field for is a recipient. You set a sender, a subject and a body, and delivery goes to a campaign audience. The person is never named. The only per-person send in that API is the test send, and its recipient is the authenticated member, which is you. What does send a message or an invitation today, and on what terms, is on LinkedIn messaging API.

Where the documentation lives

On learn.microsoft.com, split into six docsets: Consumer, Compliance, Learning, Marketing, Sales and Talent. Each business line versions its APIs on its own schedule. Versioned APIs live under api.linkedin.com/rest and pick a version with a LinkedIn-Version header, the unversioned ones stayed on /v2, and several shared pages still describe the older model. The Developer Portal, where you create the app and read your quota, is a separate site on linkedin.com. The map of all six docsets, with the support window each version gets, is on LinkedIn API documentation.

How LinkedIn rate-limits its API

On two levels, per application and per member, both counted over a 24-hour day that resets at midnight UTC. LinkedIn publishes no general figure and concrete numbers for only three products: Community Management on the Development tier at 500 calls per app and 100 per member a day, Verified on LinkedIn at 5,000 calls a day on its Development and Lite tiers, and the Advertising API, whose Development tier is stated in ad-account entitlements. Your own numbers sit on the Analytics tab of the app in the Developer Portal, and only for endpoints it has already called that day.

A third-party API runs into a different wall: the ceiling LinkedIn holds each member account to, whatever software drives it. The app quota is taken apart on LinkedIn API rate limits, and the per-account ceilings on LinkedIn connection limits.

The capability map: official vs third-party

The split is consistent once you go action by action: anything about your own presence has an official route, and anything that reaches another member does not. In the table below, “official” means LinkedIn’s own developer program, and “third-party API” means a managed provider like GTM API acting on an account you own.

Capability Official LinkedIn API Third-party API (gtm-api.com)
Sign in / identity Yes, OpenID Connect Reads the connected account’s own profile
Post / comment / like on your feed † Yes, w_member_social Yes, plus track posts & engagers
Send a connection request Closed program only Yes
Send a direct message (member→member) Closed program only Yes, DM, voice, InMail
Search people / Sales Navigator search Partner only, matched profiles Yes
Enrich an arbitrary profile / company No Yes, lite & full
Read your inbox / conversations No Yes
Ads & audiences Partner (Marketing) Not offered
Post jobs / integrate an ATS Partner (Talent) Not offered
Access model App + partner approval (days to weeks) API key (minutes)
Agent / MCP interface No MCP-first + REST + webhooks

† Posting to a company or organization Page, rather than your own member feed, needs the organization scope (w_organization_social) and admin rights on that Page.

In short: the official API is built for your own presence and ads. A third-party API is built for reaching and researching other people. Almost every “LinkedIn automation” or “AI SDR” product is built on the second because the first simply doesn’t expose those actions.

🔑 The rule of thumbIf the action is about your own account (log in, post) it’s probably official and self-serve. If it’s about reaching or researching other people (invite, message, search, enrich) the official route is closed or partner-gated, and you need a third-party one.

Why LinkedIn restricts its API

LinkedIn keeps outreach and search out of reach on the official API deliberately, and the closed Compliance tree is the proof. The endpoints were built and documented, then put behind a door that no longer opens. Open programmatic messaging and bulk profile access would flood members and erode trust, and member data is the platform’s core asset. This is a product decision backed by the Terms of Service, so building a roadmap around some future official outreach API is wishful thinking.

The stance has been tested in court, though only narrowly. The long-running hiQ Labs v. LinkedIn case concerned scraping logged-out public profiles under the CFAA, and even there LinkedIn ultimately prevailed on breach of contract, with hiQ paying $500K, deleting its data and shutting down. Authenticated, account-based automation is a separate Terms-of-Service question that hiQ leaves open. It’s useful background, and it’s a long way from legal cover. The three legal questions, and how hiQ actually ended, are taken apart on Is scraping LinkedIn legal?.

Which reframes the decision. The official API will not hand an outreach product what it needs, so the practical question is how to do it with the least risk.

What a third-party LinkedIn API can do

A third-party LinkedIn API turns the actions a person does by hand, search, connect, message, engage, enrich, into typed endpoints an app or AI agent can call. What any given provider can actually do depends on where it sits in the market, and the category splits four ways:

  • The official API. Sign-in and publishing, plus the partner-gated ads, sales and talent programs above. No outreach, no open search.
  • Scrapers (Bright Data, Apify). Fetch public pages at volume. No authenticated actions, and the page is all you get.
  • Dataset providers (People Data Labs, Coresignal). Sell a pre-built database of profiles. Broad coverage, but the records are as fresh as the last crawl.
  • Account-based APIs (gtm-api.com, Unipile, Linked API, OutX, LinkdAPI). Act on a LinkedIn account you connect, so they return live data and perform actions. This is the only bucket that can send an invite or a message. What an automation API does on the account behind it, and who holds its limits, is on LinkedIn automation API. Finished automation tools sit on top of these same buckets, and the LinkedIn automation hub explains how each kind runs.

In that last bucket sits GTM API. It groups 190+ tools into typed LinkedIn toolsets (representative below), all behind one key and one schema, so the same contract powers a REST integration and an agent in any MCP client. If you are choosing between the vendors in that bucket, there is a separate ranking of the best LinkedIn API options, with every safety figure those vendors publish quoted and sourced.

Group Representative actions
Messaging Send DM, voice note, InMail, Sales Navigator message. Sync & search inbox. Reply metrics
Network Send/withdraw connection requests, accept/ignore invitations, list connections & followers
Enrichment Lite & full profile, experience, skills, education, posts, company data
Search / data People, company & post search. Similar profiles, employees, decision-makers. Saved searches
Content Track posts & metrics, comment, react, pull engagers & commenters
Account health Snapshots, benchmarks, quota-hit & block logs, activity log
Infrastructure Isolated cloud browsers, dedicated residential proxies, webhooks for real-time events

LinkedIn is the live channel today. Email (Gmail, Outlook, IMAP), messengers (WhatsApp, Telegram, Instagram DMs) and calendars (Google, Microsoft) are on the roadmap on the same typed contract. Details on the agent interface are on the LinkedIn MCP server page.

LinkedIn’s own API does not search LinkedIn. It publishes two search APIs and neither one queries the member graph. People Typeahead matches names among your own Page’s followers, ten at a time, so you can @mention someone in a Page post. Unified Search is a widget for applicant tracking systems on a Recruiter System Connect contract, rendered in a LinkedIn iframe for a person to read. People, company and Sales Navigator searches that hand back rows exist only on the account-based route, and what comes back depends on which of those searches ran, since each has its own filters and its own page cap. Both official APIs and the account-based filters are on LinkedIn search API.

Looking up a profile

No official endpoint returns another member’s profile. LinkedIn’s profile endpoints read the authenticated member and nobody else, and its platform terms cap storage of most member profile data at 24 hours. An arbitrary profile comes from one of three third-party routes: a pre-built dataset, a scraper, or an account-based API reading as an account you connect. How long the provider is likely to last belongs in that choice now. LinkedIn sued Proxycurl, then one of the most-used profile APIs, in January 2025, the company shut down that July, and every product built on it went dark with it. The three routes are compared on LinkedIn profile data API.

Publishing and reading posts

Publishing is the most open thing on the platform. A member post runs on w_member_social, which arrives with the self-serve Share on LinkedIn product and needs no approval. Posting as an organization needs w_organization_social, a Community Management review and a Page admin role. Reading a member’s posts back runs on r_member_social, which LinkedIn’s own documentation calls a closed permission, and nothing at any tier reads somebody else’s posts. The permissions and the scope rename that trips up comment calls are on LinkedIn posts API.

Is there a jobs API?

One, and it only writes. The Job Posting API lets an approved Talent Solutions partner post, update and close jobs for a customer, and LinkedIn has stopped accepting new partnerships for it. No official endpoint reads or searches job listings at any tier. Three different needs share the name: publishing vacancies, collecting listings as data, and finding companies that are hiring. Only the first is LinkedIn’s own product, and the routes for the other two are on LinkedIn jobs API.

What a LinkedIn API costs

LinkedIn publishes no price for its own API. You pay in approval time instead, and what it opens without approval covers sign-in and posting only. Third-party LinkedIn APIs charge one of two ways: per connected account, a flat monthly fee with unlimited actions, or per call, metered credits per request. At the leading vendors that comes to between $0 and $99 per connected account a month, or from about a third of a cent to ten cents a call for data about other people.

GTM API uses the per-account model, from $10 per account per month at volume, with unlimited outreach and action calls, and a free plan for one account with no card. An agent that sends thousands of messages costs the same as one that sends ten.

From$10per connected account / month at volume · unlimited calls · scraping and enrichment are live but not yet priced

Per account wins for steady sending and per call for occasional lookups, and an agent that reads, searches and acts on an account all day crosses that line within days. Twenty-seven vendors, the nine units they charge in and the breakeven between the two models are on LinkedIn API pricing. GTM API’s own brackets and the 5G Proxy add-on are on the pricing page.

How to get started

Getting programmatic LinkedIn access takes minutes, with no partner review to wait on: create a key, connect an account, and make your first call over REST or MCP. Both interfaces hit the same typed contract, so moving between them later changes nothing about the calls you’ve already written. There’s a forever free plan, Sandbox, with no card and no time limit.

  1. Create an API key. Sign up and generate it in the dashboard. The free plan takes no card.
  2. Connect a LinkedIn account you own. It gets its own isolated browser session and its own residential proxy, and a new account warms up before it scales.
  3. Make a call. Hit the REST endpoint directly, or point Claude, ChatGPT, Cursor or any other MCP client at the MCP server and let the agent call the same tools.
  4. Watch account health. Snapshots, quota-hit logs and block logs are endpoints too, so an agent can read its own headroom and back off before a restriction tells it to.

Make your first call (REST)

Every action is a typed endpoint. Sending a message is the same send_linkedin_message operation you’d call from an agent, over HTTPS:

send a LinkedIn messagebash
# full reference: docs.gtm-api.com
curl -X POST https://app.gtm-api.com/linkedin/v4/api/linkedin-messages/send \
  -H "Authorization: Bearer $GTM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "linkedin_account_sid": "ln_ac_...", "ln_id": "ACoAA...", "text": "Thanks for connecting!" }'

Every parameter, guard and error code for this call is on the developer docs. The linkedin-api-examples repo on GitHub has the same call as a runnable script, in curl and TypeScript, next to nine more covering search, enrichment and connection requests.

Or skip the code (MCP)

The same tools are exposed over the Model Context Protocol, so an agent in Claude, ChatGPT, Cursor or any other MCP client calls them with no integration code. On GTM API the LinkedIn side is 190+ typed tools in 12 toolsets, from accounts, messaging and the network to search, enrichment and the account’s own health. The agent works from the typed definitions, which is what lets it pick send_linkedin_connection_request on its own and still sit inside the same server-side limits a REST call gets. An outward action can run as a preview the agent shows you first and sends only once you confirm.

Authorization is an OAuth consent screen when a person is there to approve it, and an API key when nobody is. Setup per client, the toolset list and what an agent can and cannot do are on the LinkedIn MCP server page. The free MCP config generator writes the config block for your client, and there are step-by-step versions for Claude and ChatGPT.

Frequently Asked Questions

Does LinkedIn have an official API?

Yes, but a restricted one. LinkedIn offers official APIs for sign-in (OpenID Connect), sharing posts, ads (the Marketing Developer Platform), Sales Navigator (SNAP), talent and learning. None of the programs open to new developers send connection requests or member-to-member messages, and none search arbitrary member profiles. The valuable ones also require partner-program approval.

Is there a LinkedIn API to send messages or connection requests?

Not one you can get. LinkedIn documents both, POST /v2/invitations for a connection request and POST /v2/messages for a member-to-member message, and both sit in the Compliance program, which the access page lists for reference only with access that may not be requested. The Messages rules also bar automated or scheduled sending for the partners inside, and partner programs like SNAP expose limited Sales Navigator data under approval without open messaging. To do that programmatically, developers use a third-party LinkedIn API. The account-based options include GTM API, Unipile and LinkedAPI, which all act on a real LinkedIn account you connect. Of the three, GTM API sends through an isolated browser session with health-aware limits enforced before the action. The full picture is on LinkedIn messaging API.

How do I get access to the official LinkedIn API?

Sign In with LinkedIn and Share on LinkedIn are granted on request once your app is associated with a verified LinkedIn Page. Every other product goes to a partner review, and several programs are closed to new applicants. The current map is on How to get official LinkedIn API access.

What is SNAP (the Sales Navigator API)?

LinkedIn’s partner platform for Sales Navigator integrations, covering display embedding, seller analytics and CRM sync. It has never returned search results or lead lists, and LinkedIn stopped accepting new partners. The detail is on Sales Navigator API.

Is using an unofficial LinkedIn API legal?

It’s a grey area. Third-party automation is against LinkedIn’s Terms of Service, so it carries inherent risk. The hiQ v. LinkedIn case is sometimes cited here, but it’s narrow. It concerned scraping logged-out public profiles under the CFAA, and LinkedIn ultimately prevailed on breach of contract, with hiQ paying $500K, deleting its data and shutting down. Authenticated, account-based automation is a distinct ToS question that hiQ doesn’t settle. Providers reduce risk by acting on owned accounts with isolated browser sessions and health-aware limits. Across 20,000+ accounts on gtm-api.com, under 1% have ever been restricted.

Is a third-party LinkedIn API safe to use?

No API can make it risk-free, because LinkedIn’s terms do not permit third-party automation. What a provider controls is how much risk is left, so ask which of these it runs: accounts you own outright, an isolated browser and a dedicated residential proxy per account, and daily limits checked server-side before an action goes out. Ask how durable it is too, since every product built on Proxycurl went dark when it shut down after LinkedIn’s lawsuit. On the gtm-api.com stack, 20,000+ accounts run with under 1% of them ever restricted. The full method is on safe LinkedIn automation.

What's the difference between GTM API, Unipile and LinkedAPI?

All three are third-party LinkedIn APIs. Unipile is a broad multichannel wrapper. LinkedAPI is another agent-native peer. The closest managed MCP+API rival is ConnectSafely.ai, and OutX and LinkdAPI sit in the same account-based bucket. Of these, GTM API is MCP-first with 190+ typed LinkedIn tools, and what it puts forward is a published safety record: it runs 20,000+ accounts with under 1% of them ever restricted. Pick on what you can verify. Several vendors here publish a safety number, so read its shape: a rate that can be non-zero, the window it covers, and the accounts underneath it. Then check whether the connected accounts are yours outright. Email, messengers and calendars are on the same contract next.

Do I own my data with a third-party LinkedIn API?

With GTM API the account is yours. You connect it and you can disconnect it. The messages, connections and enriched records belong to your workspace, with an activity and audit log. That’s different from a scraper reselling a shared pool of data.

Can I use the LinkedIn API for scraping or enrichment?

The official API does not offer open profile search or enrichment. A third-party API can return profile, company and post data through a typed contract on owned accounts, the safer equivalent of scraping. On that model, GTM API exposes people/company search and lite-and-full enrichment as typed tools on the same contract.

Sources & Further Reading

Build on the LinkedIn API that actually does outreach.

Skip the partner-approval queue. Get a key, connect an account, and send your first message from REST or an AI agent in minutes, on the gtm-api.com stack: 20,000+ accounts, under 1% of them ever restricted.

Get your API key →

Last updated: November 2026 · Definitions and benchmarks verified at time of publication