LinkedIn API · post · schedule · analyze

The LinkedIn API built for developers

Publish text, images, video and article cards to LinkedIn profiles and Company Pages with one API call — no asset registration, no person/organization URN juggling, no token expiry. We handle the LinkedIn plumbing so you ship in hours, not weeks.

ProfilesPagesArticle cardsSchedulingAnalytics

✓ 5 minutes to first post ✓ 99.92% uptime ✓ Profiles, Pages & article cards

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "We're hiring two senior engineers — details below 👇",
    "accounts": ["linkedin"]
  }'

Posts to a profile or Company Page. Add media, an article card, or @mention an organization.

LinkedIn's official API is powerful — and painful

Posting through the LinkedIn Posts API means Marketing Developer Platform access, OAuth, and an author URN that is either a urn:li:person or a urn:li:organization. Media must be registered and uploaded before you can reference it, and link-card thumbnails must be uploaded as assets — LinkedIn rejects raw URLs. Outstand turns all of it into a single request.

Marketing Developer Platform access and app review
Connect once via OAuth — we manage the app and permissions, or bring your own
Author URNs differ for a person vs an organization
We resolve the right person/organization URN for each account
Media needs registerUpload → upload → reference the asset URN
Pass a media URL; we register, upload and reference the asset
Article cards reject raw URLs — thumbnails must be uploaded assets
Send a thumbnailUrl; we upload it and attach the image URN
Mentions need the exact registered name in annotation format
Give us { urn, text }; we rewrite the inline mention correctly
60-day tokens that expire silently
Automatic token refresh — you never see a 401

Everything LinkedIn supports, through one endpoint

Every content type and capability available on LinkedIn via Outstand today.

Text posts

Images

Video

Article link cards

PublishingSchedulingAnalyticsMedia handlingComments

Plus inline @mentions of people and organizations. Posting to a personal profile or a Company Page both work the same way.

Copy, paste, ship

The same accounts array also fans out to Instagram, X, TikTok and more — one request, many platforms.

Post with an image

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "A peek at our new dashboard 📊",
    "accounts": ["linkedin"],
    "media": [{ "url": "https://media.outstand.so/dashboard.png", "filename": "dashboard.png" }]
  }'

Share an article link card

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "How we scaled to 1M users 👇",
    "accounts": ["linkedin"],
    "linkedin": {
      "article": {
        "source": "https://example.com/blog/scaling",
        "title": "How We Scaled to 1M Users",
        "description": "A deep dive into our infrastructure journey.",
        "thumbnailUrl": "https://media.outstand.so/og.png"
      }
    }
  }'

@mention an organization

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Proud to partner with LinkedIn on this 🎉",
    "accounts": ["linkedin"],
    "linkedin": {
      "mentions": [{ "urn": "urn:li:organization:1337", "text": "LinkedIn" }]
    }
  }'

Schedule a post (up to 30 days out)

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "content": "Big announcement Monday 📣", "accounts": ["linkedin"], "scheduledAt": "2026-07-06T13:00:00Z" }'

Read analytics

bash
curl https://api.outstand.so/v1/posts/{id}/analytics \
  -H "Authorization: Bearer $OUTSTAND_API_KEY"
# → impressions, unique_impressions, clicks, likes, comments, shares, engagement_rate

Read & reply to comments

bash
# Read the comments on a published post
curl "https://api.outstand.so/v1/posts/{id}/replies?network=linkedin" \
  -H "Authorization: Bearer $OUTSTAND_API_KEY"

# Reply to a comment (or comment on your own post)
curl https://api.outstand.so/v1/posts/{id}/replies \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "content": "Thanks for reading — glad it helped!", "account_username": "yourbrand" }'

Live in three steps

From signup to your first published post in about five minutes.

1

Connect LinkedIn

Your user authorizes via OAuth. We store and refresh the token and resolve their profile or Page URN. Use our Managed Keys, or bring your own app.

2

Call POST /v1/posts/

Send text and media with accounts: ["linkedin"]. Add an article card, mentions, or scheduledAt as needed.

3

We do the LinkedIn API work

Asset registration, URN resolution, mention rewriting and retries — returned as a unified response with the published post ID.

More than a LinkedIn wrapper

One integration that grows with everything you ship next.

One API, 10+ platforms

One request publishes to LinkedIn and 10 more networks. Same JSON shape everywhere — learn one API, ship them all.

Managed Keys or BYOK

Skip LinkedIn’s Marketing Developer Platform review — use our Managed Keys, or bring your own LinkedIn app for white-label OAuth under your brand.

Built for scale

Intelligent rate limiting, automatic token refresh, webhook events and media processing.

Honest pricing

$19/mo includes 3,000 posts, then from $0.007/post. No seats, no annual lock-in.

What you can build

Same endpoints, same data shapes — pick what you ship.

Social schedulers

Let your users queue and auto-publish LinkedIn content from your app.

AI agents

Give Claude or GPT a tool to post to LinkedIn. MCP server included.

Analytics dashboards

Pull LinkedIn reach and engagement alongside every other platform.

Agencies & white-label

Run LinkedIn posting for clients under your own brand and app.

LinkedIn API FAQ

The questions developers ask before they build.

Does LinkedIn have an official API?

Yes — the LinkedIn Posts API (part of the Marketing Developer Platform) lets approved apps publish posts, share articles and read analytics for member profiles and Company Pages. Outstand is a managed layer on top of it, so you skip the setup.

Can I post to a Company Page and a personal profile via API?

Yes. Both work through the same POST /v1/posts/ call — Outstand resolves the correct author URN (urn:li:organization for a Page, urn:li:person for a profile) based on the connected account.

Can I share an article or link with a custom card?

Yes. Pass linkedin.article with a source URL plus optional title, description and thumbnailUrl. Outstand uploads the thumbnail to LinkedIn and attaches the image URN, since LinkedIn rejects raw URLs as thumbnails.

Can I @mention a company on LinkedIn via API?

Yes. Pass linkedin.mentions with the entity URN and its exact, case-sensitive registered name. The matching text in your post is rewritten into LinkedIn’s annotation format so it renders as a clickable mention.

Can I schedule LinkedIn posts via the API?

Yes. Add a scheduledAt ISO-8601 timestamp (up to 30 days ahead) and Outstand publishes the post automatically — no cron or queue on your side.

Can I read and reply to LinkedIn comments via the API?

Yes. Read the comments on a published post with GET /v1/posts/{id}/replies?network=linkedin and post a reply with POST /v1/posts/{id}/replies.

Can I delete a LinkedIn post via the API?

Yes. LinkedIn supports deleting posts via the API, and Outstand exposes it through DELETE /v1/posts/{id}/remote.

Ship LinkedIn posting today

Grab an API key and publish your first post in the next five minutes. 3,000 posts included, then from $0.005/post.