Engineering

LinkedIn API pricing in 2026: what it actually costs to post

LinkedIn has no API price list. The cost is Community Management API approval, 60-day tokens, per-app and per-member daily limits, and the upload-then-post flow.

The LinkedIn API has no price. LinkedIn publishes no rate card, no per-call fee and no paid plan for any product in its developer catalog, so a search for LinkedIn API pricing ends without an invoice. What LinkedIn does instead is gate. To publish to other people's profiles and Company Pages you need a developer app verified by a LinkedIn Page, approval for the Community Management API, a second review to leave the Development tier, access tokens that expire after 60 days, and a separate upload before any image can appear in a post. This post prices those out for a team that wants to publish to LinkedIn through the API, not scrape it.

Last verified: September 2026, against LinkedIn's developer documentation on Microsoft Learn. Every number below links to its source page.

Short answer: is the LinkedIn API free?

Yes. The product catalog lists every product from consumer sign-in to regulatory data portability, and not one of them carries a price. There is no free tier, because there is no paid tier. The only LinkedIn API money that changes hands is ad spend through the Advertising API, and that pays for ads, not calls.

Everything else is paid in prerequisites. LinkedIn's Getting Access page says most permissions require explicit approval, and lists exactly three open ones: profile, email and w_member_social. The first two are sign-in. The third lets an app post to the profile of the person who authorized it, and nothing else.

So the LinkedIn API cost is zero in dollars and non-zero in approval time, engineering and maintenance.

Which LinkedIn API can actually post?

"LinkedIn API" covers four products that get mixed up in pricing searches. Two of them publish organic posts.

Product

What it does

Can it post?

Access

Fee

Sign In with LinkedIn using OpenID Connect

Authenticates a member; scopes openid, profile, email

No

Self-serve

$0

Share on LinkedIn

Posts to the authorizing member's own profile

Profiles only

Self-serve

$0

Community Management API

Posts, comments, reactions and analytics for profiles and Company Pages

Profiles and Pages

Application and review, two tiers

$0

Advertising API

Campaigns, ad accounts, sponsored and dark posts

Sponsored content only

Application and review, two tiers

$0 plus ad spend

Share on LinkedIn is the self-serve posting product. Adding it in the Developer Portal grants w_member_social, which the Share on LinkedIn page scopes to posts on behalf of the authenticated member. Member, singular: it posts to the profile of whoever signed in, never to a Company Page.

The LinkedIn Community Management API is the product a scheduler, an agency tool or an AI agent actually needs. LinkedIn's overview covers Company Page management, page and member analytics, comments and reactions, and "Profile Management", meaning posts on behalf of individual profiles. Approval grants w_member_social and w_organization_social plus the read and analytics scopes. It sits inside the LinkedIn Marketing API Program, formerly the LinkedIn Marketing Developer Platform.

If you searched "linkedin post api" or "linkedin posts api", the endpoint you want is the versioned Posts API at /rest/posts, and the product that unlocks it for Pages is Community Management.

LinkedIn API pricing breakdown: the $0 fee and what replaces it

Here is what a direct integration costs once you stop looking for a price and start listing prerequisites. Every row after the first is non-zero.

Line item

LinkedIn's fee

What it costs you

API calls

$0

Nothing per call, ever

Developer app

$0

Created in the Developer Portal, associated with a LinkedIn Page

Page verification

$0

A super admin of that Page must verify the app

Legal entity

$0

Registered organization, verified business email, legal name, address, website, privacy policy

Development tier review

$0

Access request form, use-case vetting, no published turnaround

Standard tier review

$0

Second form, narrated screencast per use case, test credentials for reviewers

OAuth and tokens

$0

60-day access tokens; refresh tokens only if LinkedIn enables them for your app

Media upload

$0

Initialize, upload, then reference the urn:li:image or urn:li:video

Article cards

$0

Thumbnail must be uploaded as an image asset; LinkedIn does not scrape the URL

Rate limits

$0

Per-app and per-member daily ceilings, unpublished, reset at midnight UTC

Versioning

$0

Monthly versions, each supported for a minimum of one year, then sunset

Data storage rules

$0

Member social activity data may be held for 48 hours, most profile data for 24

LinkedIn API access: what the application asks for

The Community Management App Review page sets the bar before you submit anything:

At this time, our Community Management APIs are only available to registered legal organizations for commercial use cases only.

