FeedHorizon API
Platforms

LinkedIn

LinkedIn-specific features, limitations, and best practices.

Overview

FeedHorizon supports publishing text posts, image posts, and video posts to LinkedIn personal profiles and company pages.

Authentication

LinkedIn uses OAuth 2.0. Connect your account through the Dashboard → Connections page. FeedHorizon requests the following scopes:

  • openid — Authenticate user identity
  • profile — Read profile metadata
  • email — Read account email
  • w_member_social — Post on behalf of the user

Content guidelines

FeatureLimit
Text length3,000 characters
Images per postUp to 9
Videos per post1 (cannot mix with images)
Image formatsJPEG, PNG, GIF, WebP
Video formatsMP4, MOV, AVI, WebM
Document formatsPDF
Max image size5 GB
Max video size5 GB
Max document size100 MB

Creating a LinkedIn post

Text post

cURL
curl -X POST https://app.feedhorizon.dev/api/v1/posts \
  -H "Authorization: Bearer fh_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Excited to announce our new API! Check it out at https://feedhorizon.dev",
    "platforms": ["linkedin"],
    "profileId": "YOUR_PROFILE_ID",
    "publishNow": true
  }'

Scheduled post

cURL
curl -X POST https://app.feedhorizon.dev/api/v1/posts \
  -H "Authorization: Bearer fh_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "This will be posted tomorrow morning!",
    "platforms": ["linkedin"],
    "profileId": "YOUR_PROFILE_ID",
    "scheduledFor": "2026-03-01T09:00:00Z",
    "timezone": "Europe/Berlin"
  }'

LinkedIn-specific response fields

When a post is published to LinkedIn, the response includes the LinkedIn-native post URN:

{
    "platformPostIds": {
        "linkedin": "urn:li:share:7654321098765432"
    }
}

Error handling

Common LinkedIn-specific errors:

ErrorCauseSolution
Token expiredOAuth token needs refreshRe-connect the account in the dashboard
Content too longExceeds 3,000 charactersShorten your content
Duplicate contentLinkedIn blocks identical postsModify the content slightly
Rate limitLinkedIn's own API rate limitWait and retry (FeedHorizon handles this automatically)

Best practices

  1. Keep posts under 1,300 characters for optimal engagement (LinkedIn truncates after ~210 characters in the feed)
  2. Use line breaks to improve readability
  3. Include a call-to-action at the end
  4. Schedule posts between 8-10 AM in your target audience's timezone
  5. Avoid posting more than once per day to the same account