LinkedIn API

Use the Crosspostify API to publish videos, images, carousels, and text posts to LinkedIn personal profiles and Company Pages — the professional network's full content suite.

Post Types
Video · Image · Carousel · Text
Account Types
Personal · Company Page
Title
Not used
Hashtags
Highly recommended

LinkedIn is the world's leading professional network. The Crosspostify LinkedIn API integration supports publishing to both personal profiles and Company Pages — covering all major content types including native video, images, multi-image carousels, and text posts.

This page covers everything specific to LinkedIn when using the Crosspostify API. For general authentication, rate limits, and error handling, see the full API Reference.

LinkedIn-Specific Parameters

LinkedIn uses a clean, minimal parameter set. There are no platform-exclusive parameters — LinkedIn uses the standard accountId and caption fields shared across all platforms. Platform-specific parameters from other networks are ignored.

accountId✓ AppliesRequired. Your LinkedIn profile or Company Page ID from /social-accounts.
caption✓ AppliesRequired for all post types. The main post text. Hashtags in the caption are indexed by LinkedIn.
title✗ IgnoredNot used on LinkedIn — ignored.
is_aigc✗ IgnoredTikTok only — ignored for LinkedIn.
facebookFirstComment✗ IgnoredFacebook only — ignored for LinkedIn.
textFormatPresetId✗ IgnoredFacebook only — ignored for LinkedIn.
privacy✗ IgnoredYouTube only — LinkedIn posts are always public.
categoryId✗ IgnoredYouTube only — ignored for LinkedIn.
tags✗ IgnoredYouTube only — use hashtags in caption instead.
boardId✗ IgnoredPinterest only — ignored for LinkedIn.
Hashtags go in the caption

Unlike YouTube which has a dedicated tags array, LinkedIn hashtag discoverability is driven entirely by hashtags placed inline in the caption field. LinkedIn recommends 3–5 relevant hashtags per post.

Supported Endpoints

LinkedIn supports all four Crosspostify post types — including text-only posts, which perform exceptionally well on the platform:

POST/post/video

Publish a native video to a LinkedIn personal profile or Company Page. Native video on LinkedIn receives significantly higher organic reach than shared links.

LinkedIn Video Notes

  • Upload your video first via POST /media and use the returned mediaId
  • Native video (uploaded directly) gets far more reach than YouTube links shared as text posts
  • LinkedIn auto-generates captions — no manual subtitle upload needed
  • Recommended aspect ratio: 1:1 (square) or 4:5 for mobile feed; 16:9 for desktop
  • All datetime values must be in UTC timezone (ISO 8601 format with Z suffix)
  • Omit scheduledDate to post immediately

Request Body

mediaIdstringrequired

The ID of the uploaded video file. Obtain this from POST /media.

scheduledDatestringoptional

Schedule the post for a future time (ISO 8601 with 'Z' suffix). Omit to post immediately.

postsarrayrequired

Array of post objects. Include one object per LinkedIn profile or Company Page.

posts[].accountIdstringrequired

The LinkedIn profile or Company Page ID. Retrieve from GET /social-accounts.

posts[].captionstringrequired

The video post text. Include 3–5 hashtags for best discoverability. Max 3,000 characters.

Response

{ "success": true, "data": { "postId": "post_li_001", "status": "PROCESSING", "scheduledDate": "2025-06-01T14:00:00Z", "videoDuration": 94, "accounts": [ { "accountId": "acc_linkedin_321", "platform": "linkedin", "status": "PROCESSING" } ] } }

Code Example

curl -X POST "https://v1.api.crosspostify.com/post/video" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "mediaId": "vid_12345",
    "scheduledDate": "2025-06-01T14:00:00Z",
    "posts": [
      {
        "accountId": "acc_linkedin_321",
        "caption": "Excited to share our latest product demo! 🚀\n\nWe\'ve been working on this for months and can\'t wait to hear your thoughts.\n\n#ProductLaunch #SaaS #Innovation"
      }
    ]
  }'
POST/post/image

Publish a single image post to a LinkedIn profile or Company Page. Great for infographics, quote cards, event announcements, and product visuals.

LinkedIn Image Notes

  • Recommended dimensions: 1200×627px (1.91:1) for landscape, or 1080×1080px for square
  • LinkedIn crops images to 1.91:1 in the feed preview — design with safe zones in mind
  • Infographics and data visualizations perform particularly well on LinkedIn
  • All datetime values must be in UTC timezone (ISO 8601 format with Z suffix)

Request Body

mediaIdstringrequired

The ID of the uploaded image file. Obtain this from POST /media.

scheduledDatestringoptional

Schedule the post for a future time (ISO 8601 with 'Z' suffix). Omit to post immediately.

postsarrayrequired

Array of post objects. Include one object per LinkedIn profile or Company Page.

posts[].accountIdstringrequired

The LinkedIn profile or Company Page ID. Retrieve from GET /social-accounts.

posts[].captionstringrequired

The image post text. Include 3–5 hashtags for best discoverability. Max 3,000 characters.

Response

{ "success": true, "data": { "postId": "post_li_002", "status": "SCHEDULED", "scheduledDate": "2025-06-01T14:00:00Z", "accounts": [ { "accountId": "acc_linkedin_321", "platform": "linkedin", "status": "SCHEDULED" } ] } }

Code Example

curl -X POST "https://v1.api.crosspostify.com/post/image" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "mediaId": "img_12345",
    "scheduledDate": "2025-06-01T14:00:00Z",
    "posts": [
      {
        "accountId": "acc_linkedin_321",
        "caption": "Our team at this year\'s conference 🎤\n\nSo grateful for the connections made this week.\n\n#Networking #Conference #TeamWork"
      }
    ]
  }'
