Integrations

LinkedIn

Connect LinkedIn to publish posts to your profile and Company Pages, reply to comments, track page and follower analytics, run ad campaigns, and sync leads.

OAuth authorizationApp reviewAds & SocialLinkedIn API docs

You end up pasting the Client ID and Primary Client Secret from the Auth tab of your app in the LinkedIn Developer Portal, plus the list of API products that app has been granted.

App review before this connector works

LinkedIn reviews and vets your app for the Community Management API before it can touch organization Pages or member post/profile analytics, and requires a second Standard-tier review before production volumes; only Sign In with LinkedIn and posting to the signed-in member's own feed are self-serve.

Typical wait
not published by LinkedIn; developers commonly report several days to a few weeks for Development tier and weeks to a few months for Standard tier
Cost
Free
Blocked until approved
Without Community Management approval you cannot read or post on a company Page (r_organization_social, w_organization_social, rw_organization_admin), read Page followers or social actions, or read member post/profile analytics (r_member_postAnalytics, r_member_profileAnalytics). On Development tier the app is capped at 500 API calls per 24h per app and 100 per member per 24h, BATCH_GET is blocked entirely and social-action webhooks are disabled — so it is a build-and-test tier, not production.
Works meanwhile
Yes. Create the app, get client id/secret instantly, and add the self-serve products 'Sign In with LinkedIn using OpenID Connect' and 'Share on LinkedIn' — those are granted immediately and let you run the full OAuth flow, read the member's basic profile and email, and publish/update/delete posts on the signed-in member's own feed via w_member_social.

Where to apply: linkedin.com/developers/apps > your app > Products tab > request Community Management API (Development tier access request form). Standard tier is a second form that appears under My Apps > Products once Development tier is granted, and requires a screencast.

  • A super admin of the LinkedIn Page for your organization must verify the app first (Settings tab > verify URL). Nothing is reviewed until that is done.
  • Personal email addresses fail vetting — you must use, and verify, a business email on your organization's domain, plus legal name, registered address, website and privacy policy.
  • Only registered legal organizations with commercial use cases are accepted; hobby projects and personal automations are rejected.
  • If you are rejected you CANNOT re-apply with the same app — you must create a brand new app and start over.
  • The app name must not contain any part of the LinkedIn or Microsoft name or logo (even 'Linked' or 'In').
  • Development tier is time-boxed: LinkedIn states you must complete your integration and testing within twelve months of being provisioned Community Management access, so treat Standard tier as a deadline rather than an option.
  • The Standard-tier screencast must show the full OAuth consent, a post being published, a member comment being displayed, and every LinkedIn personal-data field your UI shows — vague or partial recordings get bounced.
  • Displaying a company page feed on your own website is an explicitly restricted use case and will be rejected.
  • Reading another member's feed or full profile is not buildable: r_member_social and r_full_profile do not appear anywhere in LinkedIn's current permissions table, and no Community Management use case grants them. The r_member_* scopes that do exist (r_member_postAnalytics, r_member_profileAnalytics) only cover the signed-in member's own posts and profile.
  • Version-pinned and short-lived: LinkedIn sunsets each Marketing API version roughly a year after release (202508 was sunset on 17 August 2026), so a Community Management integration left unattended will break on a version sunset even after approval.
Setup time
15 min for a self-serve app, days to weeks if you need the Community Management or Advertising API
Auth
OAuth authorization
API base URL
https://api.linkedin.com/rest
Rate limits
Throttles are daily quotas applied per application and per member, and they differ by product and endpoint. Your app's current limits and usage appear on its Analytics tab in the Developer Portal.

Before you begin

  • A LinkedIn member account that is a Super admin of the LinkedIn Page the app will be associated with
  • A LinkedIn Page to associate the app with, created first if you do not already have one
  • A Super admin of that Page available to open the verification link LinkedIn generates
  • Self-serve products only cover Sign In with LinkedIn using OpenID Connect and Share on LinkedIn, which posts to a personal profile
  • Posting to a Company Page requires the Community Management API, an approved product that asks for a registered company, a verified Page and a screencast of your integration
  • Ad campaign tools require Advertising API approval through the LinkedIn Marketing Partner process

Get your credentials

Create the app against a LinkedIn Page

Go to linkedin.com/developers/apps and click Create app. Enter the App name, pick the LinkedIn Page that owns it, add a Privacy policy URL and a square logo, tick the API Terms of Use box and click Create app.

Open this screen →

www.linkedin.com/developers/apps/new
Search documentationNorthwind Supply Co.
My apps / Create an app

Create an app

Apps are always owned by a LinkedIn Page.

App details
App name
PopMCP Integration
LinkedIn Page
Northwind Supply Co.
Privacy policy URL
https://example.com/privacy
App logo
logo-square.png
I have read and agree to these termsLinkedIn API Terms of Use
Create app

The LinkedIn Page field is mandatory. Without one the Create app button stays disabled.

Verify the app with a Page admin

