Pages Data Portability API Overview

LinkedIn is providing the Pages Data Portability API product for third-party developers and business users in response to certain requirements of the Digital Markets Act (DMA). The API Product packages many APIs to access the data from the LinkedIn platform.

What is the DMA?

The DMA is a new EU competition law that regulates large online platforms to ensure fair competition, protect consumer rights, and foster innovation in the digital economy. Consistent with DMA obligations regarding business user data access, LinkedIn is providing a set of APIs for Company Page admins to access: 1) data they have provided on the LinkedIn platform or generated in the context of using LinkedIn and 2) data provided or generated by LinkedIn members through their engagement with Pages (subject to their consent).

What is a Company Page?

A Company Page is an entity that represents an organization on LinkedIn. The Company Page is where a company can post organic content and interact with members on LinkedIn.

See Creating a LinkedIn Page guide for instructions on creating a company page.

See here for more information on Company Page roles and managing Admins.

Permissions

Permission Description
r_dma_admin_pages_content Retrieve your Organization's posts, newsletters, articles, and live videos, including comments, reactions, and other engagement data. Retrieve your Organization's social action data (e.g., likes, comments), messages, page follows, and other activity data. Retrieve your Organization's lead gen forms, lead gen form responses, and leads analytics. Retrieve your Organization's pages and their reporting data (including follower, visitor, content, and other analytics). Use your basic profile including your name, photo, headline, and public profile URL.

Pages Admin Experience

A page admin can retrieve the information with the following features from appropriate APIs.

Access Management

To find out who can access your Organization's data, the following 2 APIs are provided:

  1. The Organization Access Control API returns the Organization's access control information, such as the list of admins authorized to access the organization page data.
  2. The Organization Authorizations DMA API allows you to access an organization's administrative data on its behalf.

Analytics APIs

The following APIs are provided to analyze the posted content:

  1. The creator analytics API returns analytics metrics for content created on LinkedIn. Currently, the API supports analytics metrics for videos, articles, and newsletters.
  2. The Organization Search Appearance API returns the search appearance analytics data for the Organization (i.e., Company, School, and Showcase) data.
  3. The Organizational Page Content Analytics DMA API provides a single Post Analytics (SPA) demographics breakdown, including impressions, reactions, comments, reposts, and clicks.
  4. The Organizational Page Edge Analytics API will provide visitor and follower analytics for an organizational page.

To find different analytics data for the employee and Organization's admin-generated content.

  1. The Employee Broadcast Analytics API provides broadcast analytics of admin-recommended posts.
  2. The Employee Broadcast Audience Demographic Analytics API returns aggregated audience and employee demographic for the admin-recommended broadcasts.
  3. The Employee Broadcast Audience Time Series Analytics API provides the audience time series analytics across all broadcasts for a particular organization in the provided optional time interval.
  4. The Employee Broadcast Highlights API retrieves aggregated employee analytics across all broadcasts for a particular organization.
  5. The Organization Email Domain Mapping API retrieves domain mappings for different use cases.

Business Manager

The following APIs are provided to get entity and account for your business manager for your relationship with the Organization.

  1. The Business Manager Account Organizations API returns an entity representing the relationship between the Business Manager Account and the Organization.
  2. The Business Manager Accounts API returns business manager accounts.

Events

The following Events APIs are provided:

  1. The Event Role Assignment API returns the event attendees' data and its associated role in an event.
  2. The Events API returns the data of an event and also provides a finder method to get all events for a page organizer.
  3. The Live Videos API lets you get data for LinkedIn Live Videos, providing information about the Organization's live video data.
  4. The Live Viewer Count Analytics API returns analytics data for the live viewer count of live videos.

Feed

All the content your organization page admins create is available to read. This includes all the posts and comments. It also consists of the Social Metadata API that returns the social actions on the organic and sponsored content—and ingested content summaries API, returning a resolved URL that a given article or ingested content urn points to.

  1. /dmaComments provides comment data, such as author and comment text.
  2. /dmaContentPublicUrl is used to fetch public URLs for Urns that cannot be created by companies or in engagement with company content
  3. /dmaFeedContentsExternal provides finders for posts, reactions, comments, and instant reposts. These will return a list of Urns (e.g. ReactionUrn, CommentUrn) of content created by a given author or under a given content Urn. It can take up to 48 hours for data to be available.
  4. /dmaIngestedContentSummaries provides the URL for the web page that an Urn is referencing.
  5. /dmaInstantReposts provides instant repost data, such as the reposter and created time.
  6. /dmaReactions provides reaction data, such as the reactor, reaction type, and created time.
  7. /dmaSocialMetadata provides social metadata for an entity, such as its reaction count and comment count.
  8. /dmaPosts provides post data, such as author, post text, and post visibility.