POST/post/images

Publish a multi-image post to LinkedIn. LinkedIn renders multiple images as a swipeable carousel — one of the highest-performing content formats on the platform.

LinkedIn Carousel Notes

  • Images are displayed in the order provided in mediaIds
  • LinkedIn carousels are among the top-performing post formats — great for step-by-step guides, listicles, and case studies
  • Use consistent dimensions across all images for a polished look (1080×1080px recommended)
  • LinkedIn renders carousels as a swipeable document-style format in the feed
  • All datetime values must be in UTC timezone (ISO 8601 format with Z suffix)

Request Body

mediaIdsarrayrequired

Ordered array of image media IDs. Images appear in this order in the carousel.

scheduledDatestringoptional

Schedule the post for a future time (ISO 8601 with 'Z' suffix). Omit to post immediately.

postsarrayrequired

Array of post objects. Include one object per LinkedIn profile or Company Page.

posts[].accountIdstringrequired

The LinkedIn profile or Company Page ID. Retrieve from GET /social-accounts.

posts[].captionstringrequired

The carousel post text. A hook in the first line drives swipe-through rates. Max 3,000 characters.

Response

{ "success": true, "data": { "postId": "post_li_003", "status": "SCHEDULED", "scheduledDate": "2025-06-01T14:00:00Z", "mediaCount": 3, "accounts": [ { "accountId": "acc_linkedin_321", "platform": "linkedin", "status": "SCHEDULED" } ] } }

Code Example

curl -X POST "https://v1.api.crosspostify.com/post/images" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "mediaIds": ["img_001", "img_002", "img_003"],
    "scheduledDate": "2025-06-01T14:00:00Z",
    "posts": [
      {
        "accountId": "acc_linkedin_321",
        "caption": "5 lessons we learned scaling from 0 to 10k users 👇\n\nSwipe through for the full breakdown.\n\n#StartupLessons #Growth #SaaS"
      }
    ]
  }'
POST/post/text

Publish a text-only post to a LinkedIn profile or Company Page. Long-form text posts are one of LinkedIn's most powerful organic reach formats — especially for thought leadership and personal stories.

LinkedIn Text Post Notes

  • No mediaId required — text only
  • LinkedIn text posts support up to 3,000 characters
  • The first 2–3 lines are shown before a "see more" truncation — make your hook count
  • Line breaks and spacing are preserved — use them for readability
  • 3–5 hashtags at the end of the post are recommended for reach
  • Emojis are fully supported and improve engagement

Request Body

scheduledDatestringoptional

Schedule the post for a future time (ISO 8601 with 'Z' suffix). Omit to post immediately.

postsarrayrequired

Array of post objects. Include one object per LinkedIn profile or Company Page.

posts[].accountIdstringrequired

The LinkedIn profile or Company Page ID. Retrieve from GET /social-accounts.

posts[].captionstringrequired

The full text content of the post. Max 3,000 characters. Line breaks are preserved.

Response

{ "success": true, "data": { "postId": "post_li_004", "status": "SCHEDULED", "scheduledDate": "2025-06-01T14:00:00Z", "accounts": [ { "accountId": "acc_linkedin_321", "platform": "linkedin", "status": "SCHEDULED" } ] } }

Code Example

curl -X POST "https://v1.api.crosspostify.com/post/text" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduledDate": "2025-06-01T14:00:00Z",
    "posts": [
      {
        "accountId": "acc_linkedin_321",
        "caption": "Hot take: most \"productivity\" advice is just procrastination in disguise.\n\nThe best thing you can do is ship something imperfect today rather than perfect it forever.\n\nAgree or disagree? 👇\n\n#Productivity #StartupLife #BuildInPublic"
      }
    ]
  }'

Account Types

Crosspostify supports publishing to both LinkedIn personal profiles and Company Pages. Both are retrieved via GET /social-accounts and used identically in API requests.

Personal Profile

  • Posts appear on your personal LinkedIn feed
  • Best for thought leadership and personal brand
  • Followers see posts in their feed organically
  • Supports all 4 post types
  • Higher organic reach than Company Pages

Company Page

  • Posts appear on your LinkedIn Company Page
  • Best for brand content, product updates, hiring
  • Followers must follow the Page to see posts
  • Supports all 4 post types
  • Can be boosted as LinkedIn Ads
Post to both simultaneously

You can include both a personal profile and a Company Page in the same posts array to publish to both in a single API call. Each entry in the array is an independent post.

Content Guidelines

LinkedIn's audience expects professional, value-driven content. These technical specs and best practices will help your posts perform well on the platform.

Video Requirements

  • Format: MP4 recommended
  • Max file size: 5GB
  • Max duration: 10 minutes
  • Min duration: 3 seconds
  • Recommended ratio: 1:1, 4:5, or 16:9
  • Min resolution: 360p; recommended 1080p

Image Requirements

  • Format: JPG or PNG
  • Max file size: 20MB via Crosspostify
  • Recommended: 1200×627px (landscape)
  • Square: 1080×1080px also works well
  • LinkedIn crops to 1.91:1 in feed preview
  • Min width: 552px

Caption Best Practices

  • Max 3,000 characters for all post types
  • First 2–3 lines shown before "see more" cutoff
  • Lead with a strong hook or question
  • Use line breaks for readability
  • 3–5 hashtags recommended (end of post)
  • Emojis improve engagement on LinkedIn

Scheduling

  • Minimum lead time: ~10 minutes ahead
  • All times must be UTC (ISO 8601 + Z)
  • Omit scheduledDate to post immediately
  • Best posting times: Tue–Thu, 8–10am local
  • LinkedIn posts have a longer shelf life than most platforms