Open the Settings tab and click Verify next to the associated Page. Send the generated link to a Super admin of that Page, who opens it and confirms.

Open this screen →

Request the API products you need

Open the Products tab and click Request access on each product you need. Sign In with LinkedIn using OpenID Connect and Share on LinkedIn are granted straight away, and Community Management API and Advertising API go into review.

Open this screen →

www.linkedin.com/developers/apps/2210348/products
Search documentationNorthwind Supply Co.
My apps / PopMCP Integration

PopMCP Integration

Northwind Supply Co.

SettingsAuthProductsAnalytics
ProductAccessAdded
Sign In with LinkedIn using OpenID ConnectSelf-serveAddedMar 4, 2026
Share on LinkedInSelf-serveAddedMar 4, 2026
Community Management APIRequires reviewIn reviewMar 4, 2026
Advertising APIMarketing Partner programmeNot requested-
Request accessView product catalogue

Whatever ends up granted here is what you type into PopMCP's API products field.

Add the PopMCP callback as an authorized redirect URL

Open the Auth tab, click the pencil icon on OAuth 2.0 settings, then click Add redirect URL. Paste the callback from the PopMCP connect screen and click Update.

Open this screen →

www.linkedin.com/developers/apps/2210348/auth
Search documentationNorthwind Supply Co.
My apps / PopMCP Integration

PopMCP Integration

Northwind Supply Co.

SettingsAuthProductsAnalytics
OAuth 2.0 settings
Authorized redirect URLs for your app
https://app.popmcp.com/oauth/linkedin/callback
Add redirect URLUpdate
OAuth 2.0 scopes
Granted
openid, profile, email, w_member_social
Pending product
r_organization_social, w_organization_social

A URL containing a # is rejected. A URL containing ?id=1 is saved without the query string.

Copy the Client ID and Primary Client Secret

Still on the Auth tab, find Application credentials and copy the Client ID. Click Show on the Primary Client Secret, click Copy, and paste both into PopMCP along with your granted products.

Open this screen →

www.linkedin.com/developers/apps/2210348/auth
Search documentationNorthwind Supply Co.
My apps / PopMCP Integration

PopMCP Integration

Northwind Supply Co.

SettingsAuthProductsAnalytics
Application credentials
Client ID
86xk2n9qw4****
Primary Client Secret
WPL_AP1.****9fQz
Created
Mar 4, 2026
Expires
Mar 4, 2028
ShowCopyCreate new client secret

An app can hold two client secrets at once, which is how you rotate without downtime.

Connect in PopMCP

Open your workspace, choose LinkedIn in the marketplace, and fill in the connect dialog:

FieldWhat to enter
Client IDtextYour LinkedIn app's "Client ID" from linkedin.com/developers/apps → Auth. Add the callback URL above to that app's "Authorized redirect URLs for your app" first.
Client SecretsecretThe app's Primary Client Secret (same Auth tab). Stored encrypted; used server-side only and never shown again.Encrypted with AES-256-GCM on save and never shown again.
API products your app hastextshare, community, advertising
Callback URL
https://app.popmcp.com/api/providers/linkedin/callback

Only needed if you connect with your own LinkedIn app: add this exact URL under Auth → "Authorized redirect URLs for your app" (linkedin.com/developers/apps → your app). It must match character for character, and LinkedIn ignores any query string on it.

PopMCP verifies the credential against LinkedIn immediately. On success the connection flips to Verified and its MCP tools are provisioned.

Verify it worked

PopMCP shows the LinkedIn connector as Connected with your member name, and the Company Page appears in the account picker if the Community Management API was granted. Access tokens last 60 days, so the connector shows a refresh date roughly two months out.

Troubleshooting

401 with "Redirect_uri doesn't match"

Why: The callback PopMCP sends is not one of the Authorized redirect URLs on the Auth tab.

Fix: Paste the exact callback from PopMCP into Auth, OAuth 2.0 settings, then Update. LinkedIn drops query strings, so do not add one.

401 "Invalid scope" on the authorization request

Why: PopMCP is asking for a scope your app has not been granted, usually an organization or ads scope.

Fix: Check the scopes listed under OAuth 2.0 scopes on the Auth tab, request the matching product on the Products tab, and reconnect once it is approved.

The Products tab shows everything as unavailable

Why: The app's LinkedIn Page association has not been verified.

Fix: Open Settings, click Verify, then have a Super admin of the Page open the generated link.

Newly granted product does not show its scopes

Why: The Auth tab caches the scope list from the previous page load.

Fix: Reload the app page after the product moves to Added.

Posting to a Company Page returns 403 ACCESS_DENIED

Why: Only Share on LinkedIn is granted, which covers the personal profile. Company Page publishing needs w_organization_social.

Fix: Request the Community Management API on the Products tab and reconnect after approval.

Connection stops working after about two months

Why: LinkedIn access tokens expire in 60 days and programmatic refresh tokens are enabled only for selected partners.

Fix: Reconnect the connector in PopMCP to re-run the consent flow.

Reference

On this page