Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally
This server runs on your machine over stdio, but its source registry didn't list a distribution package. Check the source repository for setup instructions.
🌐 Languages (42): English | العربية | Български | বাংলা | Čeština | Dansk | Deutsch | Ελληνικά | Español | فارسی | Suomi | Français | עברית | हिन्दी | Hrvatski | Magyar | Indonesia | Italiano | 日本語 | 한국어 | Melayu | Nederlands | Norsk | Polski | Português | Română | Русский | Slovenčina | Slovenščina | Српски | Svenska | Kiswahili | தமிழ் | తెలుగు | ไทย | Filipino | Türkçe | Українська | اردو | Tiếng Việt | 简体中文 | 繁體中文 · all translations
Quick Start • What You Get • Endpoints • MCP • Self-Host • Docs
Real-time crypto news from 300+ sources with one HTTP call. No API key, no signup, no rate-limit paperwork. Live at cryptocurrency.cv.
For AI agents: curl https://cryptocurrency.cv/api/news • llms.txt • llms-full.txt • OpenAPI • MCP: https://cryptocurrency.cv/api/mcp • AGENTS.md • SKILLS.md
⭐ If this saves you time, star the repo. It helps others find it.
Thirty seconds, no key required. cURL works as-is:
# Latest headlines from every source
curl https://cryptocurrency.cv/api/news
# Only the last two hours
curl https://cryptocurrency.cv/api/breaking
# Full-text search
curl "https://cryptocurrency.cv/api/search?q=bitcoin%20etf"
# Filter by category, cap the result size
curl "https://cryptocurrency.cv/api/news?category=defi&limit=20"
# Ask a question, answered from today's news (AI)
curl "https://cryptocurrency.cv/api/ask?q=why%20is%20ETH%20up%20today"
Every endpoint returns JSON, is CORS-enabled, and works from a browser, a script, or an agent tool call. Response shape:
{
"articles": [
{
"title": "Bitcoin Hits New ATH",
"link": "https://coindesk.com/...",
"description": "Bitcoin surpassed...",
"pubDate": "2026-01-02T12:00:00Z",
"source": "CoinDesk",
"timeAgo": "2h ago"
}
],
"totalCount": 150,
"fetchedAt": "2026-01-02T14:30:00Z"
}
From code, npm install @nirholas/crypto-news:
import { CryptoNews } from '@nirholas/crypto-news';
const news = await new CryptoNews().getLatest(10);
Python, Go, PHP, Rust, Ruby, Swift, Kotlin, Java, C#, and R clients live in sdk/ as copy-in source; runnable samples for bots, agents, and 12 languages live in examples/.
| Capability | Details |
|---|---|
| Sources | 300+ RSS feeds in 21 categories plus 77 international outlets (KO, ZH, JA, ES and more) with on-the-fly translation. Tiered by credibility. Details |
| Endpoints | 450+ routes: news, search, categories, market data, DeFi, whales, regulatory, portfolio, trading signals, feeds. Catalog |
| Historical archive | 662,047 articles from September 2017 onward, searchable by date, ticker, sentiment and full text. Archive |
| AI endpoints | Summaries, sentiment, fact-checks, narratives, research mode, RAG over the archive, daily briefs. Free, powered by Groq. AI docs |
| MCP server | Hosted Streamable-HTTP endpoint plus a local stdio server, 40+ tools. Below |
| Feeds and streaming | RSS 2.0, Atom, OPML, Server-Sent Events, WebSocket. Realtime |
| Widgets | Drop-in HTML/JS news ticker and carousel. widget/ |
| Web app | 89 pages: dashboards, portfolio, watchlists, alerts, charts, installable PWA. Pages |
| SDK examples | Clients in sdk/, samples in examples/, guides in docs/sdks/ |
| Agent-ready | llms.txt, OpenAPI 3.1, /.well-known/agent.json, /.well-known/ai-plugin.json, x402 micropayments for premium routes. AGENTS.md |
| Free Crypto News | CryptoPanic | Others | |
|---|---|---|---|
| Price | 🆓 Free | $29-299/mo | Paid |
| API Key | ❌ None needed | Required | Required |
| Rate Limit | Unlimited* | 100-1000/day | Limited |
| Sources | 300+ English + 77 international | 1 | Varies |
| Historical | 📚 662,000+ articles (2017-2026) | Limited | None |
| International | 🌏 KO, ZH, JA, ES + translation | No | No |
| Self-host | ✅ Docker / Cloud Run / Vercel | No | No |
| PWA | ✅ Installable | No | No |
| MCP | ✅ Hosted + local | No | No |
| SDK examples | 12 languages | 0 | 1-2 |
| AI Features | 30+ AI endpoints (free) | No | No |
* Fair use. Cache on your side and identify your client with a User-Agent; abusive traffic gets throttled.
A compact map of the API, grouped by area. The interactive explorer is at cryptocurrency.cv/developers, the narrative reference is docs/API.md, and the complete 450+ route catalog is docs/reference/endpoints.md.
| Area | Endpoints | Notes |
|---|---|---|
| News | /api/news, /api/breaking, /api/search?q=, /api/news?category= | limit, source, page, category params |
| Categories | /api/bitcoin, /api/defi, /api/news?category=institutional | 21 categories, see the catalog |
| International | /api/news/international?lang=ko, /api/news?translate=es | 77 outlets, 18 translation targets |
| AI | /api/ask, /api/ai (summarize, sentiment, fact-check), /api/ai/summarize, /api/ai/narratives, /api/ai/research, /api/ai/brief, /api/rag, /api/predictions | Free via Groq |
| Sentiment and social | /api/sentiment, /api/fear-greed, /api/trending, /api/social | Includes X/Twitter sentiment without a key |
| Market data | /api/market, /api/prices, /api/defi, /api/gas, /api/yields, /api/hyperliquid | Prices, DeFi, gas, derivatives |
| On-chain | /api/whales, /api/whale-alerts, /api/flows, /api/liquidations, /api/unlocks | Whale alerts, exchange flows, unlock calendar |
| Portfolio and signals | /api/portfolio, /api/signals, /api/alerts | Portfolio-aware news, trading signals |
| Archive | /api/archive?date=2024-01, ?ticker=BTC, ?q=, ?stats=true | 662k articles, see archive |
| Feeds | /api/rss, /api/atom, /api/opml, /api/sse, WebSocket | Streaming and syndication |
| Meta | /api/sources, /api/health, /api/openapi.json, /api/stats | Source list, uptime, spec |
| Premium (x402) | /api/premium/*, /.well-known/x402 | Pay per call with USDC, no account. x402 docs |
| x402 conformance | /api/x402/conformance | Audit any x402 API's discovery contract against the challenges it actually returns. docs, page |
| Versioned | /api/v1/* | Stable aliases for everything above |
The AI routes need no key either. They run on the hosted Groq integration:
# Natural-language question over today's news
curl "https://cryptocurrency.cv/api/ask?q=what%20happened%20with%20the%20SEC%20this%20week"
# One-paragraph summary of the current feed
curl "https://cryptocurrency.cv/api/ai/summarize"
# Emerging narratives, ranked by momentum
curl "https://cryptocurrency.cv/api/ai/narratives?emerging=true"
# Daily brief for a given date
curl "https://cryptocurrency.cv/api/ai/brief?date=2026-08-26&format=summary"
# Retrieval-augmented answer over the 662k-article archive
curl "https://cryptocurrency.cv/api/rag?q=bitcoin%20etf%20approval%20timeline"
662,047 articles (CryptoPanic English coverage from September 2017 plus Odaily Chinese coverage), enriched with tickers, named entities, sentiment and the BTC/ETH price and Fear & Greed reading at capture time.
curl "https://cryptocurrency.cv/api/archive?date=2024-01" # one month
curl "https://cryptocurrency.cv/api/archive?ticker=BTC&limit=100" # by ticker
curl "https://cryptocurrency.cv/api/archive?q=bitcoin%20etf" # full text
curl "https://cryptocurrency.cv/api/archive?start_date=2025-01-01&end_date=2025-01-07"
curl "https://cryptocurrency.cv/api/archive?stats=true" # counts and coverage
Schema, directory layout and every query parameter: docs/reference/archive.md.
Use the whole API from Claude Desktop, Claude Code, Cursor, or any Model Context Protocol client. 40+ tools (news, search, archive, sentiment, market data, portfolio); the full tool list is in mcp/README.md.
Hosted endpoint, zero install. A Streamable-HTTP server runs at https://cryptocurrency.cv/api/mcp:
{
"mcpServers": {
"crypto-news": {
"url": "https://cryptocurrency.cv/api/mcp"
}
}
}
Claude Code, one line:
claude mcp add --transport http crypto-news https://cryptocurrency.cv/api/mcp
Local stdio server. The same tools on your machine, published as @nirholas/free-crypto-news-mcp (source in mcp/):
{
"mcpServers": {
"crypto-news": {
"command": "npx",
"args": ["-y", "@nirholas/free-crypto-news-mcp"]
}
}
}
Or run it from a checkout: git clone https://github.com/nirholas/cryptocurrency.cv.git && cd cryptocurrency.cv/mcp && npm install && node index.js.
Other agent surfaces: a ChatGPT custom GPT and OpenAI plugin manifest (/.well-known/ai-plugin.json), Google A2A agent card (/.well-known/agent.json), LangChain and CrewAI samples in examples/agents/, and copy-paste integrations for Discord, Telegram, Slack and LangChain in docs/reference/integrations.md.
Embed a live news feed in any page with one script tag. Source and examples in widget/.
<div id="crypto-ticker" data-limit="20" data-category="all" data-theme="dark"></div>
<script src="https://cryptocurrency.cv/widget/ticker.js"></script>
ticker.js scrolls headlines, carousel.js renders cards, embed.js drops a full feed into a container. All three read data-* attributes for limit, category, speed and theme.
Everything runs from one Next.js app. All environment variables are optional; without any, you get the full news API. Set GROQ_API_KEY (free at console.groq.com) to switch on the AI endpoints. The complete variable list, Kubernetes manifests and observability stack are in docs/reference/self-hosting.md.
Docker
git clone https://github.com/nirholas/cryptocurrency.cv.git
cd cryptocurrency.cv
docker compose up -d
# API on http://localhost:3000/api/news
The Dockerfile builds a standalone image; docker-compose.yml adds Redis for caching. Scale-out and observability variants: docker-compose.scale.yml, docker-compose.observability.yml.
Google Cloud Run
gcloud builds submit --config cloudbuild.yaml
Step-by-step, including Artifact Registry, secrets and a custom domain: docs/DEPLOY-GCP.md.
Vercel
From source
pnpm install
pnpm dev # http://localhost:3000
pnpm build && pnpm start
Railway, Render, DigitalOcean, CasaOS, Unraid and Portainer templates are in the repo root (railway.json, render.yaml, .do/, casaos-app.yaml, unraid-template.xml, portainer-template.json). General deployment notes: docs/DEPLOYMENT.md.
src/app/api/ holds every route handler.src/lib/crypto-news.ts (RSS feeds by category) and src/lib/international-sources.ts; credibility tiers in src/lib/source-tiers.ts.s-maxage headers, so a cold fetch is rare./api/archive.ws-server.js) fed by the same fetch layer.x402-facilitator/. The discovery contract those routes publish is audited by sdk/x402-conformance/, which also ships standalone: npx @nirholas/x402-conformance <origin>./api/mcp, local in mcp/), OpenAPI, llms.txt, and /.well-known/* manifests are generated from the same route metadata.Deeper reading: docs/ARCHITECTURE.md, docs/reference/architecture.md, docs/SCALABILITY.md.
| Document | What it covers |
|---|---|
| Developer portal | Interactive endpoint explorer |
| docs/API.md | API reference with parameters and examples |
| docs/QUICKSTART.md | Five-minute integration guide |
| docs/AI-FEATURES.md | AI endpoints and RAG |
| docs/sdks/ | Per-language client guides |
| docs/reference/ | Everything that used to live in this README: full endpoint catalog, pages, sources, archive, PWA, integrations, deployment, roadmap |
| docs/USER-GUIDE.md | Web app features and keyboard shortcuts |
| AGENTS.md / SKILLS.md | Agent integration guide and skill catalog |
| CHANGELOG.md | Version history |
Bug fixes, new sources, translations and docs are all welcome. Read CONTRIBUTING.md for the workflow, SUPPORT.md for where to ask questions, and SECURITY.md to report a vulnerability. Contributions are accepted under the repository license below.
src/lib/crypto-news.ts.locales/.Source-available, all rights reserved. See LICENSE for the code terms.
The hosted API at cryptocurrency.cv is free to use, with or without attribution. Running the code yourself, redistributing it, or building a competing hosted service requires permission under the terms in LICENSE.