Unlock the potential of the LinkedIn developer API with our comprehensive guide. Whether you're building tools for HR, SaaS, or dev-centric platforms, you'll find actionable insights and practical advantages. From understanding the core architecture of the LinkedIn API to deploying real-world use cases, this guide walks you through everything you need to know.
In this LinkedIn API guide, you'll learn:
const profile = await unipile.linkedin
.getProfile("user_id");
console.log(profile.name);
What is LinkedIn API?
The LinkedIn API (Application Programming Interface) is the essential bridge between your application and LinkedIn, acting on behalf of your authenticated users. Whether you're building recruitment software, CRM systems, or workflow automation tools, understanding LinkedIn API integration is key to letting your users retrieve and interact with the professional and company information they have access to on LinkedIn.
Why do developers need LinkedIn API for their software?
The LinkedIn API is a set of programming interfaces that allows developers to integrate LinkedIn functionality into their applications. Think of the LinkedIn API as a secure gateway that lets your software communicate with LinkedIn's platform to:
Whether you're building a CRM, ATS, or an outreach automation platform, LinkedIn integration enhances your product's capabilities around talent acquisition, business connections, and targeted marketing.
LinkedIn API Integration Across Products
A key advantage of the LinkedIn API is its ability to work across LinkedIn's ecosystem:
This multi-product integration capability allows developers to build comprehensive solutions that leverage LinkedIn's full professional ecosystem, creating a unified experience for users across different LinkedIn environments.
LinkedIn API vs Web Scraping: What's the Difference?
Understanding why API access provides a more reliable, secure, and legally compliant solution for your LinkedIn integration needs.
Unipile operates without its own profile database. No LinkedIn profile information is retained or indexed independently by the service. Data is fetched only when the authenticated user triggers a workflow through your application, and only in the volume strictly required to execute that workflow.
Official LinkedIn API Types: Which One Do You Need?
LinkedIn offers several official APIs through their Partner Program. Here's what each LinkedIn API endpoint provides:
LinkedIn Profile API
Retrieve user profile information to sync into your CRM and authenticate users.
LinkedIn Connections API
Access user's professional network for analysis and connection recommendations.
LinkedIn Share API
Post content on behalf of users for social media management and automation.
LinkedIn Organization API
Manage company pages and data for profile management and employee insights.
LinkedIn UGC API
Handle rich media content for advanced publishing and media management.
LinkedIn Compliance API
Report policy violations and content issues for moderation and compliance.
Important LinkedIn removed public API access in 2015
All LinkedIn API access now requires official partnership. Here's what you need:
LinkedIn API Approval Process: What to Expect
Getting approved for LinkedIn's official API access is a rigorous process. Understanding the timeline and requirements helps you prepare a successful application.
Key Requirements
Skip the wait with Unipile — Get instant LinkedIn API access without the lengthy approval process.
LinkedIn API Access: Who Can Use It and How to Get Approved?
LinkedIn no longer provides public access to its APIs. Since 2015, all LinkedIn API access requires joining the LinkedIn Partner Program. This means individual developers cannot simply create an app and start using LinkedIn APIs.
Marketing Developer Program
For Marketing technology companiesSales Navigator Solutions
For Sales technology providersTalent Solutions Partnership
For HR technology and ATS providersLinkedIn Learning Partner Program
For Learning management system providersWhat You Can and Can't Do with LinkedIn APIs: DIY Approach
The LinkedIn API allows you to access structured data, post content, and manage profiles, but it comes with restrictions. You may face rate limits, need user permissions, and only gain access to certain features if you're a partner. The approval process can be time-consuming and limit your ability to implement custom solutions without LinkedIn's authorization code.
What You Can Do
What You Can't Do
3 Ways to Access LinkedIn Data: Official API vs Alternatives
Accessing LinkedIn data for your application can be challenging due to LinkedIn's restricted API access. There are several ways to access LinkedIn data to perform tasks such as searching for profiles, searching for companies, sending invitations, sending voice notes, or sending InMails. By comparing endpoints, effort, cost, and flexibility, this table helps you clearly evaluate what's best for your team.
Unipile API
All-in-one unified API
LinkedIn Partners
Official API through partnership
Do It Yourself
Build your own solution
Unipile is not a LinkedIn product and holds no partnership with LinkedIn. Its role is to sit as an independent technical layer between your application and LinkedIn, executing each call on behalf of an end user who has personally connected their own account. Every request stays within the boundaries of that user’s own LinkedIn permissions. No elevated access, no other accounts, no action outside the workflow the user has explicitly started.
1. LinkedIn API by Unipile
A production-ready LinkedIn API that mirrors official functionality without the complexity of the Partner Program.
Why Choose Unipile?
How It Works
Get Started in 5 Simple Steps
Create Your Unipile Account
Sign up in seconds and get immediate access to the Unipile Messaging API.
Access Your Dashboard
Manage all your connected accounts, webhooks, and API settings in one place.
Get your DSN
Copy your unique DSN endpoint to start making API calls.
Generate a Token
Configure scopes and permissions for secure API access.
Connect LinkedIn Account
Link your LinkedIn account using credentials or cookies method.
Now Integrate All the Features You Need
Access every LinkedIn functionality through our unified API. Choose the endpoints that match your use case.
Popular Endpoints
Video Guide: Build with LinkedIn API
In this video, learn how to connect a LinkedIn account and start syncing inboxes, retrieving profiles, and managing outreach from your app.
2. Official LinkedIn API
While LinkedIn's official API offers the most comprehensive and legally secure access to LinkedIn data, it comes with significant barriers to entry that make it unsuitable for most developers and businesses.
LinkedIn Official API: Developer Guide
LinkedIn's API offers powerful integration options but is tightly controlled. Since 2015, public access was removed, and access is now only available to LinkedIn Partners. Approved partners gain access to specific APIs, such as the Profile API, Connections API, and UGC API, which allow for profile data access, content sharing on behalf of users, and network connections.
To build an application, developers must create a LinkedIn developer account. The complexity of using LinkedIn's APIs, which are constructed on the Rest.li framework, requires understanding the provided library that simplifies requests and handles authentication.
Two key OAuth methods include: Sign In with LinkedIn (requires user permission for profile data) and Profile API (reserved for approved partners with more extensive access).
OAuth Process for Access
Get Approved by LinkedIn
Obtain Access Tokens
Use your Client ID and Client Secret to request an access token for authenticated API calls.
const getAccessToken = async () => { const response = await axios.post( 'https://www.linkedin.com/oauth/v2/accessToken', { grant_type: 'client_credentials', client_id: 'your-client-id', client_secret: 'your-client-secret' } ); return response.data.access_token; };
Fetch Profile Data
Make API requests to retrieve profile data. Note: LinkedIn API requires a profile ID for data retrieval.
const getProfile = async (accessToken, profileId) => { const response = await axios.get( `https://api.linkedin.com/v2/people/${profileId}`, { headers: { 'Authorization': `Bearer ${accessToken}` } } ); return response.data; };
LinkedIn's official API only allows fetching profile data using a profile ID. If you only have a LinkedIn profile URL or slug, the official API won't be helpful. In such cases, using an unofficial API like Unipile can be a solution, as it enables the retrieval of LinkedIn data using both the profile ID and profile URL.
LinkedIn Official API Limitations
Major restrictions that make it impractical for most use cases:
3. DIY LinkedIn Integration
If the official LinkedIn API doesn't meet your needs, particularly when you need to retrieve data using a LinkedIn profile URL or slug, unofficial APIs found on platforms like GitHub can serve as an alternative. These libraries allow you to interact with LinkedIn without the restrictions imposed by the official API.
Why DIY Integration Is Risky
These integrations are often long, complex, and unofficial, meaning there is no official support available. Developers should expect numerous iterations and challenges during implementation. Additionally, using LinkedIn as an OAuth provider has its limitations, as it does not supply the key data many applications need.
Common Challenges
Better Alternatives to DIY Integration
Instead of building your own LinkedIn integration, consider these production-ready solutions:
LinkedIn API Capabilities with Unipile
Access every LinkedIn endpoint through a single, unified API. From messaging to profiles, invitations to posts, build any LinkedIn integration your users need.
Account Connection
2 endpoints available
Messages
10 endpoints available
Users/Profiles
8 endpoints available
Posts/Comments
6 endpoints available
Specific
17 endpoints available
Webhooks
3 events available
Inboxes
4 inboxes available
LinkedIn API Python Integration: Quick Start
Integrate LinkedIn into your CRM, ATS, or outreach tool in minutes. Below is a Python example to list all connected LinkedIn accounts using the Unipile API. No SDK needed, just Python and requests.
import requests # Your Unipile API endpoint url = "https://api1.unipile.com:13111/api/v1/accounts" # Headers for authentication headers = { "accept": "application/json", "X-API-KEY": "your-api-key" } # Make the request response = requests.get(url, headers=headers) # Print all connected accounts print(response.json())
Key Features of LinkedIn API by Unipile
List All Chats
curl --request GET \ --url https://api1.unipile.com:13111/api/v1/chats \ --header 'X-API-KEY: {your_api_key}'
Retrieve all chat messages from a user's LinkedIn account. Filter conversations by chat partner, date, or keywords within the chat content.
Start New Chat
curl --request POST \ --url https://api1.unipile.com:13111/api/v1/chats \ --header 'X-API-KEY: {your_api_key}' \ --header 'Content-Type: application/json' \ --data '{"attendee_id": "...", "text": "..."}'
Initiate a new chat message within your application, providing the recipient, message content, and optional attachments if supported.
Retrieve a Profile
curl --request GET \ --url https://api1.unipile.com:13111/api/v1/users/{user_id} \ --header 'X-API-KEY: {your_api_key}'
This API function facilitates the retrieval of user profiles, enabling detailed access to user information. You can gather a wealth of public profile information, such as the user's email, job title, company, phone number, and address, whenever they are provided and publicly available.
How Can Developers Leverage LinkedIn API for Advanced Features?
Integrating advanced LinkedIn features into your applications is now a streamlined process with Unipile's ready-to-use code snippets. Developers can sidestep the complexities of building from the ground up, using these pre-crafted codes to access the full capabilities of the LinkedIn API.
Whether for streamlining profile data retrieval, analyzing network activities, or syncing with other systems, Unipile's robust code repository acts as a catalyst for quick and smooth integration.
Build LinkedIn Outreach Sequences for Your Users
Enable your users to build engagement workflows with personalized LinkedIn invitations. Search for profiles using LinkedIn or Sales Navigator, apply filters, and let each user run the sequence from their authenticated account.
Search and Retrieve Results
Leverage the advanced features of LinkedIn, LinkedIn Recruiter, and LinkedIn Sales Navigator to build custom search functionalities within your application, using the 'Get raw data' endpoint through each user's authenticated account.
Detecting Accepted Invitations
Track when your LinkedIn invitations are accepted to trigger follow-up actions without specific webhooks.
Voice Note Integration
Incorporating LinkedIn's voice note feature into your software can greatly enhance user interaction and engagement. This integration allows users to easily send and receive voice messages, offering a more personal and effective way to communicate.
Documentation AccessGet LinkedIn Posts
Access your users' latest LinkedIn posts directly in your app. Retrieve titles, timestamps, and content snippets to power real-time dashboards, CRM cards, or automated alerts.
Get LinkedIn PostsLinkedIn’s usage policies and rate thresholds evolve over time. Unipile surfaces the live platform signals your integration needs: usage headers, quota hints, error codes, so your workflows can slow down, back off, or re-schedule automatically. Responsibility for the overall cadence stays on the customer side. Each implementation must stay aligned with LinkedIn’s current terms and with what a single authenticated account can legitimately do.
LinkedIn API Use Cases: Unleashing the Potential
The LinkedIn API serves as a transformative tool, reshaping how individuals and organizations work across various industries. To recruit and sell faster, your users need to respond promptly to messages. With the API, each of your users can connect multiple LinkedIn accounts to support their workflows.
API for LinkedIn Recruiter
In the realm of recruitment, the Unipile's LinkedIn API is a transformative tool, reshaping the landscape for hiring professionals. The API for LinkedIn Recruiter and others streamlines candidate targeting, automates tedious tasks, and provides real-time insights.
API for LinkedIn Sales Navigator
Incorporating LinkedIn Sales Navigator into your CRM transforms sales strategies by providing direct access to valuable insights and connections. This fusion allows for personalized engagement, tailored to the unique needs of each prospect.
Benefits of LinkedIn API Integration
A production-ready SDK that handles the complexity of LinkedIn integration. RESTful endpoints, real-time webhooks, and automatic rate limiting, so you can focus on building, not maintaining.
Simple Integration
Search profiles, send invitations and messages with just a few lines of code. Our SDK handles authentication, rate limits, and error handling.
// Connect to LinkedIn in seconds import { UnipileClient } from 'unipile-node-sdk'; const client = new UnipileClient({ dsn: 'https://api.unipile.com', token: process.env.UNIPILE_TOKEN }); // Search LinkedIn profiles const profiles = await client.users.search({ query: 'Marketing Director', limit: 25 }); // Send connection invitation await client.users.invite({ account_id: accountId, provider_id: 'linkedin_user_id', message: 'Hi! Let\'s connect.' });
RESTful API
Clean, standardized endpoints with JSON responses. Predictable URL structure and HTTP methods.
Real-time Webhooks
Instant notifications for messages, connection acceptances, and events. No polling required.
Secure Authentication
OAuth 2.0 token-based authentication. Secure credential management and automatic token refresh.
Account Protection
Built-in safeguards to protect LinkedIn accounts. Respectful usage patterns and activity limits aligned with platform guidelines.
Smart Rate Limiting
Automatic rate limit management with informative headers. We handle LinkedIn's restrictions for you.
Clear Error Handling
Descriptive error codes and messages. Built-in retry logic with exponential backoff.
One dashboard for all your integrations
Manage all your LinkedIn, WhatsApp, Gmail accounts and more from a single, intuitive interface.
Accounts
03/01/2025
02/15/2025
02/10/2025
03/01/2025
02/28/2025
02/20/2025
03/01/2025
02/25/2025
03/01/2025
02/22/2025
02/14/2025
02/12/2025
02/08/2025
02/05/2025
03/01/2025
02/15/2025
03/01/2025
02/22/2025
Optimize Your Integration with Experts Support
Whether you're starting from scratch or already have a system in place, our integration process is made to get you live fast.
Start Building with LinkedIn API Today
Choose the integration path that fits your timeline and needs.
LinkedIn API Guide FAQ
Everything you need to know about accessing and integrating LinkedIn API
For those asking, "Is the LinkedIn API free?", the answer is partially. While basic access to limited data is available at no cost, advanced features such as People Profile or Marketing API require paid plans and partner approvals.
The LinkedIn API itself has different pricing models depending on your access method:
- Official LinkedIn API: Free for approved partners, but requires expensive partnership program
- Unipile LinkedIn API: Starts at $49/month with transparent pricing
- DIY Solutions: Free but with high hidden costs (development time, maintenance, legal risks)
For most businesses, third-party solutions like Unipile offer the best value proposition.
There are three main paths to LinkedIn API access:
- LinkedIn Partner Program (3-6 months, enterprise only)
- Third-party API providers (1-3 days, most businesses)
- DIY development (not recommended for production)
To get a fast access, you need to create a LinkedIn Developer account and register your application. Depending on the data and level of access you require, you may need to go through LinkedIn's partner application process, which can involve submitting your use case for review. Alternatively, you can connect to the Unipile dashboard for simplified access and management.
It depends on the API provider. Here's a comparison between LinkedIn's official OAuth and Unipile's simplified approach:
Unipile LinkedIn API:
// Simple token-based authentication const response = await fetch('https://api.unipile.com/v1/profiles', { headers: { 'Authorization': 'Bearer your-api-token', 'X-DSN': 'your-dsn-endpoint' } });
LinkedIn imposes several restrictions on the use of its API to protect user privacy and maintain the quality of its data. Only approved developers can access the full range of API features, and most data interactions require explicit user consent. Rate limits also apply, which restrict the number of requests an application can make within a given timeframe.
LinkedIn API rate limits:
Official LinkedIn API:
- 500 calls per user per day
- Varies by endpoint and partner tier
Unipile LinkedIn API:
- Respects LinkedIn's natural usage patterns
- Automatic rate limiting to prevent account issues
- Scales with your subscription plan
DIY Solutions:
- No official limits, but high risk of detection and banning
You can find all LinkedIn limits here.
Available data depends on your access method and user permissions:
Profile Data:
- Name, headline, location
- Work experience and education
- Skills and endorsements
- Contact information (if shared)
- Profile photo and background
Activity Data:
- Posts and articles
- Comments and reactions
- Connection updates
- Job changes and announcements
Network Data:
- Connections list
- Mutual connections
- Follower count
- Network activity
You can pull various types of data using the LinkedIn API, including:
- User profile information (name, headline, location, etc.)
- Posts and shares from a user's LinkedIn feed
- Company information if you have proper permissions
- Engagement metrics like comments, likes, and shares on posts
Note that the specific data available depends on LinkedIn's API tiers and your permissions. For a detailed breakdown of LinkedIn data pull from API, visit the full article on what LinkedIn data can be pulled from their API.
The available routes differ mainly in how they authenticate and how far they scale:
- Manual browsing and copy-paste: fine for a handful of records, does not scale
- Browser extensions: tied to LinkedIn's live markup, and they break whenever the front end changes
- Cloud tools on shared infrastructure: you do not control the sessions they run on
- Account-based API: each end user links their own account, and every retrieval runs on their behalf
We compare what each approach can reach, where it breaks, and what it exposes you to, in our guide to getting LinkedIn data into your software.
To learn how to efficiently get LinkedIn posts using API, including step-by-step instructions and integration tips, check out our detailed guide here: How to Get LinkedIn Posts Using API.
The LinkedIn Recruiter API is generally available to LinkedIn Recruiter customers, and its cost is integrated into the LinkedIn Recruiter subscription plans. The exact pricing can vary based on the number of licenses, features needed, and specific integration requirements. For exact pricing details, it is best to contact LinkedIn's sales team.
The Unipile API streamlines LinkedIn integration by generating an authorization link, enabling users to connect LinkedIn accounts, manage communications, and access various LinkedIn features directly. This process eliminates the need for complex code, making integration fast and efficient.
To use the LinkedIn API with Python, you'll need an API provider that enables access to LinkedIn endpoints, since LinkedIn's official API is highly restricted and reserved for partners only. With Unipile, you can work with LinkedIn programmatically through authenticated user accounts, without requiring an official LinkedIn partner agreement or building everything from scratch.
The LinkedIn API allows developers to integrate LinkedIn features into their applications. Common functionalities include retrieving user profiles, sharing posts, accessing company pages, and integrating LinkedIn Ads or Sales Navigator features.
LinkedIn API can be used with any programming language that supports HTTP requests:
Most popular languages:
- Python: Extensive libraries and examples available
- JavaScript/Node.js: Great for web applications
- PHP: Popular for WordPress and web development
- Java: Enterprise applications and Android development
- C#/.NET: Microsoft ecosystem integration
- Ruby: Rapid prototyping and web applications
The limitations and constraints of the LinkedIn API are specified by LinkedIn itself, and they vary according to the endpoints and types of usage allowed.
Unipile retrieves information on behalf of authenticated users, at their request and within their authorized scope. No data is stored independently by Unipile; information flows through the API in response to user-initiated actions, in compliance with GDPR and applicable data protection regulations.
Unipile is an independent technical intermediary that helps software publishers connect authenticated user accounts to their applications. Supported actions are performed on behalf of the user, within workflows initiated and controlled by that user. Unipile is not affiliated with or endorsed by LinkedIn. Third-party platform features, availability, and access conditions may change at any time.
No. Unipile does not build or maintain any independent database of LinkedIn profile data for its own purposes. Any profile information retrieved through the API is handled only on behalf of the authenticated user, at that user's request, and only to the extent technically necessary for the workflow your application executes. Once the workflow is complete, Unipile does not retain or repurpose the data outside of what the user has initiated.
The Unipile LinkedIn API exposes only the information that the authenticated user could themselves view from their own LinkedIn session. This includes profiles in their network, their messages, their Sales Navigator or Recruiter data when those seats are attached to the account, and the public-facing company pages they can already browse. There is no privileged backend access, no cross-account enrichment, and no scope beyond what the user's own LinkedIn account is authorised to see.
Every action performed through the Unipile LinkedIn API requires the end user to have explicitly connected their LinkedIn account via authentication. Actions are triggered only inside workflows the user has initiated and controls. No background collection runs without an authenticated session, no action is performed on accounts whose owner has not actively linked them through your application.
Ready to integrate LinkedIn API into your product?
Build Now
Instagram


