REST API and webhooks

LinkedIn messaging API for the accounts you already use.

Send LinkedIn messages, read replies, build lead lists and run connect-then-message campaigns from your own code. One API key, a clean JSON API and a webhook for every new message, through the LinkedIn accounts you connect.

  • No partner approval
  • 92 endpoints
  • 42 webhooks
Send a LinkedIn message
curl -X POST "https://api.reachhunt.ai/api/v1/conversations/$CONVERSATION_ID/messages" \
  -H "Authorization: Bearer $REACHHUNT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "accountId": "7d2e1b4c-9a3f-4e6d-8c1b-2f5a6e9d0c47",
    "text": "Hi John, thanks for connecting. Open to a quick chat about outbound?"
  }'
Response (shortened)
{
  "status": true,
  "data": {
    "messageId": "2-ZjQ5YzE0YmQtNmE3Zi00",
    "message": { "text": "Hi John, thanks for connecting…" }
  },
  "error": null
}
Why ReachHunt

A LinkedIn API built for outreach.

LinkedIn’s official developer API is built for sign-in, sharing and ads. Messaging is open to approved partners only. ReachHunt gives you outreach endpoints today.

ReachHunt API compared with the official LinkedIn developer API for outreach
ReachHunt APIOfficial LinkedIn API
What you sign up forA ReachHunt workspaceA LinkedIn developer app
Send messages to your leadsApproved partners only
Lead lists from searches, posts and groups
Connection requests and InMails in campaigns
Webhook for every new messageApproved partners only
Shared inbox for your team
X (Twitter) on the same API
Endpoints

Everything LinkedIn outreach needs, in one API.

92 operations across accounts, inbox, leads and campaigns. Every item carries a platform of linkedin or x, so the same code works for both networks.

  • Accounts

    List connected LinkedIn accounts, check what each can still send today and follow its warm-up.

  • Conversations and invitations

    List and read threads, find or start a conversation with a lead, and answer invitations and message requests.

  • Messages

    Send LinkedIn messages, react to them, and schedule a message to go out later.

  • Lead lists and imports

    Import people from a LinkedIn search, your connections, followers, post likers, commenters or group members.

  • Campaigns

    Create sequences with connection requests, messages and free InMails, then start, pause or stop them.

  • Webhooks

    42 event types, from message.received to connection_request.accepted, sent to your HTTPS endpoint as they happen.

Quick start

Send your first LinkedIn message in four requests.

Create a key in Settings → API, export it as REACHHUNT_API_KEY, and follow along.

  1. 1

    Pick the account to send from

    List your connected accounts and keep the id of a LinkedIn account whose status is connected.

    List accounts
    curl "https://api.reachhunt.ai/api/v1/accounts" \
      -H "Authorization: Bearer $REACHHUNT_API_KEY"
  2. 2

    Pick a lead

    List your lead lists, then the leads in one of them, and keep the id of a lead on LinkedIn.

    List leads
    curl "https://api.reachhunt.ai/api/v1/leads" \
      -H "Authorization: Bearer $REACHHUNT_API_KEY"
    
    curl "https://api.reachhunt.ai/api/v1/leads/$LEAD_LIST_ID/prospects" \
      -H "Authorization: Bearer $REACHHUNT_API_KEY"
  3. 3

    Find or start the conversation

    If you have never messaged this person, ReachHunt creates a draft that becomes a real conversation when the first message goes out. canSend tells you whether you can message them.

    Get or create a conversation
    curl -X POST "https://api.reachhunt.ai/api/v1/conversations/get-or-create" \
      -H "Authorization: Bearer $REACHHUNT_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"accountId": "ACCOUNT_ID", "prospectId": "LEAD_ID"}'
  4. 4

    Send the message

    Post the text with the account to send from. The response has the new messageId.

    Send a LinkedIn message
    curl -X POST "https://api.reachhunt.ai/api/v1/conversations/$CONVERSATION_ID/messages" \
      -H "Authorization: Bearer $REACHHUNT_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "accountId": "7d2e1b4c-9a3f-4e6d-8c1b-2f5a6e9d0c47",
        "text": "Hi John, thanks for connecting. Open to a quick chat about outbound?"
      }'
Webhooks

Get every reply the moment it lands.

Add an HTTPS endpoint in Settings → Webhooks, pick the events it should receive, and add a secret header so your server can check each request.

Every event has the same envelope and a unique id, so you never handle the same reply twice. Connection request events tell you the moment someone accepts.

  • Post to Slack when a lead replies
  • Sync replies and deal values to your CRM
  • Start a follow-up when a connection request is accepted
message.received (shortened)
{
  "id": "evt_9f1c3b7a-2d4e-4c6a-8b1f-0e3d5c7a9b21",
  "type": "message.received",
  "apiVersion": "1",
  "createdAt": "2026-10-19T10:32:00.000Z",
  "data": {
    "account": { "platform": "linkedin", "handle": "jane-cooper" },
    "contact": {
      "platform": "linkedin",
      "name": "John Doe",
      "headline": "Founder at Acme",
      "profileUrl": "https://www.linkedin.com/in/john-doe"
    },
    "message": { "text": "Thanks for reaching out, happy to chat next week." }
  }
}
Safety

Account safety, built into every call.

Safety works per account, not per key, so the app, campaigns, the API and MCP all share the same healthy pace.

  • Smart daily limits

    Each LinkedIn account sends at a safe pace that no script can push past.

  • Warm-up for new accounts

    A newly connected account ramps up step by step, and the API shows its progress.

  • Auto-pause protection

    ReachHunt pauses an account on its own when it needs a break, and the API tells you when it’s ready again.

  • canSend before you send

    Before you message someone, the API tells you whether you can reach them.

Build your way

Code, no-code or plain English.

  • REST API

    JSON over HTTPS with a Bearer key. Every response uses the same status, data and error envelope, so one error handler covers all 92 operations.

  • n8n node

    Install n8n-nodes-reachhunt from community nodes. Send DMs and run campaigns from any workflow, or start one when a lead replies with the ReachHunt Trigger.

  • MCP server

    Connect Claude, ChatGPT or Cursor to the same operations and run them by asking, with no code at all.

FAQ

LinkedIn API questions, answered.

Still have a question?

Book a demo

No. It is ReachHunt’s own API. It works through the LinkedIn accounts you connect to ReachHunt with our browser extension, and ReachHunt is not affiliated with LinkedIn Corporation. Your API key comes from ReachHunt.

Now live

Your next customer is one DM away.

Connect an account, build a list and switch on your AI agent — in about the time it took to read this page.

  • 14-day free trial
  • No card required
  • 2-minute setup