For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
DashboardGet API Key
GuidesAPI ReferenceCommon Patterns
  • Getting Started
    • Welcome
    • Introduction
    • Quickstart
    • Authentication
  • Core Concepts
    • Sessions & Cookies
    • Profiles
    • Messaging
    • Posts & Engagement
    • Connections
    • Search
    • SalesNav
    • SalesNav Filters
  • Playbooks
    • Multi-Step Workflows
    • Query Patterns
  • Workflow Guides
    • Lead Discovery
    • Warm Outreach
    • Content Intelligence
    • Company Research
    • Job Market Intelligence
    • Webhooks
  • Integration
    • MCP Server
    • WebSocket Relay
DashboardGet API Key
On this page
  • Posts & Engagement
  • Create a Post
  • Like a Post
  • Reaction Types
  • Unlike a Post
  • Comment on a Post
  • Delete a Comment
  • Delete a Post
  • Get a Person’s Posts
  • Get Post Reactions
  • Get Post Comments
  • Feed & Content Discovery
  • Your Feed
  • Trending Topics
  • Search Content
  • Follow / Unfollow
  • Your Engagement History
  • Notifications
  • Related
Core Concepts

Posts & Engagement

Was this page helpful?
Previous

Connections

Next
Built with

Posts & Engagement

Voyager provides full post lifecycle management — create posts, react with any of LinkedIn’s 6 reaction types, comment, edit, delete, and monitor engagement. All engagement endpoints are pure HTTP (REST + GraphQL fallback).

Every Voyager response is wrapped in the standard envelope { success, statusCode, message, data, errors }. The JSON examples below show only the endpoint-specific payload — access res.data.<field> in your client. See Introduction for the full envelope shape.

Create a Post

$curl -X POST "$BASE/api/post" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "text": "Excited to share our latest findings on AI infrastructure scaling.\n\nKey takeaways:\n- Latency matters more than throughput\n- Cache everything you can\n- Measure from the edge\n\n#AI #Engineering #Infrastructure"
> }'
1{
2 "success": true,
3 "postUrn": "urn:li:share:7180123456789012345",
4 "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/"
5}

Like a Post

React to a post with any of LinkedIn’s 6 reaction types:

$curl -X POST "$BASE/api/like" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/",
> "reactionType": "PRAISE"
> }'

Reaction Types

TypeEmojiDescription
LIKEThumbs upDefault reaction
PRAISEClapCelebrating
APPRECIATIONHeartLove
EMPATHYHugSupportive / Caring
INTERESTLightbulbInsightful
ENTERTAINMENTLaughFunny

If reactionType is omitted, it defaults to LIKE.

Unlike a Post

$curl -X POST "$BASE/api/like" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/",
> "unlike": true
> }'

Comment on a Post

$curl -X POST "$BASE/api/comment" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/",
> "comment": "Great insight! We have been seeing similar trends in our infrastructure work."
> }'

Delete a Comment

Delete by matching text (finds your comment that matches the provided text):

$curl -X POST "$BASE/api/comment" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/",
> "comment": "Great insight! We have been seeing similar trends",
> "delete": true
> }'

Or delete by URN directly:

$curl -X DELETE "$BASE/api/comment" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{"commentUrn": "urn:li:comment:(activity:7180123456789012345,7180987654321098765)"}'

Delete a Post

$curl -X POST "$BASE/api/post" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "text": "Excited to share our latest findings",
> "delete": true
> }'

Get a Person’s Posts

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/posts?profileUrl=https://www.linkedin.com/in/janesmith/&limit=10"

Get Post Reactions

See who reacted to a specific post:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/posts/7180123456789012345/reactions?limit=50"

Get Post Comments

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/posts/7180123456789012345/comments?limit=50"

The postId in URLs like /api/posts/:postId/comments is the numeric activity ID. Extract it from a post URL: urn:li:activity:7180123456789012345 has postId 7180123456789012345.

Feed & Content Discovery

Your Feed

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/feed?start=0&count=20"

Trending Topics

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/feed/topics?count=10"

Search Content

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/search/content?keywords=AI+infrastructure&count=10"

Follow / Unfollow

$# Follow a profile
$curl -X POST "$BASE/api/follow" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{"profileUrl": "https://www.linkedin.com/in/janesmith/"}'
$
$# Unfollow
$curl -X POST "$BASE/api/follow" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{"profileUrl": "https://www.linkedin.com/in/janesmith/", "unfollow": true}'

Your Engagement History

See posts you have liked and comments you have written:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/reactions?count=20"

Notifications

Get engagement notifications on your own content (likes, comments, mentions):

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/notifications?count=20"

Related

  • Content Intelligence Guide — Monitor what prospects are posting
  • Webhooks — Real-time engagement notifications
  • Batch Operations — Batch post data retrieval