How to Access LinkedIn API - Step-by-Step Guide

Unlock the power of LinkedIn data with Scrapin. Explore insights, tips, and guides on leveraging the LinkedIn API for seamless data extraction and analysis

Julien Keraval
Co-Founder Scrapin
June 6, 2025

5 min

Table of Contents

LinkedIn has proven its worth as one of the most authentic professional networking platforms. It offers a wide array of structured data points for talent, marketing, sales, etc. Companies can access this data by using LinkedIn APIs (Application Programming Interface). An API serves as a gateway for integrating LinkedIn data into applications created by businesses.

As a result, businesses can offer a streamlined experience to their customers. However, the biggest challenge in this regard is to access LinkedIn’s data. To access this data, you can either use an official or unofficial LinkedIn API. To offer you a clear picture, we have explained both these options.

Apart from this, this post also talks about the challenges and issues that you might face when using the LinkedIn API. So, without any further ado, let’s dive in!

{{blog_cta}}

Why Access to LinkedIn API?

Being a central interface, a LinkedIn API allows developers to interact with LinkedIn account using a programming language. Hence, developers can scrape the vast LinkedIn network with a LinkedIn profile API.

Here are some of the reasons why you should use a LinkedIn API:

  • Extend business reach and strengthen online presence
  • Create data software
  • Get data insights for fostering connections
  • Get accurate professional information for Better brand marketing
  • Improves the outcome of marketing campaigns
  • Get accurate personal information for recruitment purposes

Besides, here are a few other benefits of accessing a LinkedIn API:

  • LinkedIn profiles API integration
  • Credential and content sharing
  • Extend brand exposure
  • Elevated app functionality
  • Streamlined user management

How to Access to LinkedIn API?

Accessing data of LinkedIn via API allows businesses to integrate the accessed data into their applications. APIs helps getting the most out of your LinkedIn search. It not only creates a seamless experience for the users but also enables new functionality.

However, accessing this data isn’t smooth sailing. Accessing the LinkedIn API tends to be a challenging task. It takes time and effort while extracting data from LinkedIn. Also, don't forget to carefully read the API documentation requirements.

There are currently two ways to extract data from LinkedIn via API:

  1. First way (Most Complex): Using the Official LinkedIn Partner API
  2. Second way (Quick and Easy): Using an Unofficial LinkedIn API like ScrapIn

Using the Official LinkedIn Partner API (Most Complex)

Getting access to LinkedIn Partner API is hard for startups. This is because you need approval from the LinkedIn team, which is a slow and challenging process. LinkedIn tends to be quite picky when granting access to its API. So, be prepared for the challenges you might encounter when accessing LinkedIn API.

There are 4 kinds of LinkedIn partner programs:

  1. Talent Solutions Partnership Request Form
  2. Marketing Developer Program
  3. Sales Navigator Application Platform
  4. LinkedIn Learning Integration Partner Program

Talent Solutions Partnership Request Form

By joining this program, LinkedIn allows you to integrate your products with LinkedIn Talent Solutions (LTS). LinkedIn prioritizes its LTS integrations to create an ecosystem that allows connecting talent with the most promising opportunities. This is also done to offer valuable insights to the recruiter. Besides, recruiters can also get comprehensive information about LinkedIn groups.

Talent Solutions Partnership Request Form

Below are the LTS integrations offered by this program. Make sure to review these integrations before submitting a request.

  • Recruiter System Connect
  • Apply Connect
  • Job Postings
  • Apply With LinkedIn

Marketing Developer Program

The LinkedIn Marketing Developer Platform allows businesses to grow by expanding their reach. It helps engage and convert professional audiences.

Marketing Developer Program

By using this platform, APIs can perform the following functions:

  • Develop LinkedIn marketing campaigns
  • Report campaign performance
  • Manage leads
  • Grow the company’s page

Sales Navigator Application Platform

