Quirks & Gotchas
Personal vs. Organization
This is the biggest source of confusion.- Personal Profile (Member): Limited API. Cannot import post history. Limited analytics. No profile views data.
- Organization (Company Page): Full API power. Richer analytics. Supports historical import. Has page view data.
Article / Link Preview
When you send a post withdata.LINKEDIN.link and no media uploads, bundle.social fetches the URL, scrapes its Open Graph metadata, and builds a LinkedIn article content block with a title, description, and preview image automatically.
linkis the URL to preview, max 2048 characters.
This is the correct way to build link posts on LinkedIn. A
link can’t be combined with media uploads: such a post is rejected with 400 and LinkedIn link preview posts cannot include media uploads.Polls
Senddata.LINKEDIN.poll to publish a LinkedIn poll. The post text is shown above the poll.
- A poll can’t have media or a
link. Such a post is rejected with400(A LinkedIn poll cannot be combined with media./...with a link preview.). - Validation errors point at the exact field, for example
data.LINKEDIN.poll.options.2withMax 30 characters per poll option. - LinkedIn doesn’t let you edit a poll after it’s published.
- Poll results (votes per option) aren’t available in analytics.
The URN Nightmare
LinkedIn uses “URNs” (Uniform Resource Names) to identify everything.- Organization:
urn:li:organization:12345 - Person:
urn:li:person:abcde
Media Limits
Video max size is 2 GB (not 200 MB - that was an old API limitation). Documents must be PDF format, max 100 MB. GIFs are supported-upload animated GIFs like other image media for LinkedIn posts. See Platform Limits for the full breakdown.Text & Field Limits
Post Options
Mentions And Published Post Actions
Resolve Mentionable People And Organizations
Endpoint:GET /api/v1/misc/linkedin/mentions/tags
Provide teamId and either a search query (q) or LinkedIn profile/company url. scope can be people, organizations, or all.
linkedin.com/in/... for people and linkedin.com/company/... for organizations. displayName is optional and controls the text shown for a person resolved by URL.
Use POST /api/v1/misc/linkedin/mentions/builder to combine returned URNs with text:
Reshare A LinkedIn Post
Endpoint:POST /api/v1/misc/linkedin/post/reshare
commentary is required and limited to 3,000 characters. The response includes the new LinkedIn ID, activity URN, and permalink when LinkedIn returns them.
Edit Or Delete Published Content
These operations act on content already published to LinkedIn. They do not change the original scheduled payload stored in bundle.social.
Analytics
For general analytics concepts (refresh rates, data retention, what “Returns 0” means), see the Analytics Overview.Profile Analytics
Personal (Member)
Period: Rolling window (30 days).Organization (Company)
Period: Rolling window (30 days).Post Analytics
Personal Posts
Period: Rolling window (30 days).Organization Posts
Period: Rolling window (30 days).Raw Analytics
Raw analytics for LinkedIn retain reaction breakdowns from the platform (per reaction type) where available. Our standard post schema still exposes a single aggregated likes/reactions-style metric; use raw data when you need the full split. Organization video posts also get:videoAnalyticswith LinkedIn’sVIDEO_VIEW,VIEWERandTIME_WATCHED_FOR_VIDEO_VIEWSelements exactly as LinkedIn returns them (lifetime totals; watch time in milliseconds). A type isnullwhen LinkedIn didn’t answer for it.- In
metrics:isVideo(on every organization post),videoWatchTimeSecondsandvideoAvgWatchTimeSeconds(in seconds), andviewsSource/viewsUniqueSource, which say where the numbers came from:videoAnalytics(read now),carriedForward(LinkedIn didn’t answer, the last stored value is kept),unavailableorunsupportedUrn. - Video views are read for posts with a
urn:li:ugcPost:ID. Older video posts with aurn:li:share:ID get0.
Post Raw Example
Page (Organization) Raw: Follower Demographics
Profile raw analytics for a LinkedIn Page includefollowerStatistics, the Page’s lifetime follower breakdowns as LinkedIn returns them:
- Each breakdown is limited to the top 100 entries.
- Values are LinkedIn URNs (geo, industry, seniority, function). Resolve them to names with LinkedIn’s standardized data, or map them on your side.
- LinkedIn doesn’t expose follower age or gender to apps, so those aren’t available.
- Only Pages have follower demographics. Personal profiles don’t, and
followerStatisticsisnullif LinkedIn doesn’t return it.
Quirks
- Personal accounts do NOT have views analytics for profiles - only organizations get page views.
- Organization accounts have page views for profile analytics. For individual posts, views exist only on video posts (video views); other posts return
0. - Post count and following count are not provided through the LinkedIn API for either account type.
- Organization post analytics only include posts from the last 30 days.