LinkedIn returns 429 with a Retry-After header. We relay it as-is, we never invent a stricter limit on top.
Every request runs on behalf of the authenticated user. Cadence stays a customer-side decision, not ours.
developer.unipile.com
1
1
109
Point your coding agent at it (Codex, Cursor, Claude Code or Gemini CLI) and describe the feature:
→ sync each recruiter's LinkedIn inbox into your ATS
→ reply to candidates from your own UI
→ people search, Sales Navigator, Recruiter
unipile.com/mcp/linkedin
4
188
Pulling 6 months of Gmail thread history in one GET request times out or truncates.
Cursor-based pagination: page through message history until the cursor comes back null.
developer.unipile.com
1
50
Instagram rate limits you on message 40 of a sync job.
Exponential backoff, not a retry loop: 1s, then 2s, then 4s. Hammering a 429 just earns a longer cooldown.
developer.unipile.com
47
Your webhook endpoint is a public URL. Anyone with it can POST a fake message.received and watch your automation fire.
Verify the signature header before you trust the payload. Every single time.
developer.unipile.com
#API
56
message.read landed in our webhook before message.received, same message.
Under load, delivery order isn't guaranteed. Sort by event timestamp, never by arrival order.
developer.unipile.com
38
Outlook revoked the refresh token mid-sync. Nobody needs to page an engineer for that.
account.disconnected fires, the user clicks one hosted reauth link, account.reconnected fires back. No redeploy.
developer.unipile.com
37
Proposing a slot without checking free-busy first is how you double-book a prospect's calendar.
GET free-busy, find the actual gap, then POST the event.
developer.unipile.com
35
Telegram sends one payload shape. Instagram sends another. Outlook sends a third.
One webhook URL for all of it. We normalize the shape before it reaches your endpoint.
developer.unipile.com
#API #DevTools
37
Cheap leads are easy. Current leads aren't.
Those providers are selling you LinkedIn data from 6 months ago.
Give the agent the user's own LinkedIn session instead.
API. On behalf of the authenticated user. No scraping.
Introducing Claude for people-search
No more $600 subscriptions, juts $0.0089/lead
Claude is now the best people finder in the world
#1 on People Search Bench
Fully open source, 0% markup
Try it at treg.to/people-search
Git Repo below 👇
42
Hope you can find great staff here :developer.unipile.com/docs/l…
We've just replaced LinkedIn capabilities by enabling our agents to take actions on our behalf
AgentWeb has indexed LinkedIn entirely (without violating TOS) to do anything a user can do
Made possible with AgentWeb (only)
48
Yes it's true, hard to find a good LinkedIn API..:)
I think you're in the right place
This quoted post is unavailable.
51
Unipile retweeted
Did you know you can access LinkedIn over MCP?
Most apps today, including CRMs like Recruit CRM, which have linkedin connectivity rely on @UnipileAPI. Unipile themselves rely on github.com/stickerdaniel/lin…, which is a open source MCP server for LinkedIn that you can run locally.
Telegram sends chat_id. Gmail sends threadId. WhatsApp sends message.id.
Your webhook handler sees one shape: message.received, same schema, every provider.
developer.unipile.com
#API #DevTools
1
65
Gmail wants OAuth 2.0 + PKCE. Outlook wants MSAL and the Graph API. IMAP wants an app password.
Three auth flows to send one email.
Or one API key and POST /emails.
developer.unipile.com
75
Your webhook just fired twice for the same message.
That's not a bug, that's at-least-once delivery. Dedup on message_id before you process it, or you'll double-send replies.
developer.unipile.com
#API
48
Your booking request times out. You retry. Now the prospect has 2 calendar invites for the same slot.
Idempotency-Key header fixes it. Same key, same booking, no duplicate.
developer.unipile.com
40
Your AI agent doesn't hold a credential. Your user does.
One hosted auth flow per user. Every API call after that passes account_id, scoped to their session, on their behalf.
No shared service account touching hundreds of inboxes.
developer.unipile.com
31
WhatsApp's 200 OK just means your message left the queue.
Delivered? Read? That's a separate webhook: message.status.
Sent on behalf of the authenticated user, tracked async.
developer.unipile.com
55
This is exactly the kind of build we like to see.
Happy to help if you take it further.
i built a job dashboard for yc companies powered by @supermemory to make finding founders & landing calls 10x faster.
→ 1,371 ranked YC roles from the last 2 years
→ T1 / T2 / T3 by reply probability
→ AI search ranks by meaning
→ 2,496 founders · 2,436 with LinkedIn · 1,235 with X · 853 with comp listed
→ outreach notes saved per company, close the tab, the dashboard remembers what you sent
without supermemory this is a sortable spreadsheet. with it, the search ranks by meaning and the dashboard remembers every founder i've touched.
stack: @claudeai code + @supermemory + @perplexity_ai API + @firecrawl + @MiniMax_AI 2.7 + @UnipileAPI for messaging
comment for access
114


