Reviewers check for Development tier: an approved use case, a verified business email (personal addresses fail vetting), a verified organization, website and domain, and an app verified by that organization's LinkedIn Page. A rejected app cannot reapply; you create a new one.

Development tier is not production. The Increasing Access page caps it at 500 API calls per app and 100 per member per 24 hours, disables batch gets and social-action webhooks, and gives you twelve months to finish building. Standard tier lifts the caps, and getting there means a second form, a downloadable screencast demonstrating every use case you claimed, and test credentials so LinkedIn can log into your product. LinkedIn adds that meeting the minimum requirements does not guarantee an upgrade.

LinkedIn publishes no review timeline for either tier. Do not put one in your plan.

These are the LinkedIn API pricing tiers people ask about: not price bands, but Development and Standard, separated by a review.

LinkedIn API rate limits and the limits that shape a scheduler

LinkedIn's rate limiting page describes two daily ceilings, application-level and member-level, that reset at midnight UTC and return HTTP 429 when crossed. On the actual numbers it is unusually candid:

Your application's daily rate limit varies based on which API endpoint you are using. Standard rate limits are not published in documentation.

You read your own limits in the Developer Portal's Analytics tab, and an endpoint only appears there after you have called it that day. Admins get an email when the app passes 75% of a quota, delayed one to two hours, and only for app-level breaches.

What LinkedIn does publish, as of September 2026:

Limit

Value

Scope

Source

Share on LinkedIn, member

150 requests per day (UTC)

Per member

Share on LinkedIn

Share on LinkedIn, application

100,000 requests per day (UTC)

Per app

Share on LinkedIn

Community Management, Development tier

500 calls per app and 100 per member, per 24 hours

Per app and per member

Increasing Access

Community Management, Standard tier

"No restrictions" listed; endpoint quotas shown in the Developer Portal

Per app and per member

Increasing Access, rate limiting page

Access token lifetime

60 days

Per member token

3-legged OAuth

Programmatic refresh token

365 days, when enabled for the app

Per member token

Refresh tokens

Authorization code

30 minutes

Per OAuth round trip

3-legged OAuth

Image upload

JPG, GIF, PNG under 36,152,320 pixels; GIF up to 250 frames

Per asset

Images API

API version support

Minimum one year per monthly version

Per app

Versioning

The Posts API has no documented posts-per-day figure; the 429 you eventually hit comes from the endpoint quota in your portal. And the Development tier's 100 calls per member covers every endpoint, so a customer who connects, uploads, posts and reads analytics has used a meaningful slice before lunch.

If you want LinkedIn API limits as one number, there is not one. There is a per-member ceiling, a per-app ceiling, and a portal that shows you both after the fact.

What it costs to actually publish: the Posts API step by step

There is one create endpoint, but a post with an image is three calls, and every call needs two headers that older tutorials omit: Linkedin-Version in YYYYMM format and X-Restli-Protocol-Version: 2.0.0. Omit the version header and the request is rejected; LinkedIn does not default you to the latest.

bash
1# 1. Register the image (owner is the profile or Page that will post)
2curl -X POST 'https://api.linkedin.com/rest/images?action=initializeUpload' \
3  -H "Authorization: Bearer $LINKEDIN_ACCESS_TOKEN" \
4  -H 'Linkedin-Version: 202608' \
5  -H 'X-Restli-Protocol-Version: 2.0.0' \
6  -H 'Content-Type: application/json' \
7  -d '{ "initializeUploadRequest": { "owner": "urn:li:organization:5515715" } }'
8# -> { "value": { "uploadUrl": "https://www.linkedin.com/dms-uploads/...", "image": "urn:li:image:C4E10AQFoyyAjHPMQuQ" } }
9
10# 2. Upload the bytes to uploadUrl, then wait for the asset to become AVAILABLE
11curl --upload-file launch.png -H "Authorization: Bearer $LINKEDIN_ACCESS_TOKEN" "$UPLOAD_URL"
12
13# 3. Create the post; the id comes back in the x-restli-id response header
14curl -i -X POST 'https://api.linkedin.com/rest/posts' \
15  -H "Authorization: Bearer $LINKEDIN_ACCESS_TOKEN" \
16  -H 'Linkedin-Version: 202608' \
17  -H 'X-Restli-Protocol-Version: 2.0.0' \
18  -H 'Content-Type: application/json' \
19  -d '{
20    "author": "urn:li:organization:5515715",
21    "commentary": "Launch day. Details in the comments.",
22    "visibility": "PUBLIC",
23    "distribution": { "feedDistribution": "MAIN_FEED", "targetEntities": [], "thirdPartyDistributionChannels": [] },
24    "content": { "media": { "id": "urn:li:image:C4E10AQFoyyAjHPMQuQ", "altText": "Dashboard screenshot" } },
25    "lifecycleState": "PUBLISHED",
26    "isReshareDisabledByAuthor": false
27  }'

