LinkedIn · Professional

The LinkedIn API, person or page, one call

Publish to a LinkedIn profile or company page with the Posts API. We format the author URN, distribution, and lifecycle — you send the commentary.

ProfilesCompany pages3,000 charsScheduling
Official OAuth APIup to 3,000 charsLinkedIn Posts API
curl https://postmyish.com/api/v1/posts \
  -H "Authorization: Bearer $POSTMYISH_KEY" \
  -H "Content-Type: application/json" \
  -d '{"caption":"Three lessons from scaling to 10k customers →","platforms":["linkedin"]}'
201 · { id: "9f2c8b1e…", status: "published" }JSON
Why not raw?

LinkedIn Posts API is powerful — and painful

The official API can do this. It just makes you do a lot first. Here's what raw LinkedIn publishing costs you, and what PostMyIsh absorbs.

Raw LinkedIn API
With PostMyIsh
Payload
Author URN, visibility, distribution, lifecycleState — verbose JSON
One POST /v1/posts; we assemble the body
Auth
OAuth with Share-on-LinkedIn + Sign-In products, each approved
One OAuth screen, one encrypted token
Post id
Returned in the x-restli-id header, not the body
We read the header and store the id for you
Page rights
Company posting needs the user to be a page admin
We surface which pages you can actually post to
Capabilities

Everything LinkedIn supports, one endpoint

Post types, limits, and scheduling — all through the same POST /v1/posts call, formatted the way LinkedIn expects.

Personal posts

Post as a member with the w_member_social scope.

Company pages

Post as an organization URN when you're a page admin.

Long form

Up to 3,000 characters of commentary per post.

Scheduling

Queue with schedule_at; we publish on time.

Copy, paste, ship

Real calls, not pseudocode

Every snippet hits the live API — same base URL, Bearer auth, plain JSON. Add your key and it runs.

Publish to LinkedIn now

One POST fans out to LinkedIn. The response carries the id and status the moment it ships.

curl https://postmyish.com/api/v1/posts \
  -H "Authorization: Bearer $POSTMYISH_KEY" \
  -H "Content-Type: application/json" \
  -d '{"caption":"Three lessons from scaling to 10k customers →","platforms":["linkedin"]}'
How it works

Live in three steps, not three weeks

Connect LinkedIn, call one endpoint, and we run the LinkedIn Posts API plumbing behind it.

Step 01

Connect the account

Link it once from the Accounts page through its official login. The credential is stored encrypted.

Step 02

POST /v1/posts

Send one caption and the platform id. Add schedule_at to queue it, or media for a URL.

Step 03

We handle the rest

Container flows, token refresh, rate limits, and the real post id — all on our side.

Straight talk: The Share-on-LinkedIn product needs approval, and company-page posting requires page-admin rights. Once your token is minted, the Posts API call is complete and posts for real.

One API, eleven more

LinkedIn is one entry in the same array

Add another id to platforms and the identical call posts there too. One request already covers LinkedIn, X, and Facebook — no second integration.

See all twelve networks
LinkedIn API FAQ

The honest answers

What's real, what needs review, and what LinkedIn itself requires — no hand-waving.

Is this the official LinkedIn API?

Yes — the LinkedIn Posts API (POST /rest/posts) with the versioned header.

Can I post as a company page?

Yes, when you're an admin of that page — post with the organization URN instead of your person URN.

What scope do I need?

w_member_social to post as a person, plus organization scopes to post as a company page.

Can I schedule?

Yes — schedule_at queues it and we publish when it's due.

Ready to post your ish everywhere?

Connect your accounts, write one caption, and be live on every feed in minutes. The free plan is genuinely free.