EQUATIONNEWS APIMCPWebSocketRSS
毫秒级加密快讯,直接推进你的程序。 Crypto news in milliseconds, streamed straight into your code.
数十万用户信任的加密快讯,以结构化 JSON 实时推给交易系统、量化团队和 AI Agent。 Crypto news trusted by hundreds of thousands of readers, pushed as structured JSON to trading systems, quant desks and AI agents.
现网Live现在就能连 · 公共端点 · 免费Works today · public endpoint · free
$ wscat -c wss://api.eqn.news/public/ws
推送主频道新闻;连接后发送 ping,会收到 pong。交易所公告和行情监控用 MCP 或 RSS 取。Pushes main-feed news. Send ping, get pong. Use MCP or RSS for exchange notices and market monitors.
-
11家venues
覆盖交易所Exchanges covered
-
10100万+K+
Telegram 订阅Telegram subscriptions
数十万人信赖的可靠来源Trusted by hundreds of thousands
01数据产品Data products
12 个频道,就是 12 个数据产品。12 channels. 12 data products.
在 Telegram 上它们是 12 个频道;在 API 里,每个频道都能用 MCP 查、用 RSS 订阅。字段统一,每条带原文与中英译文(韩所另附韩文),币种自动匹配。On Telegram they are 12 channels; through the API every one can be queried over MCP or followed over RSS. One schema; every story carries the original plus Chinese and English (Korean too for Korean exchanges), with coins pre-matched.
每个频道都能用 MCP 和 RSS 取;主频道另有 WebSocket 实时推送。频率按各频道最近的帖子估算。频道 key 见 文档 · 频道 key。Every channel is available over MCP and RSS; the main feed also streams over WebSocket. Rates are estimated from recent posts. Keys: Docs · Channel keys.
02接入Access
三种接法,挑一个最顺手的。Three ways in. Pick the one that fits.
都在 api.eqn.news,免费、不需要 Key。All on api.eqn.news, free and keyless.
// EquationNews public WebSocket: main-feed news
const ws = new WebSocket("wss://api.eqn.news/public/ws");
// Heartbeat: send plain-text "ping" every 30 s; the server replies "pong"
ws.onopen = () => setInterval(() => ws.send("ping"), 30_000);
ws.onmessage = ({ data }) => {
if (data === "pong") return;
const msg = JSON.parse(data);
// { source_name, news_title, coins_included, url, timestamp }
console.log(msg.timestamp, msg.source_name, msg.news_title, msg.coins_included);
};
// On disconnect, back off 1, 2, 4… up to 30 s and reconnect (see docs)
ws.onclose = () => console.warn("disconnected");
# pip install websockets docs: https://websockets.readthedocs.io/
import asyncio, json
import websockets
ENDPOINT = "wss://api.eqn.news/public/ws"
async def heartbeat(ws):
while True:
await asyncio.sleep(30)
await ws.send("ping") # server replies "pong"
async def main():
async for ws in websockets.connect(ENDPOINT): # reconnects automatically
beat = asyncio.create_task(heartbeat(ws))
try:
async for raw in ws:
if raw == "pong":
continue
msg = json.loads(raw)
print(msg["timestamp"], msg["source_name"], msg["news_title"], msg["coins_included"])
except websockets.ConnectionClosed:
continue
finally:
beat.cancel()
asyncio.run(main())
# Main feed in Chinese (default); other channel / language: ?ch=korea&lang=en, all channels: ?ch=all
curl -s https://api.eqn.news/public/rss
# Poll once a minute; skip the download while the ETag is unchanged
while true; do
curl -s --etag-compare etag.txt --etag-save etag.txt \
-o feed.xml https://api.eqn.news/public/rss
sleep 60
done
{
"mcpServers": {
"equationnews": {
"type": "http",
"url": "https://api.eqn.news/public/mcp"
}
}
}
stdout示例输出 · 由现网主频道真实帖子生成Sample output · generated from real main-feed posts
list_news get_news文档 · MCPDocs · MCP →
https://api.eqn.news/public/mcpwss://api.eqn.news/public/wshttps://api.eqn.news/public/rss