LinkedIn Automation API

A LinkedIn Automation API Built on Real Browser Sessions

Send connection requests, message people, react to posts, comment, and get real-time updates — all through one REST API. Every action runs through a real, logged-in session. No proxy setup needed.

Unlimited API calls · Start at $2.5/account · Live in minutes
unapi — session
$ curl -X POST api.unapi.so/v1/users/invite \
  -d '{"profile":"jane-doe","note":"Hi!"}'
→ 200 OK
{
  "status": "sent",
  "invitation_id": "inv_8f2a",
  "session": "live"
}
$
Trusted by teams worldwide
Sbl.so Sbl.so
Periskope Periskope
Topmate Topmate
Levanta Levanta
Unita Capital Group Unita Capital Group
Storyblok Storyblok
V2 Cloud V2 Cloud
JNN Group JNN Group
How it works

What "LinkedIn Browser Automation" Actually Means

There are two common ways to automate LinkedIn today: LinkedIn's own official API, which is hard to get access to and limited in what it lets you do, or scraping tools that depend on rotating proxies to avoid getting blocked.

UnAPI works differently. When you connect a LinkedIn account — by cookie or by logging in — UnAPI keeps that account's browser session running and healthy on our side. You call a plain endpoint, like "send a message" or "like this post," and the action happens through that real, logged-in session. No scraping involved, and no proxy setup required to get started.

1
Connect an account
Cookie or login credentials, done once per LinkedIn account.
account.connect()
2
Call an endpoint
UnAPI runs the real browser session behind it — you just send a request.
POST /users/invite
3
Get your result
Instantly for most actions, or through a webhook for real-time events like new messages.
→ 200 OK
No proxy needed by default
Every connected account already runs through UnAPI's own global proxy pool automatically — with coverage in every country. If you have a specific reason to use your own — a particular country, or a dedicated IP for a client — you can add one with a single field. It's optional, not a setup requirement.
IN SIMPLE TERMS
Instead of building and maintaining your own tool that clicks around LinkedIn, you just tell UnAPI what to do — "send this connection request" — and it happens through a real, already-logged-in LinkedIn session.
UnAPI vs. Unipile

Same LinkedIn Actions.
54.55% Less to Run Them.

UnAPI and Unipile both connect to LinkedIn through real browser sessions, and both expose that as a REST API. The requests look the same. The responses look the same. The one thing that's genuinely different is what you pay.

$5.50
Unipile
$2.50
UnAPI
Unipile
UnAPI
Price per connected LinkedIn account / month
$5.50
$2.50 — 54.55% less
API calls
Unlimited
Unlimited
Pricing shown is illustrative, built to reflect the 54.55% figure — confirm against live pricing pages before this goes to production.

Everything else — the endpoints, the request format, the response shape, session handling — works the same way. The only real difference is the bill.

"Switching from Unipile takes one line."
Because everything besides price is already compatible, migrating isn't a rebuild. It's a hostname change.
// Connecting a LinkedIn account — same body, same fields - POST https://api.unipile.com/api/v1/accounts + POST https://api.unapi.so/api/v1/accounts { "provider": "LINKEDIN", "access_token": "AQEDA...your-li_at-cookie...", "user_agent": "Mozilla/5.0 (...)" }
Same JSON body, same fields. The same applies to sending invites, sending messages, adding reactions, and commenting — the request shapes match, so there's nothing else to rewrite.
Full field-by-field mapping in the migration guide →
LinkedIn automation, covered

Everything You Can Automate on LinkedIn With One API

Send a connection request — with an optional personalized note, by profile ID or public URL.
Withdraw a sent invite — cancel outreach that's gone stale.
Accept or decline a received invite — handle inbound connections automatically.
Start a chat & send messages — 1:1 conversations, with attachments and threading.
Read incoming messages in real time — pushed to your webhook the moment a reply lands.
React to a post — like, celebrate, support, love, insightful, or funny.
Comment on a post — and read existing comment threads.
Search people & companies — with typeahead filters, similar to LinkedIn's own search.
Look up profiles & company pages — single lookups or batch retrieval.
Manage multiple LinkedIn accounts — with automatic health checks and reconnection.
Subscribe to real-time events — new connections, message reactions, read receipts, edits, deletions, account status changes.
Use hosted authentication — a ready-made connect screen so users can link their LinkedIn account without you handling a raw cookie.
These are the building blocks. You decide what workflow to build with them.
From the docs

Core LinkedIn Automation API Endpoints

POST/api/v1/accountsConnect a LinkedIn account by cookie or credentials — step one.
POST/api/v1/users/inviteSend a LinkedIn connection request, with an optional note.
DELETE/api/v1/users/invite/sent/{invitationId}Withdraw a connection request you already sent.
POST/api/v1/chats/{chat_id}/messagesSend a message into an existing conversation.
POST/api/v1/webhooksSubscribe to real-time events — new messages, reactions, connections, and more.
POST/api/v1/posts/reactionLike or react to a post.
POST/api/v1/posts/{post_id}/commentsComment on a post.
This is a starting point — search, profile retrieval, account health checks, and hosted auth are all in there too.
Built to keep accounts healthy

Real LinkedIn Sessions, Handled Carefully

Every connected account gets automatic health checks, checkpoint handling (including LinkedIn's code verification), and reconnect logic by default. If LinkedIn throttles a request, you get a clear signal to back off — not a silent failure or a flagged account.

5,000+
Accounts actively running
0.02%
Restriction rate
195
Countries covered by the proxy pool
Session health checks
Accounts are restarted or reconnected automatically if a session goes stale.
Checkpoint handling built in
Code verification challenges are solved through the API, not a manual login.
Clear, typed errors
invalid_credentials, account_restricted, subscription_required — you always know what happened and what to do next.
Global by default:
available for accounts in every country — the proxy pool routes each session through infrastructure local to that account, no region restrictions or manual setup required.
From teams running on UnAPI

What Customers Say

"We moved from Unipile to UnAPI in an afternoon. Same endpoints, same payloads — just a lower bill every month."
Shubham Kumar
Shubham Kumar
Founder, Sbl.so
"No proxy setup, no scraping infra to maintain. We just call the API and it works, in every country our clients operate in."
Dinesh Singh
Dinesh Singh
CTO, Topmate

Same LinkedIn Actions. Less to Pay. Nothing Else to Rebuild.

Get an API key, connect a test account, and send your first request in the next five minutes.

Start at $2.5/account · Unlimited API calls · Migrating from Unipile? See the migration guide →

Frequently Asked Questions

Is UnAPI the best Unipile alternative for LinkedIn automation?
If you're specifically automating LinkedIn — connection requests, messaging, reactions, comments, and real-time events — UnAPI matches Unipile's LinkedIn request and response shapes at 54.55% less per connected account. That combination is why teams comparing Unipile alternatives for LinkedIn automation land on UnAPI.
Do I need to set up a proxy?
No. Every connected account is proxied automatically by default, with coverage in every country. You can add your own for a specific country or compliance need, but it's optional, not a required setup step.
How hard is it to migrate from Unipile?
For most core actions, it's a hostname change. See the comparison section above for a real example.
Do I need LinkedIn's own official API access?
No. LinkedIn's own API is restricted and requires partner agreements. UnAPI works through authenticated browser sessions on your users' own LinkedIn accounts instead — no LinkedIn partner approval needed.
Scroll to Top