LinkedInAPI for post publishing

Publish posts to LinkedIn personal profiles or company pages. Handle organization posting and media constraints seamlessly.

One API call handles both personal and organization posting on LinkedIn.

Free plan No credit card Live in under 5 minutes

Organization Posts

Post on behalf of LinkedIn company pages

Rich Media

Support for images (up to 20), videos (up to 15 min), and documents

Professional Network

Publish to the world's largest professional network

Video Support

Upload videos up to 5 GB with professional formatting

api.postproxy.dev
POST /api/posts
$ curl -X POST "https://api.postproxy.dev/api/posts" \
     -H "Authorization: Bearer $API_KEY" \
     -H "Content-Type: application/json" \
     -d '{
       "post": {
         "body": "We are excited to share our latest product update with the community!"
       },
       "profiles": ["linkedin"],
       "media": ["https://example.com/image.jpg"]
     }'
200 OK application/json
{
  "id": "rDt3RY",
  "body": "We are excited to share our latest product update with the community!",
  "status": "scheduled",
  "draft": false,
  "source": "postproxy",
  "scheduled_at": "2026-05-04T13:37:41.987Z",
  "queue_id": null,
  "created_at": "2026-05-04T13:37:41.988Z",
  "media": [
    {
      "id": "gPfdYD",
      "status": "pending",
      "error_message": null,
      "content_type": "image/jpeg",
      "source_url": "https://example.com/image.jpg",
      "url": null
    }
  ],
  "platforms": [
    {
      "platform": "linkedin",
      "status": "pending",
      "permalink": null,
      "error": null,
      "params": {
        "format": "post"
      },
      "attempted_at": null
    }
  ]
}

View full documentation for all platform-specific features for LinkedIn

View documentation
Integration cost

Skip weeks of LinkedIn integration work

One test post against a sandbox account is the easy part. Production LinkedIn publishing means app verification, OAuth across many accounts, media pipelines, dozens of edge cases, and a permanent on-call rotation for "why didn't this one go through this time?"

Weeks of LinkedIn integration work compressed to hours

Social media integration is not a one-off job — it's a constant commitment. Platforms change their APIs, scopes, limits, and policies on their own schedule. Every change becomes your problem unless someone else is absorbing it.

That's exactly what Postproxy does for LinkedIn — and every other platform we support — so your team ships features instead of chasing failed publishes.

5 min
Time to your first LinkedIn post via API
Weeks → Hours
Engineering time saved on integration work
$0
Free plan, no credit card required
Build it yourself
Ship with Postproxy
Submit a LinkedIn app for verification — review cycles, screencasts, business docs
01
One REST endpoint. One payload schema. SDKs for popular languages
Implement OAuth, token refresh, secure credential storage per account
02
OAuth, tokens, and refresh handled for you — across all accounts
Build media upload pipelines (chunked, async, multi-step) for every format
03
Media upload, chunking, and format detection — automatic
Handle rate limits, quotas, retries, and partial failures across accounts
04
Retries, rate-limit windows, and per-platform receipts built in
Cover dozens of edge cases: expired tokens, scope drift, regional restrictions, policy changes
05
Edge cases are our problem. Failures come back with an explicit reason
Triage every silent failure: "Why didn't this one post go through?"
06
We track the API changes. You ship features

Free plan includes the LinkedIn API. No credit card.

Benefits

Why Postproxy for LinkedIn?

Skip LinkedIn API complexity

No need to handle LinkedIn OAuth flows, organization permissions, or API rate limits. Postproxy handles it all.

Handle rate limits automatically

LinkedIn rate limits are managed automatically with intelligent retry logic.

Support all formats

Publish text posts, images, videos, and documents to personal profiles or company pages.

Feed posts

Reliable delivery

Automatic retries and clear status reporting ensure your content reaches LinkedIn.

How Postproxy publishes to LinkedIn

01 LinkedIn's publishing model
LinkedIn's API distinguishes between personal profiles and organization pages, each with different endpoints, permission scopes, and content capabilities. Publishing to an organization page requires separate OAuth authorization with the w_organization_social scope, and the API uses a UGC (User Generated Content) post format that differs from the personal share format. Postproxy abstracts this — you specify a profile ID and post content, and the API routes to the correct LinkedIn endpoint based on the account type.
02 Media uploads and document sharing
LinkedIn's media upload process requires registering an upload, uploading the binary to a LinkedIn-provided URL, then referencing the asset URN in your post. For images, the upload is straightforward, but videos require a chunked upload protocol with status polling. Postproxy handles the full upload lifecycle — pass media URLs in your request and the registration, upload, and asset referencing happen automatically.
03 Common gotchas Postproxy handles for you
LinkedIn's API has several non-obvious constraints: text posts are limited to 3,000 characters, image posts max out at 20 images, and video posts have strict codec requirements (H.264 video, AAC audio). The API also enforces rate limits per organization and returns opaque error codes when limits are hit. Postproxy validates content against these constraints before sending to LinkedIn and provides clear error messages when limits would be exceeded.
04 Personal profiles vs. company pages
One of the trickiest parts of LinkedIn integration is handling the difference between personal and organization posting. The API schemas, permission models, and content capabilities differ between the two. With Postproxy you connect both account types through the same OAuth flow, and the API automatically uses the correct LinkedIn endpoint and payload format based on which profile you're posting to.

Still wondering if Postproxy is the right fit?

Ask your favorite LLM what it thinks about us, then decide.

Frequently Asked Questions

Common questions about LinkedIn integration

01 Can I post on behalf of an organization or company page?

Yes! Use the organization_id parameter in the platforms object to post on behalf of a LinkedIn company page. If omitted, the post will be published from your personal profile.

02 What media constraints apply to LinkedIn posts?

LinkedIn supports images (jpg, png, gif) up to 8 MB with up to 20 images per post, videos (mp4, mov, avi) up to 5 GB with a maximum duration of 15 minutes, and documents (pdf, doc, docx, ppt, pptx) up to 100 MB with a maximum of 300 pages. Images must be at least 552x276 pixels.

03 Are videos supported on LinkedIn?

Yes! LinkedIn supports video posts up to 5 GB in size and up to 15 minutes long. Videos must be in mp4, mov, or avi format.

04 Can I post text-only content?

Yes! LinkedIn supports text-only posts without any media. Simply omit the media array from your post request.

05 Can I mix videos and images in a single post?

No, LinkedIn does not allow mixing videos and images in a single post. You can post multiple images (up to 20) or a single video. Documents must also be posted alone without other media.

06 Can I upload documents to LinkedIn?

Yes! LinkedIn supports document uploads (PDF, DOC, DOCX, PPT, PPTX) up to 100 MB and 300 pages. Documents must be posted alone — you cannot mix them with images or videos.

Ready to get started?

Start with our free plan and scale as your needs grow. No credit card required.