Identity

The following APIs are provided to find profile information about yourself or another member. Note that the member's privacy setting governs the information returned.

  1. /me API returns limited fields from a member's LinkedIn profile for the self-view use case.
  2. /people API returns limited fields from a member's LinkedIn profile, subject to the member's privacy settings.

Lead Gen

  1. The Lead Analytics API provides analytics for leads collected from Lead Gen Forms.
  2. The Lead Gen Form Response API provides information on leads collected from Lead Gen Forms.
  3. The Lead Gen Forms API provides information on forms belonging to an organization.

Messaging

To view page messaging messages and threads, the following APIs are provided:

  1. The Page Messaging Messages DMA API retrieves messaging data from a messaging thread within a page's mailbox.
  2. The Page Messaging Threads API provides conversation data within a page's mailbox in the LinkedIn platform.

Notifications

The Organizational Page Notifications API is provided to retrieve the page admin notifications (e.g., reactions to page updates, comments on page updates, mentions of your page) for the offered organizational page urn.

Pages Follows

The Organizational Page Follows API is provided to retrieve follow-related information of members as well as other organizational pages of an organizational page.

Pages Lookup

The Organization Lookup API is available to return organization name for the provided set of organization IDs.

Pages Profiles

  1. The Organizational Page Profiles DMA API represents an organizational page profile with a unique URL that members can land on and interact with (such as follow, comment, view posts, etc.).
  2. The Organizations API returns the Organization (i.e., Company, School, and Showcase) data.

Products

  1. The Organization Products DMA API is used to fetch product information. The product info includes product name, description, URL, logo, category, CTA, lead-gen form, etc.
  2. The Pages FeaturedContentGroups API provides featured content group information of an organizational page and topic.

Publishing

  1. The ContentSeries API returns details for a content series (i.e., owner, subscriber count, issues, cadence, etc.).
  2. The OriginalArticles API returns details for original articles (i.e., authors, title, cover image, content HTML, etc.).
  3. The SeriesSubscribers API returns all newsletter subscribers, which is the collection of SeriesSubscribers (including Subscriber PersonUrn and lastModifiedAt time).

Employer Brand

The following Employer Brand APIs are provided:

  1. The Organization Career Page Settings API returns the career page settings for the organization.
  2. The Organization Commitment API returns the commitments data for the organization. Commitments are values organizations care for (e.g. Diversity, Equity & Inclusion (DEI)).
  3. The Organization Content Revisions API returns the content revisions in the life page for the organization.
  4. The Organization Life Page Traffic Statistics API returns the life page traffic statistics for the organization.
  5. The Organization Photos API returns the photos uploaded to be displayed on the organization.
  6. The Organization Relationship Statistics API returns the relationship statistics between a given organization and its related organizations for a certain time period, sorted by the statistical type.
  7. The Organization Targeted Contents API returns the targeted contents which are set by admin for the organization and shown in the life page.
  8. The Organization Workplace Policies API returns the workplace policies data for the organization.
  9. The Organization Talent Brand Analytic Summaries API returns the analytics summary data (e.g. the total number of visitors) for the organization.

Standardized Data

You can access certain of LinkedIn's standardized data through the APIs to retrieve degrees, fields of study, geo, industry, seniority, skills, and titles.

Verification Agent

You can read verification agents metadata using /dmaVerificationAgents. This resource is mainly used to manage domain page when company admin reads an email domain for their respective organizations.

Member Personal Data

Many APIs return member information, such as a commenter on a post, the creator of a post, or the content of a member post. As explained in this section, LinkedIn's members have control over returning certain data through the Pages Data Portability API product.

Member Setting to Opt In to Sharing Data

The Page owners exporting your data setting allows members to opt in to sharing some of their profile data and individual interactions with Pages via the Pages Data Portability API. When a member opts in to sharing their data by turning this privacy setting "on", the appropriate fields will be part of the API response.

