Summary
linkedin search posts --keywords "..." returns no results for every query. The Voyager GraphQL call succeeds (HTTP 200) but included[] contains only a single FeedbackCard object — never any EntityResultViewModel post results.
People and company search work correctly with the same queryId; only the CONTENT result type is affected.
Reproduction
The post search uses (src/commands/search/search.ts):
queryId: voyagerSearchDashClusters.b0928897b71bd00a5a7291755dcd64f0
variables: (start:0,origin:GLOBAL_SEARCH_HEADER,query:(keywords:<kw>,
flagshipSearchIntent:SEARCH_SRP,
queryParameters:List((key:resultType,value:List(CONTENT))),
includeFiltersInResponse:false))
I called this endpoint directly against a logged-in session (correct csrf-token, li_at/JSESSIONID cookies, accept: application/vnd.linkedin.normalized+json+2.1) and inspected included[]:
| Query |
resultType |
HTTP |
included $types |
software engineer |
PEOPLE |
200 |
Profile ×19, EntityResultViewModel ×10, FeedbackCard ×1, LazyLoadedActions ×10 |
AI |
CONTENT |
200 |
FeedbackCard ×1 (nothing else) |
startup |
CONTENT |
200 |
FeedbackCard ×1 |
AI |
(blended, no resultType) |
200 |
Profile ×25, EntityResultViewModel ×22, Company ×9, JobPostingCard ×3, … |
So:
- PEOPLE → real results ✅
- blended (no
resultType filter) → real results ✅
- CONTENT → only
FeedbackCard, no posts ❌
What I ruled out
I tried matching the newer client headers from this repo's core/client.ts (clientVersion/mpVersion: 1.13.36, displayDensity: 2, referer: https://www.linkedin.com/feed/). CONTENT search still returns only FeedbackCard. So it is not a header/version issue — the voyagerSearchDashClusters cluster query appears to no longer serve content/post results for this resultType.
Likely cause
LinkedIn seems to have moved keyword content search off this cluster queryId (or gated it server-side). The FeedbackCard-only response is the "no results / give feedback" placeholder the SRP renders when the content cluster is empty.
Working alternative for author posts
For "find posts by a specific member", profileUpdatesV2 still works and returns UpdateV2 objects with the post text and activity URN:
GET /voyager/api/identity/profileUpdatesV2
?count=10&start=0&q=memberShareFeed
&moduleKey=member-shares%3Aphone
&includeLongTermHistory=true
&profileUrn=urn%3Ali%3Afsd_profile%3A<MEMBER_ID>
(the profileUrn value must be URL-encoded, otherwise it 400s). Each UpdateV2 has commentary.text.text (post body) and updateMetadata.urn (→ https://www.linkedin.com/feed/update/<urn>).
src/commands/profile/view.ts already exposes this as profile posts; it's a reliable substitute when the author is known.
Suggestion
- Document that
search posts currently returns no results (LinkedIn-side), and/or
- Find the current content-search
queryId LinkedIn's web app uses for the content SRP and update the searchPostsCommand handler, and/or
- Point users to
profile posts (profileUpdatesV2) for author-scoped post retrieval.
Happy to help test a corrected queryId if you have one.
Summary
linkedin search posts --keywords "..."returns no results for every query. The Voyager GraphQL call succeeds (HTTP 200) butincluded[]contains only a singleFeedbackCardobject — never anyEntityResultViewModelpost results.People and company search work correctly with the same
queryId; only theCONTENTresult type is affected.Reproduction
The post search uses (
src/commands/search/search.ts):I called this endpoint directly against a logged-in session (correct
csrf-token,li_at/JSESSIONIDcookies,accept: application/vnd.linkedin.normalized+json+2.1) and inspectedincluded[]:included$typessoftware engineerProfile×19,EntityResultViewModel×10,FeedbackCard×1,LazyLoadedActions×10AIFeedbackCard×1 (nothing else)startupFeedbackCard×1AIProfile×25,EntityResultViewModel×22,Company×9,JobPostingCard×3, …So:
resultTypefilter) → real results ✅FeedbackCard, no posts ❌What I ruled out
I tried matching the newer client headers from this repo's
core/client.ts(clientVersion/mpVersion: 1.13.36,displayDensity: 2,referer: https://www.linkedin.com/feed/). CONTENT search still returns onlyFeedbackCard. So it is not a header/version issue — thevoyagerSearchDashClusterscluster query appears to no longer serve content/post results for thisresultType.Likely cause
LinkedIn seems to have moved keyword content search off this cluster
queryId(or gated it server-side). TheFeedbackCard-only response is the "no results / give feedback" placeholder the SRP renders when the content cluster is empty.Working alternative for author posts
For "find posts by a specific member",
profileUpdatesV2still works and returnsUpdateV2objects with the post text and activity URN:(the
profileUrnvalue must be URL-encoded, otherwise it 400s). EachUpdateV2hascommentary.text.text(post body) andupdateMetadata.urn(→https://www.linkedin.com/feed/update/<urn>).src/commands/profile/view.tsalready exposes this asprofile posts; it's a reliable substitute when the author is known.Suggestion
search postscurrently returns no results (LinkedIn-side), and/orqueryIdLinkedIn's web app uses for the content SRP and update thesearchPostsCommandhandler, and/orprofile posts(profileUpdatesV2) for author-scoped post retrieval.Happy to help test a corrected
queryIdif you have one.