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 run one without losing the account.
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.
This guide is the honest map developers actually need: which official APIs exist (and which need partner approval), what only a third-party API can do, what each costs, and how to stay compliant. Facts on the official side are drawn from LinkedIn’s own developer documentation.
On this page
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 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.
One official route does put a message in a member’s inbox, and it belongs in an honest comparison. 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.
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.
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.
In that last bucket sits GTM API. It groups 160+ tools into typed LinkedIn toolsets (representative below), all behind one key and one schema, so the same contract powers a REST integration and a Claude or ChatGPT agent. 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.
Is a third-party LinkedIn API safe & compliant?
Honest answer: LinkedIn’s Terms of Service don’t permit third-party automation, so any tool in this space carries inherent risk. What separates providers is how much they reduce it, and the levers are the same everywhere: accounts you actually own, isolated browser sessions, and daily limits enforced before an action goes out.
Concretely, that is five mechanisms, and it’s worth asking any provider which of them they actually run:
- Accounts you own. You connect them and you can disconnect them. There is no shared pool of borrowed sessions.
- An isolated cloud browser per account, so one account’s browser profile is never reused for another.
- A dedicated residential proxy per account. Shared datacenter IP ranges are what get a whole fleet flagged at once.
- Health-aware daily limits enforced server-side, checked before an action goes out, while refusing it still costs nothing.
- Preview then confirm available on outward actions, with an activity and audit log behind it.
On that setup, GTM API reports 20,000+ accounts at under a 1% ban rate. Frédéric D., co-founder of MirrorProfiles, calls the stack behind GTM API “the safest and most reliable option we’ve tested”.
Durability matters as much as ban-rate, and the category has a worked example. LinkedIn filed suit against Proxycurl, then one of the most-used LinkedIn data APIs, in January 2025, and the company announced its shutdown that July. Founder Steven Goh put it plainly in the shutdown post: “Regardless of the merits of LinkedIn’s lawsuit, there is no winning in fighting this.” Every product built on that API went dark. Because GTM API is account-based and you own the connected accounts, there is no shared scraped-data pool for a single lawsuit to switch off.
One objection deserves a direct answer, because it comes up in every comparison: isn’t cloud automation riskier than a browser extension on your own machine, given the traffic leaves a datacenter? It is, for tools that route accounts through a shared datacenter IP pool. That’s the failure mode being described, and it’s an implementation choice, which is why the second and third items on that list are per-account and residential. A session on this setup reads as one person on one home connection. The trade the other way is that an extension inherits whatever your own browser looks like and enforces its ceilings in a page script, which nothing stops you from closing mid-run.
It’s also a very different risk profile from a scraper hitting pages with a borrowed cookie, and the data stays in your workspace either way. That’s the framing a technical buyer should use. The full method is on the safe LinkedIn automation page, and the per-account ceilings are on the LinkedIn connection limits page.
LinkedIn API pricing
Third-party LinkedIn APIs price one of two ways: per connected account (a flat monthly fee, unlimited actions) or per call (metered credits per request). Of the two, GTM API uses the per-account model, from $10 per account per month at volume, with unlimited outreach and action calls.
There are no per-action fees on that plan, so an agent that sends thousands of messages costs the same as one that sends ten. Scraping and enrichment are live too, with pricing not yet published.
Per-account pricing is usually cheaper for outreach (steady sending) and per-call is cheaper for occasional lookups. Work out roughly how many actions a month you need before you compare quotes, because the two models cross over fast. The full brackets, the 5G Proxy add-on and the costs providers tend to bury are on the LinkedIn API 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.
- Create an API key. Sign up and generate it in the dashboard. The free plan takes no card.
- 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.
- Make a call. Hit the REST endpoint directly, or point Claude, Cursor or ChatGPT at the MCP server and let the agent call the same tools.
- 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:
# 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 also exposed over the Model Context Protocol, so an agent running in Claude, Cursor or ChatGPT can call them with no integration code. The agent works from typed tool 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. That’s the short version. Setup, client configs and the full toolset are on the LinkedIn MCP server page.
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 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, gtm-api.com reports under a 1% ban rate.
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 160+ typed LinkedIn tools, and what it puts forward is a published safety record: it reports 20,000+ accounts at under a 1% ban rate. 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.
Read next on this topic
- LinkedIn API pricing
- LinkedIn API rate limits
- LinkedIn API access
- Sales Navigator API
- LinkedIn profile data API
- LinkedIn messaging API
- LinkedIn jobs API
- LinkedIn API documentation
- LinkedIn posts API
- LinkedIn search API
Sources & Further Reading
- LinkedIn / Microsoft Learn, Getting Access to LinkedIn APIs (official products and permissions, and the Compliance section marked closed with permissions listed for reference only), last updated 26 June 2025
- LinkedIn / Microsoft Learn, Invitations API (POST /v2/invitations, the invitee URN and the optional message body, restricted to approved partners), last updated 9 May 2023 · Messages API (POST /v2/messages, MEMBER_TO_MEMBER, and the requirement that a message follow a specific member action, with automated and scheduled events excluded), last updated 9 May 2023
- LinkedIn / Microsoft Learn, Message Ads API (a Message Ad is delivered to a member’s InMail inbox, content created through POST /rest/inMailContents with a sender and no recipient field, and a test send that goes to the authenticated member), last updated 24 June 2026
- LinkedIn, Developer Solutions · Become a SNAP partner
- Frédéric D., co-founder of MirrorProfiles, on the stack behind gtm-api.com: “the safest and most reliable option we’ve tested”
- Ninth Circuit, hiQ Labs v. LinkedIn, No. 17-16783 (18 April 2022, on remand: the injunction against LinkedIn stands, CFAA “without authorization” likely does not reach public profiles)
- Proskauer, on the district court ruling of 4 November 2022 (N.D. Cal., 17-cv-03301-EMC: the User Agreement bars scraping, LinkedIn won on the fake accounts hiQ’s contractors used, and hiQ’s waiver defence was left for trial. The parties settled a month later on a $500K consent judgment)
- Steven Goh (Proxycurl / Nubela), “Proxycurl Shuts Down. Thank you.” (July 2025, the shutdown announcement and the January 2025 lawsuit)
- gtm-api.com, developer documentation · linkedin-api-examples (GitHub)
- Related: Best LinkedIn API · LinkedIn API pricing · LinkedIn MCP server · Safe LinkedIn automation · LinkedIn connection limits · LinkedIn API rate limits · Sales Navigator API · LinkedIn API access · LinkedIn profile data API · Connect LinkedIn to Claude · LinkedIn messaging API · LinkedIn integrations · Automate LinkedIn with n8n · LinkedIn scraping vs API · LinkedIn jobs API · LinkedIn API documentation · LinkedIn posts API · LinkedIn search API · Proxycurl overview · Is scraping LinkedIn legal?
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 stack gtm-api.com reports at 20,000+ accounts and under 1% ban.
Last updated: September 2026 · Official-API details verified against LinkedIn’s developer documentation at time of publication
