LinkedIn Community Management API: Access and Tiers

By Mika ReyesPublished 8 min read

The short answer

The LinkedIn Community Management API is the vetted LinkedIn product for managing company Pages and personal profiles: posts, comments, reactions, and analytics. Every app starts on Development tier, capped at 500 calls a day per app, and moves to Standard tier only after a second review with a screen recording. Adeli holds Community Management API access, so your users can connect LinkedIn without your own application.

The LinkedIn Community Management API is LinkedIn's vetted product for software that manages company Pages and personal profiles on someone's behalf: publishing posts, handling comments and reactions, and reading Page and post analytics. LinkedIn reviews the app twice, once for Development tier and again for Standard tier, and the second review needs a working product and a screen recording.

Marketing platforms, scheduling tools, and vertical SaaS products that touch LinkedIn usually end up applying for it. This explainer covers what's in it, both access forms, the OAuth scopes, and the data rules that come with approval.

What does the LinkedIn Community Management API include?

The Community Management API bundles the LinkedIn endpoints for Pages and profiles into five use cases that you pick on the access form. LinkedIn's Community Management overview lists them:

Use case What it covers
Page Management Page details, Page posts, comments and reactions, admin roles
Page Analytics Follower, Page, and share statistics, social metadata, video analytics
Member Analytics Follower and post statistics for a member's own profile
Profile Management Posts, comments, and reactions on behalf of an individual member
Employee Advocacy Notifying employees about Page activity, follower search for @mentions

Paid campaigns are a different product, the Advertising API. So is "Sign In with LinkedIn". If you only need to publish, our LinkedIn posting API guide shows the requests themselves.

What OAuth scopes does the Community Management API grant?

Approval grants twelve member permissions, all used through three-legged OAuth, where each LinkedIn member consents for their own profile or the Pages they manage. The list in LinkedIn's Increasing Access table:

Scope What it lets your app do
w_member_social Post, comment, and react as the member
w_member_social_feed Create, edit, and delete the member's comments and reactions
r_member_postAnalytics Read analytics for the member's posts
r_member_profileAnalytics Read the member's profile analytics, such as followers
w_organization_social Post, comment, and react as a Page
w_organization_social_feed Manage social actions for Pages the member administers
r_organization_social Read a Page's posts, comments, and reactions
r_organization_social_feed Read social actions on Pages the member administers
rw_organization_admin Manage Pages and read their reporting
r_organization_followers Use follower data to mention followers in posts
r_basicprofile Read the member's name, photo, headline, and profile URL
r_1st_connections_size Read the member's first-degree connection count

Two things trip teams up here:

  • A scope isn't enough for Pages. The member also needs a Page role. Posting as a Page needs ADMINISTRATOR, CONTENT_ADMIN, or DIRECT_SPONSORED_CONTENT_POSTER, and LinkedIn says Page access can't be granted through the API, only in LinkedIn's own UI.
  • Reading a member's own posts isn't included. r_member_social is, in LinkedIn's words, "a closed permission". Adeli's analytics show the effect: for a personal profile, post analytics cover only posts published through Adeli, while a Page's recent posts include ones made directly on LinkedIn.

Tokens last 60 days by default. Refresh tokens and token expiry are covered in the LinkedIn API integration guide.

How do you get Community Management API access?

You get Development tier by requesting the Community Management API on a brand-new developer app, tied to your company's LinkedIn Page, and passing LinkedIn's business vetting. The steps from LinkedIn's quick start and app review page:

  1. Create a LinkedIn Page for your company, if you don't have one.
  2. Create a developer app whose name and logo contain no part of the LinkedIn or Microsoft names.
  3. Have a super admin of the Page verify the app.
  4. Request the Community Management API from the app's Products tab and fill in the access form.
  5. Complete the vetting survey within 21 days, and confirm your business email.

LinkedIn checks five things: an approved use case, a verified business email, a verified organization, a website and domain that match the organization, and the app's verification by the Page. The API is open to "registered legal organizations for commercial use cases only", and personal email addresses fail vetting.

Most existing apps fail on one rule: the Community Management API must be the only product on the app. An app that already has the Advertising API, Share on LinkedIn, or a pending request shows the option grayed out, per LinkedIn's partner support guide. Request it on a new app.

If the request is rejected, LinkedIn says to create a new app and apply again; the same app can't re-apply. The exception is a request closed as "Insufficient Details", for example an unfinished survey, which gets a Reapply button on the same app.

What are the Development tier limits?

Development tier allows 500 API calls per app and 100 per member in each 24 hours, blocks every BATCH_GET call, and turns off push notifications for social actions. LinkedIn's tier table adds a deadline: you're expected to build your core use cases within twelve months of getting access.

Development tier Standard tier
Purpose Build and test the integration Live production
Calls per app, per 24 hours 500 No tier cap
Calls per member, per 24 hours 100 No tier cap
BATCH_GET endpoints Not allowed Allowed
Social action webhooks Disabled Available
How you get it Vetting after the access form A second review with a screen recording

Those 500 calls are shared by every customer on your app, which shapes the product design. On Adeli, the LinkedIn account insights endpoint doesn't call LinkedIn on every request. It serves a snapshot refreshed at most every six hours, and returns the last snapshot marked stale when LinkedIn rate-limits a refresh. The LinkedIn API rate limit guide covers what happens when you hit the cap.