What this flow makes you own:

  • URNs. author is urn:li:person:{id} for a profile and urn:li:organization:{id} for a Page, and a member's token only works for Pages where they hold an ADMINISTRATOR, DIRECT_SPONSORED_CONTENT_POSTER or CONTENT_ADMIN role, which you look up through /organizationAcls first.
  • Assets before posts. Images, videos and documents are separate uploads that return a URN. Article cards are the same: the Posts API does not scrape the URL, so you fetch the thumbnail, upload it through the Images API and pass the image URN.
  • No scheduling. PUBLISHED is the only lifecycle state accepted at creation. A queue and a clock are your job.
  • Mentions and escaping. @[Devtestco](urn:li:organization:2414183) in the commentary, with text matching the organization's name exactly, case included. Reserved characters in LinkedIn's "little" text format (parentheses, brackets, braces, @, #, *, _, ~, <, >, |, backslash) must be escaped.
  • No organic carousels. The Posts API lists carousels as sponsored only; multi-image organic posts use a separate MultiImage shape.

The same post through Outstand is one call. The media URL is the one the Media API's confirm-upload step returned.

bash
1curl -X POST https://api.outstand.so/v1/posts \
2  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "accounts": ["linkedin"],
6    "containers": [
7      {
8        "content": "Launch day. Details in the comments.",
9        "media": [{ "url": "https://media.example.com/launch.png", "filename": "launch.png" }]
10      }
11    ],
12    "scheduledAt": "2026-09-20T14:00:00Z"
13  }'

Outstand resolves the URN for the connected account, registers and uploads the asset, handles mention and escaping format, holds the post until scheduledAt, and refreshes the token before day 60. The request schema is in the Outstand API docs.

Hidden costs developers hit after launch

The application is the visible cost. These show up on call.

Tokens expire on day 60, and most apps cannot refresh them. The OAuth guide states that all access tokens are issued with a 60-day lifespan and that LinkedIn does not generate long-lived ones. The documented refresh path for a normal app is to send the member back through the authorization URL; the consent screen is skipped only while they are logged in to LinkedIn and the old token is still valid. Programmatic refresh tokens, valid for 365 days, are available to a limited set of partners, and even then the member must reauthorize when the refresh token's own clock runs out.

Versions sunset every month. Marketing API versions ship monthly with a minimum of one year of support each. The migrations table shows the rhythm: 202508 was sunset on August 17, 2026 and 202509 goes on September 15, 2026. An integration nobody has touched in a year stops on a date you did not pick. Outstand pins the version in its engine and bumps it as routine maintenance.

The legacy endpoints are still documented. POST /v2/ugcPosts and the /v2/shares Share API are marked legacy; the migration page lists ugcPosts among the APIs replaced by the Content APIs as of June 30, 2023. New code written from an old blog post starts life deprecated.

Data you are not allowed to keep. The restricted uses page limits stored member social activity data to 48 hours and most profile data to 24, and bans "social feed" use cases. Comment inboxes must be built around those windows.

Shared quotas across tenants. Every customer publishes through your one app, so one bulk import can 429 everyone. You need a queue that throttles per member and per app, against limits LinkedIn only shows you in a portal.

None of this is hard alone. It is many small, stateful things that must all keep working for a feature that is usually one checkbox in someone else's product.

LinkedIn API pricing from data vendors versus the official API

Most pages ranking for LinkedIn API pricing are written by data vendors, and what they sell is not the API in this post.

Option

What it does

Publishing

Relationship to LinkedIn

Pricing model

Community Management API (direct)

Publish, comment, analytics for accounts that authorize your app

Yes

Official, reviewed, member-consented

$0 from LinkedIn

Share on LinkedIn (direct)

Publish to the authorizing member's own profile

Profiles only

Official, self-serve

