Data API Documentation
Data API lets you retrieve real-time LinkedIn data through an API interface, even if you don't have or don't want to connect your own LinkedIn account. Here, you’ll find an explanation of the API design philosophy and implementation details.
RPC-style
Instead of the commonly used REST approach, Data API follows an RPC-style design:
- All requests are POST requests structured as action calls, such as
companies.search
, combining a domain and a function name. - Each function accepts a specific body JSON, depending on the API endpoint, which is treated as the function's parameter.
This approach provides greater flexibility in defining actions, as the API is action-oriented rather than resource-oriented.
Request timing
Data API requests are not executed instantly. For example, simple actions like retrieving basic information about a person might take around 20 seconds, while more complex operations, such as fetching all company employees, can take several minutes. To handle this, we use a special approach for result handling which ensures reliable data delivery.
Array requests
All endpoints in Data API are designed to support array requests. For instance, people.get
accepts an array of LinkedIn profile URLs to retrieve information about multiple people, and companies.search
allows searching multiple companies in a single API call.
For example, retrieving information about one person using people.get
takes around 20 seconds. Making 10 separate requests for 10 different people would take approximately 200 seconds in total. However, combining all 10 profiles into a single array request reduces the total execution time to about 150 seconds.
URL normalization
Data API normalizes all LinkedIn URLs in responses, regardless of the format provided in the request body. Normalized URLs consistently follow these rules:
- Use
https
protocol. - Include
www
subdomain. - Exclude trailing slash (
/
).
For example, if a request body includes a URL like http://linkedin.com/in/person1/
, the response will return it as https://www.linkedin.com/in/person1
. Consider this behavior when implementing URL comparisons or storage in your integration.
Handling missing values
When certain data is unavailable on LinkedIn, some fields in the API response may return as null
or empty array ([]
). Missing fields are always explicitly included in the response rather than being omitted.