---
title: "Search Posts By Topic"
method: POST
path: "/mcp/tools/search_posts_by_topic"
tags: ["mcp"]
---

# Search Posts By Topic

`POST /mcp/tools/search_posts_by_topic`

## Request

- Base URL: `https://api.iridiumhqmcp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.iridiumhqmcp.com/mcp/tools/search_posts_by_topic`
- Auth: HTTP bearer

Search LinkedIn posts by topic and return each post with its author as a candidate.
Reads only, drafts nothing, and opens no profiles: the post itself is the evidence and
the author comes back inline, so the cost is the same whether it returns 1 post or 50.

USE THIS when the person is defined by what they posted: "who is posting about X",
"engineering managers at Nvidia who posted about hiring this month", "people in my
network talking about Y". One call answers the whole question — do not search people
and then read each one's posts.

DO NOT USE for a people search with no topic (search_prospects / find_prospects), or when
the user wants messages written (discover_prospects). In particular, this tool answers
"who POSTED about hiring" — NOT "who HAS the #hiring badge on their profile", which is
find_prospects' `hiring` flag and costs a profile touch per person confirmed. The two
return different people.

Args:
    keywords: POST TEXT — words the post body must contain, e.g. "hiring", "open roles",
        "RAG evals". "#hiring" here matches the hashtag someone TYPED IN A POST; it is not
        the profile badge and implies nothing about it. Free: one post search, no profile
        opened. (The badge is find_prospects' `hiring`, and costs a touch per person.)
    author_company: Company the author currently works at, by name, e.g. "Nvidia".
    author_keywords: Text in the author's headline or title, e.g. "engineering manager".
    date_posted: past_day | past_week | past_month (default past_month). Newest first.
    posted_by: first_connections or people_you_follow to stay inside the user's network.
    limit: Max posts to return (1-50, default 10). Reposts are dropped.

Returns {"posts": [...], "count": N, "has_more": bool}. Each post: text, date, post_url,
reaction_count, comment_count, and author {name, headline, is_company, handle}. The
handle is a prof_ handle (null for company pages) — pass it to get_linkedin_profile for
the full profile, or straight to schedule_dm_to_person / enroll_prospect.

## Request body

- SearchPostsByTopicRequest
  - `keywords` string, required
  - `author_company` string, nullable
  - `author_keywords` string, nullable
  - `date_posted` 'past_day' | 'past_week' | 'past_month'
  - `posted_by` 'first_connections' | 'people_you_follow', nullable
  - `limit` integer

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/iridiumhqmcp/apis/iridium-linkedin-for-ai-agents.md) · [All operations](https://skmtc.dev/iridiumhqmcp/apis/iridium-linkedin-for-ai-agents/llms.txt) · [OpenAPI document](https://skmtc.dev/iridiumhqmcp/apis/iridium-linkedin-for-ai-agents/revisions/b9f5e020543c?raw)