$0 from LinkedIn

Profile and company data APIs

Scraped or aggregated public profile, company and job data

No

Unofficial; LinkedIn's terms prohibit it

Per credit or request, see vendor sites

Outstand

Publish, schedule, comments, analytics through one API across 12 networks

Yes

Managed reviewed app, or bring your own

$19/mo incl. 3,000 posts, then $0.007/post to 10,000 and $0.005 after; $249/mo unlimited add-on

Proxycurl was the best known of the data APIs. Its parent company announced on July 4, 2025 that it was shutting down after LinkedIn sued it that January. The remaining vendors sell the same category: read-only, no member consent, no way to post, outside LinkedIn's terms. They are the wrong result for anyone who wants to publish.

The only ways to write to LinkedIn are the official API and something built on it. Outstand is the second thing: a managed layer whose LinkedIn app already holds the Community Management scopes (w_member_social, w_organization_social, r_organization_social and the analytics scopes), so your users authorize against it instead of waiting on your review. Outstand pricing is per post, not per seat or connected account, and the same request fans out to Instagram, X, TikTok and the rest.

When to apply to LinkedIn directly, and when not to

Building directly is the right call more often than a vendor will admit. It is free, and nothing sits between you and LinkedIn.

Apply directly when:

  • You only post to the profile of whoever signs in. Share on LinkedIn is self-serve, and w_member_social needs no review.
  • LinkedIn is your core product and owning URN resolution, asset uploads and the version cadence is part of the job.
  • Your launch date can float until Standard tier lands.
  • You need Advertising API features, or compliance rules forbid a third party from holding your users' tokens.

Use a managed API when:

  • LinkedIn is one of several networks and you do not want to implement upload-then-post several times. Our guide to building on a social posting API covers the shape.
  • Your first customer needs to post to a Company Page before LinkedIn has reviewed anything.
  • You need scheduling, which the Posts API does not offer.
  • You are shipping an AI agent and the tool needs to be one HTTP call with a stable schema.

If you already hold Standard tier, Outstand supports bringing your own LinkedIn app, so the OAuth screen carries your name. Endpoints, scopes and payloads are on the LinkedIn API for posting page. Meta's platform has the same shape with different numbers; see our Instagram API pricing breakdown.

LinkedIn API pricing from LinkedIn is zero. The cost is the review before your first Page post and the tokens, versions and quotas after it, and the decision is whether that work is your product or a distraction from it.


FAQ

Is the LinkedIn API free?

Yes. LinkedIn charges no license fee and no per-call fee for any product in its developer catalog, including the Community Management API and the Posts API. Access is granted by review rather than sold.

How much does the LinkedIn API cost for a scheduler?

LinkedIn API cost from LinkedIn is $0. A scheduler that posts to Company Pages needs Community Management approval through both tiers, plus the engineering for OAuth, 60-day tokens, asset uploads, versioning and rate limits. Outstand costs $19/month including 3,000 posts, then $0.007 per post up to 10,000 and $0.005 after, or $249/month for unlimited posting, with the LinkedIn app and that engineering handled.

What are the LinkedIn API rate limits?

Daily, per application and per member, reset at midnight UTC, with a 429 when exceeded. LinkedIn says standard limits are not published and shows them per endpoint in your app's Analytics tab. Published figures: Share on LinkedIn allows 150 requests per member and 100,000 per app per day; Community Management Development tier allows 500 calls per app and 100 per member per 24 hours.

How do I get LinkedIn API access to post to a Company Page?

Create a LinkedIn Page and a developer app, have a Page super admin verify the app, then request the LinkedIn Community Management API under Products. LinkedIn reviews your organization, business email, website and use case for Development tier, and requires a screencast plus test credentials for Standard tier. It publishes no turnaround time. With Outstand, your users authorize against an already-approved app.

What is the difference between the LinkedIn Marketing Developer Platform and the Community Management API?

The LinkedIn Marketing Developer Platform, now documented as the Marketing API Program, is the umbrella. The Community Management API is its product for organic posting, comments and analytics; the Advertising API is its product for campaigns and sponsored content. Both are application-gated with Development and Standard tiers, and both are free.

Are there LinkedIn API pricing tiers?

Not price tiers. The tiers are Development, capped at 500 calls per app and 100 per member per day with twelve months to finish building, and Standard, which lifts those caps after a second review. Neither costs money.