POST
/
v1
/
messages
/
send-message
curl --request POST \
  --url https://api.linkupapi.com/v1/messages/send-message \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <x-api-key>' \
  --data '{
  "linkedin_url": "<string>",
  "message_text": "<string>",
  "country": "<string>",
  "media_link": "<string>",
  "login_token": "<string>"
}'
{
  "status": "success",
  "message": "Message sent successfully"
}

Send a direct message to any LinkedIn user. The message can be sent to either a new conversation or an existing one.

This endpoint costs 1 credit for text-only messages and 2 credits for messages with media attachments.

Header Parameters

x-api-key
string
required

Your API key

Body Parameters

linkedin_url
string
required

LinkedIn profile URL of the recipient (e.g., “https://www.linkedin.com/in/username”)

message_text
string
required

Content of the message to send

country
string
default:"FR"

Country code for proxy selection. Available: (US,UK,FR)

Direct URL to media file to attach to the message (use .png,.mp4,jpeg,.pdf link extension)

media_file
file

Media file to attach to the message (second priority)

Click to select a file from your computer. The file will be automatically converted to base64 format with metadata.

login_token
string
required

LinkedIn authentication cookie obtained from the login/verify process

Response

status
string

Request status (success/error)

message
string

Detailed message about the message status

{
  "status": "success",
  "message": "Message sent successfully"
}

Notes

  • The API automatically determines if there’s an existing conversation with the recipient
  • The API includes a typing indicator for existing conversations
  • Messages are sent with push notification enabled for the recipient
  • The recipient profile must be accessible with your login token
  • Media Priority: If multiple media parameters are provided, the system uses this priority order:
    1. media_link (direct URL) - highest priority
    2. media_file (base64 with metadata) - second priority
  • For media_file, the base64 data can include the data URL prefix (e.g., “data:image/jpeg;base64,…”)
  • Temporary files created from media_file are automatically cleaned up after sending
  • The following errors can occur:
    • Invalid profile URL format
    • Invalid media_file format or base64 encoding
    • Network or permission errors
    • Rate limiting from LinkedIn