Posts by Keyword
🚧 Coming soon. Signals are not available yet. This page describes how they will work at launch – the
/signalsendpoints,signal.*events and the SDK, CLI and MCP signal commands do not work today.
The postSearch signal searches the latest LinkedIn posts for your phrases on a schedule and reports every post it has not seen before. Use it to find conversations about your topic, your product or a competitor as they start.
Events
Event type | Webhook event | What happened |
|---|---|---|
postFound | signal.postFound | A post matching the search appeared that the signal has not reported before. |
Creating
{
"type": "postSearch",
"term": ["user onboarding", "time to value"],
"filter": {
"authorIndustries": ["Software Development"]
},
"label": "category-watch"
}term(required) – a phrase, or an array of phrases, each from 1 to 50 characters. Linked API searches every phrase as an exact phrase, so you do not need to put it in quotes. With an array, a post that contains any of the phrases is reported: one signal covers several wordings of the same topic.filter(optional) – narrows the search. When several fields are set, a post must match all of them.contentType(optional) – one ofvideos,images,jobPosts,liveVideos,documents.postedBy(optional) – array ofme,firstConnections,peopleYouFollow.mentioningMembers(optional) – people the post mentions. Matches if it mentions any of them.mentioningCompanies(optional) – companies the post mentions. Matches if it mentions any of them.authorCompanies(optional) – companies the author works at. Matches if the author works at any of them.authorIndustries(optional) – industries the author works in, by the names LinkedIn shows. Matches if the author works in any of them.
Each entry of mentioningMembers, mentioningCompanies and authorCompanies is a name, or an object with name and id – a URN or LinkedIn URL that pins the filter to exactly that person or company. A name alone may match a namesake.
The signal always looks for the newest posts, so it takes no sort order and no date range. To follow what particular people or companies publish, use a personPosts or companyPosts signal for each of them. A LinkedIn search URL is not accepted either: the signal builds the search from your phrases itself.
| Checked | Each check spends |
|---|---|
| once or twice a day, depending on how many posts the search brings | 1 of stSearchQueries |
A check reads the 50 most recent matching posts. The baseline is the posts that match at the first check.
💡 Searches are the scarcest limit: by default an account has 300 a month, and each
postSearchsignal spends 30 to 60 of them. A signal with several phrases still makes one search per check, so put the wordings of one topic into one signal rather than creating a signal per phrase.
Event fields
{
"id": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
"signalId": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
"signalType": "postSearch",
"label": "category-watch",
"type": "postFound",
"detectedAt": "2026-10-12T09:50:00Z",
"post": {
"url": "https://www.linkedin.com/feed/update/urn:li:activity:2345678901234567890",
"activityUrn": "urn:li:activity:2345678901234567890",
"time": "2026-10-12T08:12:00Z",
"type": "original",
"author": {
"type": "person",
"name": "Example Person",
"profileUrl": "https://www.linkedin.com/in/person3",
"headline": "Founder at Example Company"
},
"reposter": null,
"text": "Looking for a LinkedIn automation API that works with our own accounts. Any recommendations?",
"repostText": null,
"hashtags": [],
"mentions": [],
"externalLinks": [],
"images": [],
"documentSlides": [],
"hasVideo": false,
"videoThumbnail": null,
"hasPoll": false,
"reactionsCount": 2,
"commentsCount": 5,
"repostsCount": 0
}
}post– the matching post:url– URL of the post.activityUrn– LinkedIn activity or UGC URN of the post, if available.time– when the post was published.type–original, orrepostfor a repost.author– who wrote the post. A person hastype,name,profileUrlandheadline; a company hastype,nameandcompanyUrl. Search results carry nournfor the author.reposter– the person or company that reposted it, with the same fields asauthor. Notnullonly for arepost.text– the author's text, if available;repostText– the text the reposter added, if any.hashtags– hashtags in the text, without the leading#.mentions– profile URLs of the people and companies mentioned in the text.externalLinks– outbound URLs in the text.images– up to 3 preview image URLs;documentSlides– slide image URLs of a document or carousel.hasVideo,videoThumbnail,hasPoll– whether the post has a video, its thumbnail URL, and whether it has a poll.reactionsCount,commentsCount,repostsCount– as they were at the check that found the post; they are not updated later.
The common fields – id, signalId, signalType, label, type, detectedAt – are described in Receiving events.
A post is reported once per signal, even if it contains several of its phrases, or drops out of the search and comes back later. Two postSearch signals that both match a post each report it.