LinkedIn API for Posts: How to Get Posts and a Feed in 2026

Can the LinkedIn API get posts? Only for pages you admin, with Community Management approval. What the Posts API allows, why there is no feed API, and the alternative.

Ilyas5 min read
The short answer

LinkedIn's official Posts API (/rest/posts) only returns posts from organization pages you administer, or from members who sign in to your app, and reading a person's posts needs the restricted r_member_social permission. There is no official API for a member's home feed. To read public posts from any company or person, use a public-data API: crawlfeed returns them as JSON for 2 credits per page, with no partner approval.

The LinkedIn API can return posts, but only posts you already have a relationship with: pages you administer, or members who sign in to your app. As of October 2026 there is no official way to read posts from an arbitrary company or person, and no API at all for a member's home feed. This guide explains what the official Posts API does, who can get access, and how to get public LinkedIn posts as JSON when the official route does not fit.

Can the LinkedIn API get posts?

Yes, through the Posts API, which replaced the older ugcPosts and Shares APIs. It lives at https://api.linkedin.com/rest/posts and supports three reads:

  • One post by its URN, such as urn:li:share:… or urn:li:ugcPost:….
  • Several posts in one batch call.
  • Posts by author, with q=author, up to 100 per page, sorted by LAST_MODIFIED or CREATED.

The catch is the author. What you may read depends on the permission your app holds:

Whose postsPermission neededWho can get it
A company page you administerr_organization_socialCommunity Management API apps, for pages where the member has an admin role
A person's postsr_member_socialRestricted, "available to approved users only"
Any other company or personNoneNot available

If the signed-in member lacks the role or the scope, the API answers 403 ACCESS_DENIED. That is the wall most developers hit when they search for "LinkedIn API get posts": the API is built for managing your own presence, not for reading other people's.

Is there a LinkedIn feed API?

No. No official permission reads a member's home feed, the stream of posts they see when they open LinkedIn. The self-serve "Share on LinkedIn" product only grants w_member_social, which lets your app publish on a member's behalf but read nothing back.

LinkedIn's restricted uses for the Marketing APIs go further. Under "No Social Feeds", data from the Community Management API may not be shown in any social feed, which rules out a wall of company updates on your website or intranet. The same rules also forbid using member data for sales or recruiting, exporting it from your app, combining it with other data, and keeping member social activity for more than 48 hours.

How do you get Community Management API access?

The Community Management API is the product that carries r_organization_social. According to LinkedIn's app review guide and access tiers:

  1. Apply as an organization. Only registered legal organizations can apply, for commercial use, with a verified business email (personal addresses fail), a website and a privacy policy.
  2. Verify the app with your company page. A super admin of the company's LinkedIn Page has to approve it.
  3. Keep it alone on the app. Community Management must be the only product on that app, so you may need a new app just for it.
  4. Start on the Development tier. You get 500 calls per app and 100 calls per member every 24 hours, no batch calls and no webhooks.
  5. Apply for the Standard tier. You need a finished integration, test credentials and a screencast of each use case. LinkedIn can decline even when you meet the requirements, and a rejected app has to start again as a new app.

Standard-tier rate limits are not published; LinkedIn shows them per endpoint on your app's Analytics tab in the Developer Portal, and resets them at midnight UTC.

How do you call the Posts API?

Every call to the versioned API needs two headers besides your OAuth token: Linkedin-Version in YYYYMM form and X-Restli-Protocol-Version: 2.0.0. Calls without a version fail; LinkedIn does not default to the latest.

bash
curl -G "https://api.linkedin.com/rest/posts" \
  -H "Authorization: Bearer $LINKEDIN_TOKEN" \
  -H "Linkedin-Version: 202610" \
  -H "X-Restli-Protocol-Version: 2.0.0" \
  --data-urlencode "q=author" \
  --data-urlencode "author=urn:li:organization:5515715" \
  --data-urlencode "count=10" \
  --data-urlencode "sortBy=LAST_MODIFIED"

Here 5515715 stands for an organization your signed-in member administers. LinkedIn releases a new version every month and, per its versioning page, keeps each one for at least a year. Version 202511 is due to sunset on 16 November 2026, so pin a recent version and put the upgrade in your calendar.

How do you get public LinkedIn posts from any company or person?

If you need posts from companies and people you do not administer, for competitor tracking, sales signals, research or an AI agent, the official API has no route. A public-data API is the practical option. crawlfeed reads what a logged-out visitor can see and returns it as JSON:

