Postato Docs
GuidesPlatforms

LinkedIn

Posts, documents, company vs personal pages.

LinkedIn

Posting uses the LinkedIn Marketing Developer Platform API. OAuth scopes requested: w_member_social, r_basicprofile. For company pages, also w_organization_social and rw_organization_admin.

Post types

postTypeWhat it is
postStandard text + optional media post
documentPDF carousel (swipeable slides)
articleLong-form; ties to LinkedIn Pulse. Limited API support

Most users want post. Use document for slide decks, educational carousels, and reports.

Personal vs company pages

A LinkedIn accountId in Postato can point at:

  • A personal profile (you, as a user)
  • A company page (you, acting on behalf of an org you admin)

The OAuth flow surfaces both at connection time. Users pick which to connect. Each connected target is a distinct accountId.

Typical setup: connect one personal profile + one or more company pages the user admins. Then pick the right accountId at publish.

Text posts

{
  "platform": "linkedin",
  "postType": "post",
  "content": "Announcing our Q2 results — revenue up 40%, customers up 60%. Read the recap at ..."
}

Caption limit: 3,000 characters. LinkedIn truncates at 210 characters in the feed with a "see more" expander; front-load your hook.

Media

TypeMax
ImagesUp to 9 per post, 5 MB each, JPEG/PNG
Video1 per post, 200 MB, MP4, 10 minutes
Documents (as documents)1 PDF, 100 MB, 300 pages

Document posts

postType: "document" with a PDF:

{
  "platform": "linkedin",
  "postType": "document",
  "content": "Five lessons from our rebrand — swipe through the deck.",
  "media": [{ "id": "med_01H...pdf" }]
}

LinkedIn renders the PDF as a swipeable carousel inline. Each page becomes a slide. Pages 11+ are accessible via "see all" but only the first 10 are preloaded; keep important content early.

Hashtags and mentions

  • Hashtags: any #topic is auto-linked. No explicit field.
  • Mentions: LinkedIn's API requires a URN (not just a username) for reliable mentions. Postato accepts @URN in the text and resolves; raw @username may or may not link depending on LinkedIn's fuzzy match. Use the URN form in automated flows.

Scheduling

Supported. No special upper bound beyond our 1-year soft limit.

Gotchas

  • "Unauthorized to post as organization": the connected user isn't a page admin on that company page. Check on linkedin.com/company/your-org/admin.
  • Video processing delay: LinkedIn transcodes uploaded videos before making them visible. Expect 1–5 minutes after publish webhook fires before the video appears in feeds.
  • No story / reel equivalent: LinkedIn doesn't expose stories or reels via API. Don't send postType: "story" or "reel"; it'll fail validation.
  • Analytics split: engagement data for personal vs company accounts sits in different LinkedIn endpoints. If you're reading back metrics (not via Postato yet), the account type matters.
  • Character truncation in previews: the first 140 characters of your post appear in LinkedIn email digests. Put your strongest line there.

On this page