Yes, LinkedIn does have a public API that allows developers to integrate LinkedIn data and functionality into their own applications. The LinkedIn API enables apps to connect to user profiles, companies, jobs, groups, posts, and other assets on LinkedIn. There are several different API products offered by LinkedIn depending on the type of capabilities needed.
Overview of LinkedIn’s API Products
Here is an overview of the main API products offered by LinkedIn:
- LinkedIn Login: Enables app users to sign in with their LinkedIn account.
- People API: Provides access to LinkedIn member profile data such as name, headline, location, connections, etc.
- Interests API: Lets you access member interests and skills.
- Companies API: Gives access to company pages, employee lists, statistics, and other company-related data.
- Jobs API: Allows retrieval of job listings and details posted on LinkedIn.
- Groups API: Enables access to LinkedIn groups, posts, comments, and membership.
- Share API: Allows apps to publish content to LinkedIn including posts, articles, images, etc.
- Ads API: Used to manage LinkedIn ad campaigns and analytics programmatically.
These are the core set of LinkedIn APIs available, but there are also more specialized APIs like University API, Video API, etc. as well as Marketing Developer Platform for accessing marketing analytics data.
Authentication and Authorization
To start using LinkedIn’s APIs, you first need to register as a LinkedIn developer and create an application. This will provide you with a client ID and client secret which are used to authenticate your API calls. LinkedIn uses the industry-standard OAuth 2.0 protocol for authentication and authorization.
When your application needs to access a member’s private data, LinkedIn’s OAuth 2.0 implementation will pop up a dialog asking them to authorize your app. If granted, your app will receive an access token which can be used to call APIs on behalf of that member.
API Request Limits and Cost
LinkedIn’s APIs are free to use up to a certain limit. Here are the current request limits per API product:
- People API: 300 requests per app per day
- Interests API: 200 requests per app per day
- Companies API: 300 requests per app per day
- Jobs API: 200 requests per app per day
- Groups API: 200 requests per app per day
- Share API: 100 requests per member per day
For higher usage volumes, you will need to apply for a paid plan which starts at around $2,000 per month. This removes request limits and provides higher rate limits. Support options also improve on paid plans.
API SDKs and Code Samples
LinkedIn provides SDKs (software development kits) to make it easier to integrate with its APIs from various programming languages:
- JavaScript SDK
- Python SDK
- .NET SDK
- Java SDK
- Go SDK
- Android SDK
- iOS SDK
These SDKs wrap the underlying REST APIs with language-specific interfaces. There are also many code samples provided in different languages to help you get started.
Use Cases
Here are some examples of how LinkedIn’s APIs are commonly used:
- Single Sign-On: Apps use LinkedIn Login to simplify registration and enhance security.
- Contact Database: Sync your CRM with LinkedIn to enhance profiles with employment history and skills.
- Talent Solutions: Recruiters use the API to search LinkedIn profiles for candidate sourcing.
- Lead Generation: Identify contacts at target companies your sales team wants to reach out to.
- Social Analytics: Analyze how content is being engaged with on LinkedIn to optimize messaging.
- Ads Management: Manage and optimize LinkedIn ad campaigns using the Ads API.
These examples demonstrate the breadth of ways LinkedIn’s platform can be leveraged beyond just posting updates.
Limitations
While LinkedIn’s APIs provide diverse capabilities, there are some limitations to be aware of:
- Request limits necessitate paid plans for high usage apps.
- Data returned may not be completely up-to-date compared to LinkedIn.com.
- Users must authorize each app before full profile access is granted.
- Missing some advanced filtering capabilities available on LinkedIn.com.
- No ability to send connection invites or InMail messages via API.
So while the API capabilities are extensive, some LinkedIn features are not fully replicated. The APIs are also subject to change over time as LinkedIn enhances platform security and privacy.
Getting Started
Here are the steps to get started using LinkedIn’s APIs for your application:
- Register as a LinkedIn developer and create a new application.
- Choose the APIs your app needs (People, Companies, etc).
- Review the documentation and choose an SDK if available.
- Implement LinkedIn Login and request user authorization.
- Make API calls using OAuth access tokens.
- Handle rate limiting and monitor usage.
- Consider a paid plan if you need higher call volumes.
LinkedIn also provides pre-built applications and tutorials to demo API capabilities and jumpstart development. Just check for sample apps in your chosen programming language.
Conclusion
In summary, LinkedIn does provide a fairly robust set of APIs to access their platform’s data and features. These APIs allow for creative use cases beyond just social media interactions. However, there are rate limits, incomplete data sets, and authorization requirements to consider. But for apps needing to integrate the professional network’s capabilities, LinkedIn’s APIs offer great potential despite some limitations.