Retrieve posts collected by your watchlists. The endpoint serves both LinkedIn watchlists (keyword, people, company) and Reddit watchlists from the same URL: the source is auto-detected from the watchlist’sDocumentation Index
Fetch the complete documentation index at: https://www.outx.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
type, so you do not pass anything to switch between them. The shared response fields are identical for both sources, with a source field on each post and a few source-specific extras described in the Reddit watchlists section.
Query Parameters
Watchlist ID to retrieve posts from. This parameter is required and must be a single watchlist ID.
Page number for pagination. Combine with
page_size to control how many posts you get per page (defaults to 20).Number of posts returned per page. Used together with
page (or on its own) for offset-free pagination, e.g. page=2&page_size=50 returns posts 51 to 100.Filtering Parameters
Filter by label tags. Multiple labels can be specified.
Filter by specific people (profile slugs). LinkedIn watchlists only; ignored on Reddit.
Filter by specific companies (company slugs). LinkedIn watchlists only; ignored on Reddit.
Search within post content. LinkedIn watchlists only; ignored on Reddit.
Filter for bookmarked/saved posts only. Works on both LinkedIn and Reddit.
Restrict results to English posts only. Accepts
"en", "english",
"true", or true. Any other value is ignored.Non-English language filtering is not currently supported, posts in
other languages can be retrieved by omitting this parameter.LinkedIn watchlists only; ignored on Reddit (Reddit posts do not carry a
language field).Filter posts from this date onwards (ISO 8601 format: YYYY-MM-DD). Works on both LinkedIn and Reddit.
Filter posts up to this date (ISO 8601 format: YYYY-MM-DD). Works on both LinkedIn and Reddit.
Filter by post type (e.g., “article”, “image”, “video”, “poll”). LinkedIn watchlists only; ignored on Reddit.
Filter for trending posts with high engagement. LinkedIn watchlists only; ignored on Reddit.
Filter for posts you’ve already liked or commented on. LinkedIn watchlists only; ignored on Reddit.
Filter by author’s seniority level. Supports multiple comma-separated values (e.g.,
"VP,Director,CXO"). Common values: "Entry", "Manager", "Director", "VP", "CXO", "Founder". LinkedIn watchlists only; ignored on Reddit (Reddit does not have author profile data).Retrieve a specific post by its LinkedIn slug. LinkedIn watchlists only; ignored on Reddit.
Reddit watchlists only. Filter by post relevance bucket. Supports multiple comma-separated values (e.g.
"high,medium"). Allowed values: "high" (relevance score 8 to 10), "medium" (4 to 7), "low" (1 to 3). Ignored on LinkedIn watchlists.Sorting Parameters
Sort order for posts. Options:
recent: most recent posts first (default; both sources)popular_first: highest engagement (likes plus comments) first (LinkedIn). On Reddit, this aliases torelevance_first.engagement: alias forpopular_first(LinkedIn). On Reddit, also aliases torelevance_first.relevance_first: Reddit watchlists only. Sorts by relevance score, highest first, then by post date.
Pagination start offset (0-indexed). Use with
range_to for custom page sizes.Pagination end offset (inclusive). Default returns 20 posts (0-19).
Response Fields
Array of post objects
Total number of posts matching the filters
Post Object Fields
Unique post identifier
Direct URL to the LinkedIn post.
null on Reddit watchlists; see reddit_url instead.ID of the watchlist this post belongs to
Post text content
Name of the post author
LinkedIn profile slug of the author
Headline/bio of the post author
Profile image URL of the author
ISO 8601 timestamp when the post was added to OutX
ISO 8601 timestamp when the post was published on LinkedIn
Number of likes on the post
Number of comments on the post
Number of shares/reposts
Whether the post has been bookmarked/saved
Type of post (e.g., “text”, “image”, “video”, “article”, “poll”)
Detected language of the post. Empty string on Reddit watchlists.
Array of tag labels assigned to the post
Array of image URLs attached to the post
Array of video data attached to the post
Seniority level of the post author (e.g., “C-Level”, “VP”, “Director”). Empty string on Reddit watchlists.
Relevance score of the post (1-10). High: 8-10, Medium: 4-7, Low: 1-3. Returned for both LinkedIn and Reddit posts.
Array of countries associated with the post author’s location.
null on Reddit watchlists.Array of objects with
tag and description for each tag.Reddit watchlists
The/api-posts endpoint also serves Reddit watchlists. The URL, authentication, and pagination are identical to the LinkedIn flow; pass the Reddit watchlist’s id as watchlist_id and the server detects the source from tracking_lists.type.
A Reddit row in data represents either a Reddit post or a top-level comment that matched one of the watchlist keywords. The shared response fields above are filled best-effort, with these source-specific differences:
- A discriminator field,
source: "reddit", is present on every Reddit row. LinkedIn rows do not include this field. linkedin_post_url,videos, andlocation_countriesare alwaysnull.language,author_url,author_headline, andseniority_levelare empty strings (Reddit posts do not carry these data).shares_countandcomments_countare always0. Usecomment_*andpost_vote_countmappings instead.likes_countis the Reddit post upvote net score (mapped frompost_vote_count).tagsis a single-element array derived from the row’slabelcolumn.post_typeis"reddit_post"for posts and"reddit_comment"for comments.
Always
"reddit" on Reddit rows. Absent on LinkedIn rows.Direct URL to the Reddit post or comment.
Reddit post title. May be
null for rows that represent a comment under a post that was not separately ingested.Body of the Reddit post.
Subreddit name (e.g.
r/dataengineering). Mapped from the underlying post_group_name column.Reddit username of the comment author.
null when the row is a post.Comment body.
null when the row is a post.ISO 8601 timestamp of the comment.
null when the row is a post.Reddit comment upvote net score.
0 when the row is a post.Bucketed relevance:
"high", "medium", or "low". Derived from relevance_score. null if the post has not been scored.Array containing the watchlist keyword that matched this row. Empty if the row is no longer linked to a keyword (for example after a watchlist update).
Reddit response example
Response (Reddit watchlist)
Reddit examples
Get posts from a Reddit watchlist
High-relevance Reddit posts only
Pagination
Posts are returned in batches of 20 by default. You can use eitherpage + page_size (simpler) or range_from + range_to (offset-based) to paginate.
count field in the response shows the total number of posts matching your filters, so you know how many pages to fetch.
Error Responses
| Status Code | Error Message | Description |
|---|---|---|
| 400 | Invalid watchlist ID | The provided watchlist ID doesn’t exist |
| 401 | Unauthorized | Invalid or missing API key |
| 403 | Access denied | Trying to access watchlists from another team |
| 500 | Failed to fetch posts | Internal server error |
Frequently Asked Questions
Can I get posts from all my watchlists at once?
Can I get posts from all my watchlists at once?
No. The
api-posts endpoint now requires a single watchlist_id and returns posts for that watchlist only. To build a unified feed across multiple watchlists, make separate requests per watchlist and merge the results on your side.What is the maximum number of posts returned per page?
What is the maximum number of posts returned per page?
The default page size is 20 posts. To change it, pass
page_size (for example page_size=50 returns 50 posts per page), or use range_from and range_to for offset-based pagination (e.g. range_from=0&range_to=49 returns the first 50). The count field in the response tells you the total number of matching posts so you know how many pages to fetch.How do I filter by multiple seniority levels?
How do I filter by multiple seniority levels?
Pass comma-separated values to the
seniority_level parameter. For example: seniority_level=VP,Director,CXO. This returns posts authored by people at any of those seniority levels. Common values include Entry, Manager, Director, VP, CXO, and Founder.