The BATCH_GET block shows up as a 403 even on calls that look like single reads:

"According to LinkedIn's Community Management API Migration guide this may happen for BATCH_GET requests as they are limited in the Development Tier. I would not expect it to happen in my case" Krzysztof Chris Miskowski, Stack Overflow (June 2023)

How does the Standard tier access form work?

The Standard tier access form appears under My Apps, then Products, once the app has Development tier, and it asks for a finished integration, a privacy policy, test credentials, and a screen recording of every use case you tick. LinkedIn reviews the request for an approved use case, a valid privacy policy, compliance with its terms and data storage requirements, and a recording that shows all core functionality.

The recording has fixed test cases per use case:

Use case ticked What the recording must show
Page Management Full OAuth consent, posting to the Page, a member's comment on that post shown in your app, and which commenter profile fields you display
Page Analytics How the Page's post performance, such as reactions, appears in your app, and any engager profile fields you show
Profile management (Executive Management in the test cases) Full OAuth for a profile, posting to it, another member's comment, and the commenter fields shown
Employee Advocacy The profile cases above, plus how aggregate engagement on the post is displayed

LinkedIn wants it high resolution, downloadable, limited to your app's screens, and preferably narrated. Functionality you don't have gets said out loud in the recording. LinkedIn also warns that changing the app's functionality after review "may require re-review".

A rejection is final for that app. LinkedIn's app review page says a rejected Standard tier request means a new app and a new Development tier request. When we applied for Standard tier, that rule decided how we prepared: we treated every box we ticked as a promise the recording had to prove, and only ticked use cases the product needed.

LinkedIn is also rolling out a Technical Sign Off for Community Management partners: a demo, arranged through a LinkedIn business development contact, against a list of required capabilities. The integration requirements run from OAuth and token refresh (CM-001 to CM-006) through organic Page posts, reporting, and webhooks (to CM-028).

What data rules come with the Community Management API?

Approval comes with strict member-data rules: use LinkedIn data only to manage the Pages or profiles it came from, show it only inside your app, and keep it briefly. LinkedIn's restricted uses page lists them:

  • Purpose. Member data is only for managing LinkedIn Pages or profiles. Advertising, sales, recruiting, lead generation, and CRM enrichment are out.
  • No export. Member data "can only be displayed via your application" and can't be transferred, "including to your customers".
  • No combining. It can't be merged with your data, other LinkedIn data, or third-party data.
  • Short storage. Member social activity data can be stored for 48 hours; most member profile data for 24 hours.
  • Limited audience. Data for a Page or profile may only be shown to people associated with it.
  • No social feeds. No embedding a feed of company updates on a website or intranet.
  • No shared profiles. One individual's profile can't be used to manage several customers' accounts.

The no-export rule is the one to read twice if you're building an API product, because there LinkedIn data reaches end users through someone else's app. Build the retention jobs and per-customer isolation before you record the Standard tier video. The reviewer checks for them.

LinkedIn Community Management API vs. other LinkedIn products

Pick the Community Management API when your product manages organic LinkedIn activity for Pages or profiles; pick something else for anything paid or sign-in only.

You're building LinkedIn product Vetting
A scheduler or publisher for Pages and profiles Community Management API Development, then Standard tier
A "share to LinkedIn" button for one member's own profile Share on LinkedIn None, self-serve
Campaign management and ad reporting Advertising API Development, then Standard tier by support ticket
Login with a LinkedIn account Sign In with LinkedIn using OpenID Connect None, self-serve

LinkedIn's Advertising API Standard tier review can take up to 30 business days. LinkedIn states no review time for the Community Management API.

How does Adeli fit in?

Adeli is a social media API that already holds LinkedIn Community Management API access, so your product can offer LinkedIn without its own developer app, vetting, or tier review. Your users connect a personal profile or a Page they administer through Adeli's connect flow, and you call one API for every network.

On LinkedIn, Adeli covers:

  • Publishing text, image, multi-image, video and PDF document posts to a profile or a Page, through the posting API.
  • Analytics for Pages and profiles: followers, impressions, reactions, comments, and shares, through the analytics API.

Comments aren't part of Adeli's LinkedIn support. Pricing is free to start, and the LinkedIn publish docs list every field.

faq

Frequently asked questions

How long does LinkedIn Community Management API approval take?

LinkedIn publishes no review time for the Community Management API. Its partner support guide says the vetting survey must be submitted within 21 days of being triggered, and that follow-up requests for documents can delay the decision. The only stated timeline, up to 30 business days, applies to Advertising API tier upgrades.

Can I add the Community Management API to an app that already has other LinkedIn products?

Not directly. The Community Management API must be the only product on the app that requests it, so the option is grayed out on an app with other products. LinkedIn's workaround is to get approved on a new app, then request Standard tier on the existing app and enter the new app's client ID.

Can the Community Management API read a member's personal posts?

Only with r_member_social, which LinkedIn lists as a closed permission that isn't accepting requests. The Community Management API does grant r_member_postAnalytics, so an app can read analytics for a member's posts, and w_member_social to publish on their behalf.

Power your next project
with one ads & social media API

Give your users publishing, scheduling, and analytics through one integration your team can actually maintain.

Try with agents

Start with free credits. No credit card required.