OperationEndpointNeedsCredits
Profile/v1/linkedin/profilehandle2
Posts/v1/linkedin/postshandle2
Post/v1/linkedin/postid2
Company/v1/linkedin/companyhandle2
Company posts/v1/linkedin/company/postshandle2
Transcript/v1/linkedin/transcriptid2
Summary/v1/linkedin/summaryid5
Search posts/v1/linkedin/search/postsq2
Search ads/v1/linkedin/ads/searchq2
An advertiser's ads/v1/linkedin/adsadvertiser2
Ad/v1/linkedin/adid2

Every LinkedIn call costs 2 credits, there is no partner programme to join, and new accounts get 100 free credits.

A company's posts

Pass the company slug, the part after /company/ in its page URL:

curl -G https://api.crawlfeed.dev/v1/linkedin/company/posts \
  -H "Authorization: Bearer $CRAWLFEED_KEY" \
  --data-urlencode "handle=openai"

A person's posts

Pass the profile slug, the part after /in/:

curl -G https://api.crawlfeed.dev/v1/linkedin/posts \
  -H "Authorization: Bearer $CRAWLFEED_KEY" \
  --data-urlencode "handle=satyanadella"

Each item is a Post with text, created_at, media, engagement and hashtags, the same shape crawlfeed returns for X, Instagram and the other 26 platforms. To page, send meta.next_cursor back as cursor until it is missing.

Posts about a topic

To build something feed-like around a keyword instead of an account, search public posts:

curl -G https://api.crawlfeed.dev/v1/linkedin/search/posts \
  -H "Authorization: Bearer $CRAWLFEED_KEY" \
  --data-urlencode "q=ai agents"

For a walkthrough of profiles, company pages and the LinkedIn Ad Library, see how to scrape LinkedIn data, and the LinkedIn reference for every parameter.

Official API or public-data API?

NeedLinkedIn Posts APIcrawlfeed
Publish posts for your page or membersYesNo
Read posts from pages you administerYes, with Community ManagementYes, if the posts are public
Read any company's or person's public postsNoYes
Post analytics for your own pageYesNo
Approval before the first callYesNo
Same API for X, Instagram, TikTok and RedditNoYes

Use LinkedIn's API when you manage your own page or act for members who sign in: it can publish and it returns private analytics. Use a public-data API when you need to read other people's public posts. crawlfeed never logs in, returns nothing a logged-out visitor could not see, and gives you no rights over LinkedIn content. LinkedIn's User Agreement restricts automated collection, so check your use with your own counsel, and if you store posts about identifiable people you need a lawful basis under laws such as the GDPR. For a side-by-side of both routes, see LinkedIn API alternatives.

The short answer

The LinkedIn Posts API reads posts only from pages you administer, with Community Management API approval, or from members who grant the restricted r_member_social permission. There is no official feed API, and LinkedIn's rules forbid building a social feed from its API data. To read public posts from any company or person, call a public-data API such as /v1/linkedin/company/posts, at 2 credits a page.

Questions

Can I get LinkedIn posts with the official API?

Only in narrow cases. The Posts API returns posts from organization pages where the signed-in member is an administrator or content admin, using the r_organization_social permission from the Community Management API. Reading a person's posts needs r_member_social, which LinkedIn describes as restricted and available to approved users only. You cannot read posts from a company or person you have no relationship with.

Is there a LinkedIn feed API?

No. No official LinkedIn permission reads a member's home feed, and LinkedIn's restricted-use rules for the Marketing APIs also forbid showing Community Management data in a social feed, such as a wall of company updates on a website or intranet.

How do I get Community Management API access?

Apply from an app in the LinkedIn Developer Portal on behalf of a registered legal organization, with a verified business email, and have a super admin of your company page verify the app. Community Management must be the only product on that app. You start on the Development tier (500 calls per app per day) and apply for the Standard tier with a finished integration and a screencast.

What does LinkedIn-Version mean in the Posts API?

Every call to the versioned /rest API needs a Linkedin-Version header in YYYYMM format, for example 202610, plus X-Restli-Protocol-Version: 2.0.0. LinkedIn ships a version each month and supports each one for at least a year before sunsetting it.

How do I get a company's LinkedIn posts without admin access?

Use a public-data API. crawlfeed's /v1/linkedin/company/posts takes a company slug and returns its public posts as JSON, and /v1/linkedin/posts does the same for a person. Each page costs 2 credits, there is no approval queue, and new accounts get free credits.

Try it on your own data

Every example above runs as written. New accounts get 100 free credits, no card needed.

Get an API key