What it does

x-kol-sentiment takes a topic and answers a narrower question than plain sentiment search: not "what's the average tone of everything posted," but "what's the tone among accounts big enough that their opinion moves the conversation."

{
  "topic": "x402 payments",
  "min_followers": 10000,
  "max_posts": 25
}

returns a follower-weighted sentiment score and label, plus the qualifying posts themselves:

{
  "kol_sentiment": { "score": 0.32, "label": "positive" },
  "posts": [
    { "text": "x402 payments are picking up fast among agents", "author": "agentutility_ai", "followers": 42000, "sentiment": { "label": "positive", "score": 0.5 } }
  ],
  "sample_size": 12
}

Why

Sentiment across an unfiltered result set gets swamped by small accounts and bots. x-kol-sentiment pulls a larger page of recent posts, throws out anything below the follower bar (default 10,000), scores what's left with a deterministic lexicon, and weights the aggregate by follower count so a post from a 50k-follower account counts for more than one from a 50-follower account. An optional LLM pass over the same qualifying text runs as a corroborating read.

Degradation

tweet-search is the required leg. The LLM sentiment-analysis pass is optional: the follower-weighted score comes from the local scorer either way, so an LLM provider outage degrades the response (the llm_sentiment field reports null) instead of failing the call.

Price: $0.05.