Response fields
The version 1 API returns an explicit public representation of stored posts. Internal database columns and collected comment threads are not exposed.
Feed response
| Field | Meaning |
|---|---|
success |
Whether the request was accepted |
feed_id |
The account’s feed identifier |
company_url |
Canonical LinkedIn source URL |
posts |
Visible posts for the requested page |
total_posts |
Total stored visible posts for the source |
page, page_size |
Current pagination values |
refresh |
Collection status and freshness |
retry_after_seconds |
Present during initial collection |
Post fields
| Field | Meaning |
|---|---|
id |
Stable LinkedIn post identity, with stored ID as a fallback |
text, headline |
Post copy and optional headline |
date_published |
ISO date or null if unavailable |
post_url |
Original LinkedIn post link |
company_avatar_url |
Stored page avatar when available |
image_url |
Primary image when available |
media_items |
Ordered media references: type, url, width, height |
is_video, video_url |
Video indication and available source reference |
engagement_likes |
Available reaction count, or null |
engagement_comments |
Available comment count, or null |
engagement_shares |
Available share count, or null |
Missing data stays null; it is not replaced with invented engagement values. Media and video availability depend on the source. A video reference is not a guarantee that the source permits playback or that the URL never expires.
Render content safely
Treat post text as text, not HTML. In React, render it as {post.text} rather than using dangerouslySetInnerHTML. Use the original post link to let visitors open LinkedIn.
Post publication age and refresh age mean different things. An old post may belong to a freshly collected page. Check refresh.last_success_at when evaluating source freshness.