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.