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 |
|---|---|---|---|---|
Authenticates a member; scopes | 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 |
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, 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 | |
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 | |
Programmatic refresh token | 365 days, when enabled for the app | Per member token | |
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 | |
API version support | Minimum one year per monthly version | Per app |
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.
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.
authorisurn:li:person:{id}for a profile andurn: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/organizationAclsfirst. - 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.
PUBLISHEDis 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.
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_socialneeds 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.