Post to LinkedIn from one API.
Publish to LinkedIn from your app with one REST call, or let your AI agent do it over MCP. SocialHelper checks every post against LinkedIn’s limits before it goes out.
What you can post
LinkedIn limits.
These are the limits the API enforces for LinkedIn, read straight from the code. Every post is checked against them before anything is sent.
- Text
- 3,000 characters
- Images
- Up to 20 per post · JPEG, PNG, GIF · 5 MB each
- Video
- Not supported
Post with one request
Your first LinkedIn post.
Send the text and the account ID. Add an Idempotency-Key so a retried request never posts twice. The response lists each account with its own status and, once it’s live, the post’s URL.
curl https://socialhelper.app/api/v1/posts \
-H "Authorization: Bearer $SOCIALHELPER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": [
"ACCOUNT_ID"
]
}'
const response = await fetch("https://socialhelper.app/api/v1/posts", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SOCIALHELPER_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": [
"ACCOUNT_ID"
]
}),
});
const { data: post } = await response.json();
console.log(post.status, post.targets);
import os, uuid, requests
response = requests.post(
"https://socialhelper.app/api/v1/posts",
headers={
"Authorization": f"Bearer {os.environ['SOCIALHELPER_API_KEY']}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": ["ACCOUNT_ID"],
},
)
post = response.json()["data"]
print(post["status"], post["targets"])
Connect
Connect LinkedIn once.
Open Accounts in the SocialHelper dashboard and choose LinkedIn. You sign in on LinkedIn’s own screen and approve access; SocialHelper stores the connection encrypted. You don’t need a LinkedIn developer app of your own.
-
1
Open Accounts
In the dashboard, choose LinkedIn.
-
2
Sign in on LinkedIn
Approve access on LinkedIn’s own screen.
-
3
Use the account ID
GET /api/v1/accounts lists the account with its ID, whether it can publish, and its tools.
SocialHelper calls LinkedIn’s official API for you. LinkedIn API reference ↗
FAQ
LinkedIn questions.
How long can a LinkedIn post be?
3,000, counted the way LinkedIn counts it. SocialHelper checks the length before posting, and if it doesn’t fit nothing is sent.
Can I post images or video to LinkedIn?
Up to 20 images per post. Video isn’t supported.
Do I need my own LinkedIn developer app?
No. You connect with a normal LinkedIn sign-in through SocialHelper’s own app.
Can my AI agent use LinkedIn?
Yes. Connect the SocialHelper MCP server at https://socialhelper.app/mcp and your agent can post to LinkedIn, after confirming the text with you.
How much does it cost?
SocialHelper is free during early access, LinkedIn included.
More platforms
Same key, every account.
Bluesky
Post to your Bluesky profile.
posts
Mastodon
Post to your account on any Mastodon server.
posts
Telegram
Post to channels and groups through your bot.
posts
Discord
Post to a server channel through a webhook.
posts
Post to your Facebook Pages.
posts 3 tools
Publish photos and reels to Instagram.
posts 3 tools
Google Search Console
Clicks, queries, indexing and sitemaps.
4 tools
Google Analytics
GA4 traffic, conversions and realtime reports.
4 tools
Ship your LinkedIn integration today.
Create a free account, connect an account and send your first post in a few minutes.