The LinkedIn Sales Navigator Application Platform (SNAP) proves to be a handy program. It offers the most essential integrations, which allow access to the key Sales Navigator features throughout the sales stack.

Sales Navigator Application Platform

SNAP partnerships program offers the following integrations. Most of these are continuously updated to offer better functionality, look, and feel:

  • CRM
  • Business Intelligence
  • Marketing Automation
  • Web Conference
  • eSignature
  • Sales Acceleration

LinkedIn Learning Integration Partner Program

LinkedIn Learning runs a partner program with a wide range of LMS (Learning Management System) providers. This makes learning easy for the admins to learn seamlessly. You can learn to configure Blackboard and Canvas LTI implementation with LinkedIn Learning.

LinkedIn Learning Integration Partner Program

The following are the major benefits of joining the LinkedIn learning integration partner program:

  • Enabling the automatic uploads of learning content into the LMS
  • Allows learners to access the learning content seamlessly
  • Add course completion data and learner progress directly into the LMS

With deep integration and using APIs, LinkedIn Learning dynamically refreshes the content library. So, the admin no longer needs to upload the latest content to the LMS.

1.      Creating a LinkedIn App with a Developer Account

A LinkedIn developer account is essential for accessing the LinkedIn API. It allows you to create and manage applications that interact with LinkedIn's platform. To create a LinkedIn developer account, follow these steps:

Create an app in Linkedin developer platform
  1. Go to the LinkedIn Developer website (developer.linkedin.com) and sign in with your LinkedIn credentials.
  2. Once you’re signed in, navigate to the “My Apps” section.
  3. Click on “Create App” to start the app creation process.
  4. Fill out the required fields, including the name and description of your app, the website URL, and the OAuth 2.0 Redirect URLs.
  5. Take some time to carefully read and accept the LinkedIn API Terms of Use and the Developer Program Agreement.
  6. Click “Create App” to finish setting up your LinkedIn app.

By creating a LinkedIn developer account and registering your application, you gain access to the necessary credentials and permissions to interact with the LinkedIn API.

2.      Get Approved by LinkedIn Team

After creating a LinkedIn developer account, it’s time to get ready for the hardest part. In 2015, LinkedIn removed its API from public access, which means getting approval from the LinkedIn team takes a lot of time. Therefore, you need to show patience, as getting approval might take more time than you might expect.

3.      Obtaining API Keys

Once your app is created and the settings are configured, you can obtain your API keys. The API keys consist of a Client ID and a Client Secret. These keys are required to authenticate your app and make API requests.

To get your API keys:

  • Go to the “Auth” tab in your app’s settings in the developer dashboard.
  • Make a note of the Client ID and Client Secret values.
  • Keep the API keys secure and never share them publicly.
  • Fetch profile data via the official LinkedIn Profile API
Get Client ID and Client Secret from Linkedin developer platform

By using this method, you don’t need user permission. However, your application requires approval before you start using the People’s Profile API endpoint (Using a 2-legged OAuth).

Step by Step Guide to LinkedIn API Integration

Although these steps appear to be fairly straightforward, businesses usually encounter a lot of challenges when performing API integration. For instance, you might deal with the strict usage policies of LinkedIn or face the complexities associated with API integration.

Step 1: Using your application’s CLIENT_ID and CLIENT_SECRET, exchange for access_token.

1const axios = require('axios');
2
3const getAccessToken = async () => {
4  const LI_ACCESS_TOKEN_EXCHANGE_URL = 'https://www.linkedin.com/oauth/v2/accessToken';
5  const LINKEDIN_CLIENT_ID = 'your-client-id'; // Replace with your LinkedIn client ID
6  const LINKEDIN_CLIENT_SECRET = 'your-client-secret'; // Replace with your LinkedIn client secret
7
8  try {
9    const response = await axios.post(LI_ACCESS_TOKEN_EXCHANGE_URL, null, {
10      params: {
11        grant_type: 'client_credentials',
12        client_id: LINKEDIN_CLIENT_ID,
13        client_secret: LINKEDIN_CLIENT_SECRET,
14      },
15    });
16    return response.data.access_token;
17  } catch (error) {
18    console.error('Error fetching access token:', error);
19    return null;
20  }
21};
22
23// This method allow you to get your access token
24getAccessToken().then((accessToken) => {
25  if (accessToken) {
26    console.log('Access Token:', accessToken);
27  }
28});

