Financial News Search
newsPURPOSE: Search financial news, market commentary, social posts, and raw indexed research-source articles/documents — across articles, tweets, Telegram channel posts, blogs, media, and research-source documents.
COVERS (by intent):
[news-search] keyword / topic / event search across media, social content, and raw research-source article/document records (scope with the sources field: twitter | media | research)
[news-telegram] curated Telegram channel posts (sources=["telegram"]) — crypto-focused
[news-trending] browse what is hot with no specific entity — leave query empty (and sources empty) to get trending topics; add asset_type="crypto"|"tradfi" to narrow the trending board to one asset class
BOUNDARIES:
Commentary / interpretation / "解读" / "怎么看" about events, media coverage, or social discussion → news. Raw price or fundamental numbers → metrics. Structured broker research reports / 研报 consumption, report-card fields, thesis/catalysts/caveats, affected-name mentions, most-mentioned stocks in research reports, analyst RATING / price target / "上调评级" → metrics.
sources=["research"] fits raw indexed research-source article/document discovery, original-document browsing, or article-style search. 研报 consumption/summary/analysis by ticker and no-ticker research-report boards fit metrics(categories=["fundamentals"]).
"What are KOLs calling / 喊单 / consensus" → signal(kol_call). News returns articles & posts.
Open-ended "anything worth watching / 有什么热点" with no named entity → call with EMPTY query (returns trending).
A named account's COMPLETE or live raw timeline, or a specific tweet's replies/thread → the twitter tool. News searches the curated/indexed set (recent posts + discovery).
USAGE: English query gives the best recall — translate intent, prefer canonical entity names. Query search defaults to sort_by="time" and accepts "relevance"; both retain BM25+KNN recall, while time orders the candidate pool by published time and relevance applies semantic reranking. For an exact KOL alias when Twitter is eligible (default mixed search or sources includes "twitter"), authored originals and content mentions are independent recall legs: each is filtered/deduped/sorted separately, they split the Twitter visible limit evenly with unused quota backfilled, and only the mention leg uses asset entity admission. Empty-query trending defaults to sort_by="hot" and accepts "time"; scoped source browse is time-only. Empty query with sources=["telegram"] uses ten-category fan-out internally for recall, folds exact cross-category duplicates, and returns one globally newest-first stream. Use source_lang when the user explicitly asks for local-language coverage. To search a specific KOL, put their Twitter handle in query + sources=["twitter"] (e.g. 马斯克→elonmusk).
RETURNS: article/document rows with title, content, source, author, time, and a source-quality tag. Structured ticker-scoped research-report cards live under metrics.fundamentals.research_reports; no-ticker most-mentioned research-report requests return leaderboard items under metrics.fundamentals.research_report_most_mentioned.
EXAMPLES (user → args; cross-lingual):
"比特币最近的新闻" → query="BTC", sort_by="time"
"비트코인 최근 뉴스" → query="BTC"
"Tin tức Bitcoin" → query="BTC"
"美联储利率决议解读" → query="FEDFUNDS rate decision"
"AAPL 财报评论" → query="AAPL earnings"
"TG meme 打新动态" → sources=["telegram"], query="meme launch"
"在资讯库里搜 AAPL 相关 research 原文" → sources=["research"], query="AAPL"
"浏览最近 research source 的原始文章" → sources=["research"]
"今天有什么值得关注的" → query="", time_range="1d", sort_by="hot" (empty → trending)
"最近加密有什么热点" → query="", asset_type="crypto" (trending, crypto only)
"美股今天有什么风向" → query="", asset_type="tradfi", time_range="1d" (trending, tradfi only)
"刷一下推特最新" → sources=["twitter"]
"马斯克最近发的推" → sources=["twitter"], query="elonmusk"
"V神发了什么" → sources=["twitter"], query="VitalikButerin"
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Default 10\, max 50 per independent budget: articles N; social Twitter author/mention posts together N plus Telegram N. Not a total-response limit. | |
| query | No | Keywords / topic / event / question. English usually gives the best recall on this corpus. Prefer canonical names for entities (ticker symbols\, English names for people / concepts). Known complete token addresses are also aliases (e.g. the UNI contract address searches UNI/Uniswap news). Max 500 runes (auto-truncated). Leave empty to browse the latest items in the chosen sources — defaults to trending topics when sources is also empty. | |
| sort_by | No | Ordering depends on route: query search supports time (default) | relevance; empty-query trending supports hot (default) | time; scoped source browse supports time only. | |
| sources | No | Restrict to specific sources: twitter | telegram (channel posts; empty query uses internal ten-category recall and returns global newest-first order) | media (news outlets) | research (raw indexed research-source articles/documents\, tradfi-only; structured broker report cards / 研报消费 belong in metrics.fundamentals). Omit for all-source mix. | |
| verbosity | No | Free-text fields (including nested prose) use original prefixes: concise 200 Unicode runes | standard 600 (default for empty or unknown) | detail 2000. Numeric facts, dates, IDs, URLs, tags and technical data are not shortened. Detail still applies this cap; record counts use topic-specific limit. | |
| asset_type | No | crypto | tradfi — restrict to one asset class. | |
| time_range | No | Explicit caller-requested recency window\, written as <number><unit> where unit is h|d|w|m|y — e.g. 1h\, 4h\, 1d\, 1w\, 1m\, 6m\, 1y. Supply this field when a time constraint is required; the server does not infer a window from query text. | |
| source_lang | No | Restrict to content in a specific language — use when the user explicitly asks for local-language coverage (e.g. 'how Korean media reports it'). Values: zh-cn | en | vi | ko | ja | es | pt | zh-tw. | |
| search_depth | No | Recall strategy for keyword search: quick (precise phrase only\, fastest) | standard (default\, phrase + semantic recall). |