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 runs a LinkedIn post search 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, instead of repeating the same st.searchPosts request every day.
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": "linkedin automation api",
"filter": {
"datePosted": "pastWeek",
"authorIndustries": ["Software Development"]
},
"label": "category-watch"
}term– keyword or phrase to search, from 1 to 50 characters. EithertermorcustomSearchUrlis required.filter(optional) – the same filter as inst.searchPosts, exceptsort: a signal always searches by latest, because it looks for what is new.customSearchUrl(optional) – a LinkedIn content search URL, used instead oftermandfilter. Its sort order is replaced with latest.
| Checked | Each check spends |
|---|---|
| twice a day | 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. Two
postSearchsignals use about 120 of them. A precise phrase with filters gives fewer, better events than a broad word.
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, with the same fields as an item ofst.searchPosts. Counters are as they were at the check that found it.
The common fields – id, signalId, signalType, label, type, detectedAt – are described in Receiving events.
A post is reported once per signal, even if it later drops out of the search and comes back. Two postSearch signals that both match a post each report it.