Step 2: Fetch any profile with profile_id

1const axios = require('axios');
2
3const getProfile = async (accessToken, profileId) => {
4  const LI_PROFILE_API_ENDPOINT = `https://api.linkedin.com/v2/people/${profileId}`;
5
6  try {
7    const response = await axios.get(LI_PROFILE_API_ENDPOINT, {
8      headers: {
9        'Authorization': `Bearer ${accessToken}`,
10        'X-RestLi-Protocol-Version': '2.0.0'
11      }
12    });
13    return response.data;
14  } catch (error) {
15    console.error('Error fetching profile:', error);
16    return null;
17  }
18};
19
20// Replace 'access-token' with the actual access token and 'profile-id' with the actual profile ID
21getProfile('access-token', 'profile-id').then((profileData) => {
22  if (profileData) {
23    console.log('Profile Data:', profileData);
24  }
25});

Important Note: It is imperative to understand that a LinkedIn official API only allows retrieving LinkedIn profile data from a profile ID. This suggests you can’t use the official LinkedIn API if you only have a profile slug or LinkedIn profile URL. If this is the case, you need an unofficial API like ScrapIn API. This API makes it possible to retrieve LinkedIn data from profile ID and profile slug (LinkedIn profile URL).

Using ScrapIn LinkedIn API (Quick and Easy)

Step 1: Sign up to ScrapIn website

ScrapIn website

Step 2: Get your API key

Get ScrapIn LinkedIn API key

Step 3: Fetch any profile with profile_id or LinkedIn URL

1const axios = require('axios');
2
3const API_KEY = 'YOUR_API_KEY'; // Replace with your API key from the Scrapin dashboard
4const LINKEDIN_TARGET = 'LINKEDIN_URL_OR_PROFILE_ID'; // Replace with the LinkedIn URL or profile ID you want to fecth
5
6const getLinkedInProfile = async () => {
7  const endpoint = `https://api.scrapin.io/enrichment/profile?apikey=${API_KEY}&linkedinUrl=${LINKEDIN_TARGET}`;
8
9  try {
10    const response = await axios.get(endpoint);
11    console.log('Data:', response.data);
12  } catch (error) {
13    console.error('Error:', error);
14  }
15};
16
17getLinkedInProfile();

