The Ultimate Guide to the Professional Network API: People Profile API (with Python Example)
June 28, 2025
9 min read
In this first chapter of the "Ultimate Guide to the professional networks API" series, my goal is to get your product integrated with Professional...
In this first chapter of the "Ultimate Guide to the professional networks API" series, my goal is to get your product integrated with professional networks API without the need to be approved as a professional networks Partner.
This guide is intended for software engineers comfortable making API calls who would like to short-circuit the business problems that come with the official the API and to get productive immediately.
What the APIs exist?
the platform is a powerful professional social network. It's a treasure trove of data for professionals and job listings, data that a recruitment tech startup or a sales automation product would love to integrate into their offering. the platform is aware of this value and have turned off public access to their API since 2015. To gain access to the official the API, you would need to be a the platform Partner.
Getting approved as a the platform Partner
The the platform Partner Program is open to four segments of businesses, namely:
- Talent Solutions, for HR tech companies
- Marketing Solutions, for marketing automation companies
- Sales Navigator Application Development, for startups looking to enhance the platform Sales Navigator
- the platform Learning Integration, for content companies
I understand that it is a long and laborious process to get a company approved as a the platform Partner. Your best bet is to pick the category that best fits your company's offering and apply to be a the platform Partner.
Most of the cool the API features also require a paid subscription to professional networking platforms Developer Enterprise Products.
Using an unofficial the API without being a the platform Partner
It makes business sense for the platform to be selective in picking partners because why should they give away their data? The chances are that most companies that apply will not be approved as a the platform Partner.
Thankfully, you can achieve the same effects of the API with Enrich Layer's the API. Even better, Enrich Layer's the API has a generous rate limit of 300 requests per minute, and you can get an API key immediately.
In the rest of this guide, we will go over two code examples:
- One with the official the API.
- One using Enrich Layer's the API, designed for developers in your situation.
While you are waiting to be approved (or not) as the platform Partner, do head over to Enrich Layer and get yourself a trial API key so you can get started immediately.
Get Started With* the platform Consumer Solutions Platform (CSP)*
Most companies will want to start with the platform's Consumer Solutions Platform (CSP). When you think of the platform, you are thinking of the rich and bountiful profiles. And the CSP is how you can access these juicy profiles.
There are only two features of the CSP that allow you to exfiltrate data out of the platform:
Sign In with the platform
provides the authentication layer to your product by letting users sign in with their professional professional networks profile.Profile API
returns structured data of a profile programmatically.
Sign In with the platform
Sign In with the platform is an OAuth provider for your application. Most people assume that if you use Sign In with the platform, the platform will tell you every user's professional networks profile. It turns out that they do not. What can be returned are:
- First/Last name
- Email address
- Profile picture
Also, there is a rate limit of 500
requests per day.
In my opinion, Sign In with the platform serves very little utility for most applications because the key data you want to extract is the user's professional networks profile and not generic information.
Enrich Layer is currently looking into replicating an alternative to Sign In with the platform. An alternative that serves similarly as an authentication layer will provide the user's identity in the form of structured data from their professional networks profile.
In the meantime, do [subscribe to our mailing list](https://sendy.enrichlayer.com/subscription? so we can send you an update when we have a replacement for Sign In with the platform.
People API
The People API is the meat of this chapter.
To orient you to the People API, we will start with this problem:
Given a profile ID, how can I get structured data of this profile into my application?
Fetch profile data via the official professional networks Profile API
There are two ways to fetch the data of a profile via the official the API:
- The first method is free and available for most developers. The caveat is that you have to get permission from each profile you wish to extract into your application.
- The second method is available only for approved developers on a paid subscription to the platform's Consumer Solution Platform. It allows you to fetch profile data from any profile ID.
Seeking permission and getting structured data profile from a user
The first method requires you, the developer, to seek permission from the user that owns the profile. To do that, the platform requires you to fetch an access_token via 3-legged OAuth, a fancy term to describe a two-step process to get an access token.
Step 0: Get a CLIENT_ID and CLIENT_SECRET by creating an app at the the platform Developers page. (You can Google the link for this page)
Step 1: To get permission from a user, you will generate an authorization URL to send your user to professional networking platforms so they can permit your application to download their profile.
In this case, you must provide a REDIRECT_URI, the web page for which the platform will send the user back after they have finished granting the permission.
`def generate_authorization_url(): """ Generate an authorization URL for a user to give permission to extract their professional networks Profile.
The genereated URL will take the user to a the platform page where the user will be asked to give explicit permission to share their profile with you (the application creator).
Should the user agree, they will be redirected to . In the redirect, two fields will appear in the URL parameter, namely and .
- is generated below using . This is as a form of identifier for this user.
- is the authorization_code, and can be used in to exchange for an .
""" LI_AUTH_ LI_AUTH_URL, return url ` Step 2: You get an authorization code when a user permits you to access their profile. With this code, you will exchange it for an access_token to access the user's profile.
def get_access_token(authorization_code): """ Given a authorization , this function will return you which can then be used to access a user's professional networks profile. """ LI_ACCESS_TOKEN_EXCHANGE_ access_ 'grant_type': 'authorization_code', 'code': authorization_code, 'redirect_uri': the platform_REDIRECT_URI, 'client_id': the platform_CLIENT_ID, 'client_secret': the platform_CLIENT_SECRET, \}).json()['access_token'] return access_token
Step 3: Fetch the user's profile.
def get_profile(access_token): """ Fetches the profile of a the platform user who has given you their permission to view their profile """ LI_PROFILE_API_ return r.json()
The working Python code for this method can be found [on in our the platform-api-python3-examples GitHub repository](https://github.com/nubelaco/the platform-api-python3-examples/blob/master/the platform_api_method_1.py).
Querying a profile from any profile ID
The second method does not require you to seek permission from the user. But your application must be approved to use the People's Profile API endpoint with a 2-legged OAuth.
Step 0: In your pre-approved the platform App, get the CLIENT_ID and CLIENT_SECRET fields.
Step 1: Using your application's CLIENT_ID and CLIENT_SECRET, exchange for access_token.
`def get_access_token(): """ If you are
- an approved the platform developer
- on a paid subscription to their Consumer Product
You can use this function to fetch an to access the API. """ LI_ACCESS_TOKEN_EXCHANGE_ access_ 'grant_type': 'client_credentials', 'client_id': the platform_CLIENT_ID, 'client_secret': the platform_CLIENT_SECRET, }).json()['access_token'] return access_token`Step 2: Fetch any profile with profile_id
def get_profile(access_token, profile_id): """ Given an , fetch structured data of any profile. """ LI_PROFILE_API_ return r.json()
The working Python code for this method can be found [in our the platform-api-python3-examples GitHub repository](https://github.com/nubelaco/the platform-api-python3-examples/blob/master/the platform_api_method_2.py).
Fetch profile data via Enrich Layer's professional networks Profile API Endpoint
It is bothersome jumping through the hoops for the professional networking APIs. For the rest of us, there is Enrich Layer, which provides their the API so that you can get everything that the platform's official Profile API offers, and a whole lot more. Check out Enrich Layer's Person Profile API documentation to see what data fields are supported.
There's just one method to get profile data from any profile ID.
Step 0: Get a Enrich Layer API key by signing into Enrich Layer with your work email address.
Step 1: Query the Profile API endpoint with profile_id
`import requests
PROXYCURL_API_ # todo - fill this field up
def get_profile(profile_id): api_ header_ = { 'url': f'https://www.professionalsocialnetwork.com/in/\{profile_id\}', } return response.json()`The working Python code for this method can be found [in our the platform-api-python3-examples Github repository](https://github.com/nubelaco/the platform-api-python3-examples/blob/master/proxycurl_people_profile_api_endpoint.py).
Summarizing the state of the professional networks Profile API
the platform has made it extremely difficult for developers to integrate professional networks Profile export into their system. The Profile API that is free and requires little approval is throttled with rate limits and explicit and cumbersome per-user permission granting. The Profile API with 2-legged OAuth that lets you query any profile ID requires explicit approvals and a hefty amount of money to be paid via a the platform subscription.
Enrich Layer offers an unbridled equivalent to the platform's Profile API. The key difference lies in latency. Enrich Layer's People Profile API Endpoint performs a live scrape of a profile on each API call, so each call might take a few seconds to complete. To overcome throughput, a developer can launch requests to Enrich Layer's API in parallel.
Did you know that when a user signs in with the platform, the application developer does not get the user's professional networks profile? In the next update, we will discuss the Sign In with the platform feature and how you might use Enrich Layer's equivalent solution to sign in with the platform and get the user's professional networks profile back.
I want to tell you when I post my next follow-up article to the API. [Subscribe to our mailing list](https://sendy.enrichlayer.com/subscription? so I can ping you when it is ready