When the privacy setting is turned "off", that means a member has not opted in to sharing their data, and no member urn or ID will be part of the API response. This setting is "off" by default and is available to members globally.

Member Data Obfuscation

Some of the APIs that are included in the Pages Data Portability API product may obfuscate member data subject to members’ Page owners exporting your data setting. The documentation for each API explains which fields may be removed for privacy purposes.

How to use Pagination Cursor and Max Pagination Count

Some of the APIs that are included in the Pages Data Portability API product use a pagination cursor to navigate through the data. This pagination cursor is used for the APIs that may potentially return a large amount of content, such as an organization's followers.

  • PaginationCursor is an alphanumeric token of type String. It is similar to pagination start, representing the starting index to fetch results. When a null cursor is passed in, this is the equivalent of having start = 0, and results from the beginning of the list will be fetched instead. Clients do not ever generate the paginationCursor token. Instead, a new paginationCursor pointing to the starting index of the next set of results is always returned in the response metadata of the response (via the PaginationCursorMetadata.nextPaginationCursor field). If the response metadata contains a null nextPaginationCursor, the end of the result list has been reached.

  • MaxPaginationCount of type Integer. It is similar to pagination count, indicating the number of results the client would like to fetch. Unlike pagination count, maxPaginationCount cannot determine when the end of the result list has been reached by comparing the maxPaginationCount sent for a given request to the number of actual results returned. Instead, clients need to look for a null paginationCursor returned in the response metadata to know when the end of the result list is reached. Clients can set maxPaginationCount to any number from 0 to the maximum number authorized by LinkedIn's APIs.

Scenario where a pagination cursor can be used

  • If you want to find followers for an organization, you can use the endpoint https://api.linkedin.com/rest/dmaOrganizationalPageFollows?q=followee. A sample request for this will look like hhttps://api.linkedin.com/rest/dmaOrganizationalPageFollows?q=followee&followee=urn%3Ali%3AorganizationalPage%3A{ORGANIZATION_ID}&edgeType=MEMBER_FOLLOWS_ORGANIZATIONAL_PAGE&maxPaginationCount=8&paginationCursor={PAGINATION_CURSOR} (See Organizational Page Follows API for more details.).

  • The response from this API may contain nextPaginationCursor in metadata. You can use the nextPaginationCursor value, like https://api.linkedin.com/rest/dmaOrganizationalPageFollows?q=followee&followee=urn%3Ali%3AorganizationalPage%3A {ORGANIZATION_ID}&edgeType=MEMBER_FOLLOWS_ORGANIZATIONAL_PAGE&maxPaginationCount=8&paginationCursor={nextPaginationCursor}. This URL will return the next set of responses for the API.

How to apply to the Product

Developers can apply for access to the Pages Data Portability API product on LinkedIn's developer portal. As part of the application process, a Page admin or third-party developer must complete and submit the required access form, including with valid business data. LinkedIn will verify the identity and legitimacy of the business seeking access. Product access is granted only to verified developers. Upon successful submission of the product application, developers should expect to learn about the approval or denial decision in 7 business days. A successfully provisioned developer application can invoke the APIs using the industry standard OAuth protocol to generate access tokens.

Step 1: Apply for API Access

  1. Create a LinkedIn Page.
  2. Create a developer application in the Developer Portal.
  3. Apply to Pages Data Portability API under your app's Products tab. Pages Data Portability API Product
  4. Complete the access form.

FAQ

  1. What are different Organization Roles- You can Search for access control information by member or organizational entity URNs. Learn more
  2. How do I get started with LinkedIn's developer program- You can use the quick start guide to get started with the LinkedIn APIs.Learn more
  3. What are core API Concepts- Learn more about core API concepts
  4. What is API Versioning? Linked has introduced API versioning across our API Programs. We'll be ensuring your active integrations continue working while you're working on integrating our latest changes. Learn more
  5. What are the best practices to use? Use the guidelines from this article to build an application member's trust to handle and secure their sensitive data.
  6. How to handle API Errors- LinkedIn has shared this article about recommended practices to handle API errors.
  7. How do I manage access tokens-LinkedIn follows OAuth access tokens Pages Data Portability API access. Learn more.