Does LinkedIn Have an API? What You Can and Can't Post in 2026
Yes. LinkedIn has a REST API, and posting is done through the Posts API. But access is not open: you register an app, associate it with a company Page, and request a product such as Share on LinkedIn or Community Management API before you can publish anything. Personal profiles and company Pages are separate destinations with separate permissions and separate author identifiers — that distinction breaks more integrations than any other part of LinkedIn's API.
#Quick answer
- Is there an API? Yes — the LinkedIn REST API, versioned by date header.
- Can I post to my own profile? Yes, with the
w_member_socialpermission via the Share on LinkedIn product. - Can I post to a company Page? Yes, but that needs the Community Management API product and an admin role on the Page.
- Is approval instant? Share on LinkedIn is usually self-serve. Community Management involves a review.
- Biggest gotcha? Profile and Page are different author URNs. Code written for one will not work for the other.
#The two destinations problem
This is the part worth internalising before you write any code.
A personal profile post is authored by urn:li:person:{id}. You get that ID from the authenticated member, and you need w_member_social.
A company Page post is authored by urn:li:organization:{id}. You get that from the Pages the member administers, and you need organization permissions from the Community Management product.
They are not interchangeable. The endpoint is the same, the payload shape is the same, the author URN is different, and the access path to get permission is completely different. An integration that happily posts to your profile will return a 403 the first time someone tries to post to their company Page.
We treat them as two separate platform types for exactly this reason — linkedin for profiles and linkedin_page for Pages — because pretending they are one thing produces confusing failures for users who connected the wrong one.
#Getting access
- Create an app in the LinkedIn Developer Portal. Every app must be associated with a company Page you administer — you cannot create one against a personal profile alone.
- Verify the Page association. LinkedIn sends a verification link that a Page admin must approve.
- Request products. Share on LinkedIn grants
w_member_socialfor profile posting and is typically granted immediately. Community Management API grants Page posting and involves review — expect to explain your use case. - Add
Sign In with LinkedIn using OpenID Connectif you want profile details like name and picture. This replaced the olderr_liteprofilepermission. - Complete OAuth and store the access token.
#Token expiry, and why it hurts
LinkedIn access tokens last 60 days. Refresh tokens are available but are not granted to every app by default — for many integrations, the practical result is that a user must re-authorise roughly every two months.
This is the single biggest operational cost of a LinkedIn integration. It is not hard code; it is the fact that you now need token-expiry monitoring, a re-auth prompt in your UI, and a way to tell a user their scheduled posts will silently stop unless they reconnect. Every social integration has some version of this, and LinkedIn's is the one that surprises teams most.
#What you can post
- Text posts — plain text, with mentions and hashtags inline.
- Article/link shares — a URL with LinkedIn's generated preview.
- Images — single or multiple, uploaded first, then referenced in the post.
- Video — uploaded through a separate initialise-upload-finalise flow.
- Documents — PDFs, which render as LinkedIn's carousel-style viewer.
Multi-image posts use a specific multiImage content shape rather than an array on a normal post — another place where the obvious guess is wrong.
#What you can't do
Worth knowing before you promise a feature:
- No scheduling. The API publishes immediately. Any "schedule a LinkedIn post" feature is your queue holding the post and calling the API at the right moment. LinkedIn does not hold it for you.
- No commenting or reacting as a member on arbitrary posts without additional restricted permissions.
- No general-purpose feed reading. LinkedIn is deliberately restrictive about read access.
- No editing after publish for most content types. Delete and repost is the workaround, which loses engagement.
- No group posting through the public API.
#Rate limits
LinkedIn applies both per-app and per-member daily limits, and does not publish a single clear number for every endpoint. Practically: throttle, back off on 429, and do not design a product that assumes you can burst hundreds of posts for one member in a short window.
#Should you build it yourself?
Build it directly if LinkedIn is the only platform you need, you are comfortable with the app review process, and you can own the 60-day token refresh problem.
Use an API if you need more than one platform. The LinkedIn integration alone is maybe a week of work including review; the second and third platforms each cost about the same, and then you maintain all of them forever. That is the calculation that sends most teams to a posting API.
With Schedule & Chill, LinkedIn profiles and Pages are two of eight supported destinations. You connect them once in the dashboard, we handle token refresh, and posting is the same call as every other platform:
1curl -X POST https://schedulenchill.com/api/posts \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -H "Accept: application/json" \
5 -d '{
6 "content": "New engineering write-up is live.",
7 "social_account_ids": [790]
8 }'
#Frequently Asked Questions
Does LinkedIn have a public API? Yes, a versioned REST API. It is not open access — you register an app, associate it with a company Page, and request specific products before you can post.
Is the LinkedIn API free? Yes for standard posting products. There is no fee for Share on LinkedIn or the Community Management API; the cost is approval time and engineering effort, not licensing.
Can I schedule posts with the LinkedIn API? No. The API publishes immediately. Scheduling always means your own system holds the post and calls LinkedIn at the scheduled time.
What is the difference between posting to a LinkedIn profile and a Page?
The author URN and the permissions. Profiles use urn:li:person:{id} with w_member_social; Pages use urn:li:organization:{id} with Community Management permissions and an admin role. Code for one will not work for the other.
How long do LinkedIn access tokens last? 60 days. Refresh tokens exist but are not granted to every app, so many integrations require the user to re-authorise roughly every two months.
Can I post images and video through the LinkedIn API?
Yes. Both require uploading the asset first and referencing it in the post. Multi-image posts use a distinct multiImage content shape rather than a simple array.
How long does LinkedIn API approval take? Share on LinkedIn is usually granted immediately. Community Management API is reviewed manually and timelines vary, so do not plan a launch date around it.
#Where to go next
- Does TikTok have an API? — same question, much stranger answer
- All supported platforms
- Quickstart
- Pricing
Tagged with:

Zakir Hossen
Founder of Schedule & Chill. Bootstrapped entrepreneur and software engineer.
Related Posts
How to Bulk Schedule Instagram Posts (3 Methods Compared)
Instagram's own tools cap out fast, third-party schedulers charge per seat, and the API has a 25-posts-per-day ceiling most people find the hard way. Here is what each method can really do and how to load a month of content in one go.
From Calendar to Queue: The Gap Where AI Content Workflows Die
Everyone has a content calendar and an AI that fills it. Almost nobody has a reliable path from that calendar to actually published posts. The handoff is where the whole workflow quietly fails — here is why, and how to close it.