Skip to main content
Retrieve LinkedIn posts from your watchlists with powerful filtering, sorting, and search capabilities. Access posts from keyword, people, and company watchlists with a unified API.

Query Parameters

watchlist_id
string | array
Watchlist ID(s) to retrieve posts from. Can be a single ID or multiple IDs. If omitted, retrieves posts from all team watchlists.
current_page
number
default:"1"
Page number for pagination (20 posts per page)

Filtering Parameters

labels
string | array
Filter by label tags. Multiple labels can be specified.
people_slug
string | array
Filter by specific people (profile slugs)
company_slug
string | array
Filter by specific companies (company slugs)
search_term
string
Search within post content
is_saved
boolean
Filter for bookmarked/saved posts only
lang
string
Filter by post language (e.g., “en”, “es”, “fr”)
start_date
string
Filter posts from this date onwards (ISO 8601 format: YYYY-MM-DD)
end_date
string
Filter posts up to this date (ISO 8601 format: YYYY-MM-DD)
post_type
string
Filter by post type (e.g., “article”, “image”, “video”, “poll”)
Filter for trending posts with high engagement
interacted
boolean
Filter for posts you’ve already liked or commented on
seniority_level
string
Filter by author’s seniority level (e.g., “Director”, “VP”, “C-Level”)
linkedin_post_slug
string
Retrieve a specific post by its LinkedIn slug

Sorting Parameters

sort_by
string
default:"recent_first"
Sort order for posts. Options:
  • recent_first - Most recent posts first
  • oldest_first - Oldest posts first
  • engagement - Highest engagement (likes + comments) first
  • influence_score - Highest influence score first
curl -X GET \
  "https://api.outx.ai/api-posts?current_page=1" \
  -H "x-api-key: YOUR_API_KEY"
{
  "data": [
    {
      "id": "post-123",
      "linkedin_post_url": "https://linkedin.com/feed/update/urn:li:activity:1234567890",
      "tracking_lists_id": "550e8400-e29b-41d4-a716-446655440000",
      "content": "Excited to announce our new AI-powered feature that helps developers...",
      "author_name": "Jane Smith",
      "author_url": "https://linkedin.com/in/janesmith",
      "author_headline": "CTO at TechCorp | AI Enthusiast",
      "author_image_url": "https://media.licdn.com/dms/image/...",
      "posted_at": "2024-01-15T10:30:00Z",
      "created_at": "2024-01-15T10:35:00Z",
      "likes_count": 245,
      "comments_count": 32,
      "shares_count": 18,
      "post_type": "image",
      "language": "en",
      "image_url": "https://media.licdn.com/dms/image/...",
      "image_urls": ["https://media.licdn.com/dms/image/..."],
      "image_text": "Feature Screenshot",
      "videos": null,
      "tags": ["ai", "product-launch"],
      "tagDescriptions": [
        {
          "tag": "ai",
          "description": "Artificial Intelligence related posts"
        }
      ],
      "sentiment": "positive",
      "influence_score": 87.5,
      "seniority_level": "C-Level",
      "bookmark": false,
      "liked": false,
      "commented": false
    }
  ],
  "count": 156
}

Response Fields

data
array
Array of post objects
count
number
Total number of posts matching the filters

Post Object Fields

id
string
Unique post identifier
linkedin_post_url
string
Direct URL to the LinkedIn post
content
string
Post text content
author_name
string
Name of the post author
author_url
string
LinkedIn profile URL of the author
posted_at
string
ISO 8601 timestamp when the post was published
likes_count
number
Number of likes on the post
comments_count
number
Number of comments on the post
shares_count
number
Number of shares/reposts
post_type
string
Type of post (e.g., “text”, “image”, “video”, “article”, “poll”)
language
string
Detected language of the post
sentiment
string
Detected sentiment (e.g., “positive”, “negative”, “neutral”)
influence_score
number
Calculated influence score of the post

Pagination

Posts are returned in pages of 20 items. Use the current_page parameter to navigate through results. The count field in the response shows the total number of posts matching your filters.

Error Responses

Status CodeError MessageDescription
400Invalid watchlist ID(s)One or more watchlist IDs don’t exist
401UnauthorizedInvalid or missing API key
403Access deniedTrying to access watchlists from another team
500Failed to fetch postsInternal server error