Step 4: Then you will have all this data in JSON response (example with https://www.LinkedIn.com/in/williamhgates/ LinkedIn URL):

1{
2  "success": true,
3  "person": {
4    "publicIdentifier": "williamhgates",
5    "linkedInIdentifier": "ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVffJ3hc",
6    "firstName": "Bill",
7    "lastName": "Gates",
8    "headline": "Co-chair, Bill & Melinda Gates Foundation",
9    "location": "Seattle, Washington United States",
10    "photoUrl": "https://media.licdn.com/dms/image/xxxxxxxxxx",
11    "creationDate": {
12      "month": 5,
13      "year": 2013
14    },
15    "followerCount": 34903132,
16    "connectionCount": 9,
17    "positions": {
18      "positionsCount": 3,
19      "positionHistory": [
20        {
21          "startEndDate": {
22            "start": {
23              "year": 2000
24            }
25          },
26          "title": "Co-chair",
27          "companyName": "Bill & Melinda Gates Foundation",
28          "companyLogo": "https://media.licdn.com/dms/image/xxxxxxxxxxxx",
29          "linkedInUrl": "https://www.linkedin.com/company/8736/"
30        },
31        {
32          "startEndDate": {
33            "start": {
34              "year": 2015
35            }
36          },
37          "title": "Founder",
38          "companyName": "Breakthrough Energy ",
39          "companyLogo": "https://media.licdn.com/dms/image/xxxxxxxxxx",
40          "linkedInUrl": "https://www.linkedin.com/company/19141006/"
41        },
42        {
43          "startEndDate": {
44            "start": {
45              "year": 1975
46            }
47          },
48          "title": "Co-founder",
49          "companyName": "Microsoft",
50          "companyLogo": "https://media.licdn.com/dms/image/xxxxxxxxx",
51          "linkedInUrl": "https://www.linkedin.com/company/1035/"
52        }
53      ]
54    },
55    "schools": {
56      "educationsCount": 2,
57      "educationHistory": [
58        {
59          "startEndDate": {
60            "start": {
61              "year": 1973
62            },
63            "end": {
64              "year": 1975
65            }
66          },
67          "schoolName": "Harvard University",
68          "schoolLogo": "https://media.licdn.com/dms/image/xxxxxxxxx",
69          "linkedInUrl": "https://www.linkedin.com/company/1646/"
70        },
71        {
72          "schoolName": "Lakeside School",
73          "schoolLogo": "https://media.licdn.com/dms/image/xxxxxxxxxx",
74          "linkedInUrl": "https://www.linkedin.com/company/30288/"
75        }
76      ]
77    },
78    "summary": "Co-chair of the Bill & Melinda Gates Foundation. Founder of Breakthrough Energy. Co-founder of Microsoft. Voracious reader. Avid traveler. Active blogger.",
79    "skills": [
80      
81    ]
82  },
83  "company": {
84    "websiteUrl": "https://www.gatesfoundation.org/about/careers",
85    "name": "Bill & Melinda Gates Foundation",
86    "logo": "https://media.licdn.com/dms/image/xxxxxxxxx",
87    "employeeCount": 3509,
88    "description": "We are optimists on a mission to create a world where every person has the chance to live a healthy, productive life. \n\nIn developing countries, the Bill and Melinda Gates Foundation focuses on improving people’s health and giving them the chance to lift themselves out of hunger and extreme poverty. In the United States, it seeks to ensure that all people—especially those with the fewest resources—have access to the opportunities they need to succeed in school and life. ",
89    "tagline": "We are a nonprofit organization fighting poverty, disease, and inequity around the world.",
90    "specialities": [
91      "Global Health",
92      "Global Development",
93      "US Education",
94      "Gender Equality"
95    ],
96    "headquarter": {
97      "country": "US",
98      "geographicArea": "WA",
99      "city": "Seattle",
100      "postalCode": "98109"
101    },
102    "industry": "Non-profit Organizations",
103    "universalName": "bill-&-melinda-gates-foundation",
104    "linkedinUrl": "https://www.linkedin.com/company/bill-&-melinda-gates-foundation/",
105    "linkedinId": "8736"
106  },
107  "credits_left": 98950,
108  "rate_limit_left": 19748
109}

Final Thoughts

LinkedIn API offers businesses a vast range of opportunities, allowing them to accomplish their marketing goals. By utilizing appropriate tools and adopting a strategic approach, businesses can incorporate the LinkedIn API into their existing systems.

However, integrating an official LinkedIn API might be difficult for the developers. This is the area where an unofficial API like ScrapIn comes into play. ScrapIn proves to be a hassle-free way to integrate LinkedIn data into software. So, you can rely on this LinkedIn API for seamless integration with LinkedIn data.

Scrape Any Data from LinkedIn, Without Limits.

A streamlined LinkedIn scraper API for real-time data scraping of complete profiles and company information at scale.

Specialized Expertise
High-Volume Power

You Build AI Products, We Provide B2B Data

Focus on building your product—we handle the data layer. Our scalable solution eliminates the pain of managing scraping in-house, so you can move faster without compromise.

99.2
%
Uptime Status
45
M
Requests per day
<4
s
Reponse Time