LinkedIn API · post · schedule · analyze

The LinkedIn API for posting, scheduling and analytics

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.

LinkedIn API pricing and access

LinkedIn does not sell API access - it grants it. The cost is the review cycle, not a licence fee. Here is what each route actually requires.

What LinkedIn charges
Nothing. The Posts API and Community Management API carry no licence fee - access is gated by product approval, not price.
Going direct to LinkedIn
A LinkedIn Developer app, a verified Company Page, and approval for the Marketing Developer Platform or Community Management API. Expect a written use-case review that takes weeks and can be declined.
Going through Outstand
An Outstand API key. Your users authorize with OAuth against our reviewed app - no LinkedIn application, no review queue, no waiting.
Outstand pricing
$19/month including 3,000 posts, then $0.007/post - dropping to $0.005/post at volume. No per-seat fees and no annual lock-in.
Bringing your own app
Already approved by LinkedIn? Drop your client ID and secret in and Outstand runs OAuth under your brand, so your users never see ours.

Rate limits, 60-day token expiry and retry handling are included on every plan - they are not a premium tier.

More than a LinkedIn wrapper

One integration that grows with everything you ship next.

One API, 11 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.

How much does the LinkedIn API cost?

LinkedIn charges no licence fee for the Posts API or Community Management API - the barrier is approval, not price. You apply for the product, describe your use case, and wait. Outstand costs $19/month including 3,000 posts, then $0.007/post dropping to $0.005 at volume, and skips the approval queue entirely.

How do I get LinkedIn API access?

Directly, you create a LinkedIn Developer app, associate it with a verified Company Page, then request the Marketing Developer Platform or Community Management API and pass a use-case review that takes weeks and can be declined. With Outstand you sign up, get an API key, and your users authorize via OAuth against our already-approved app.

How do I get a LinkedIn API key?

LinkedIn issues a client ID and client secret to an approved Developer app, not a simple API key, and you still run the OAuth flow yourself to get a member access token. Outstand gives you one bearer token that works across LinkedIn and ten other networks, and manages the LinkedIn OAuth handshake and token refresh behind it.

What are the LinkedIn API rate limits?

LinkedIn applies daily throttles per member and per application, and returns 429 responses once you cross them. The exact ceilings depend on which products your app is approved for. Outstand queues, throttles and retries requests under the hood, so you do not implement backoff yourself.

Can I pull LinkedIn analytics via the API?

Yes. GET /v1/posts/{id}/analytics returns impressions, unique impressions, clicks, likes, comments, shares and engagement rate for a published post, in the same response shape used for every other network.

Can I use the LinkedIn API to scrape profiles or search people?

No, and neither does Outstand. LinkedIn does not expose profile search or bulk profile data through its public API, and scraping it violates LinkedIn’s terms. Outstand is a publishing and analytics API for accounts your users own and have authorized.

Ship LinkedIn posting today

Grab an API key and publish your first post in the next five minutes. 3,000 posts included, then $0.007/post - dropping to $0.005 at volume.