- name
- Free Crypto News API
- type
- api
- category
- cryptocurrency
- auth
- none
- pricing
- free
- endpoints
- 450+
- sources
- 300+
- llms_txt
- https://cryptocurrency.cv/llms.txt
- openapi
- https://cryptocurrency.cv/api/openapi.json
- mcp_server
- https://cryptocurrency.cv/api/mcp (hosted) or npx -y @nirholas/free-crypto-news-mcp (local)
- license
- source-available (all rights reserved), hosted API free to use
🌐 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
🆓 Free Crypto News API
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.
⚡ Quick Start
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/.
🎁 What You Get
How it compares
* Fair use. Cache on your side and identify your client with a User-Agent; abusive traffic gets throttled.
🔌 Endpoints
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.
AI endpoint examples
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"
Historical archive
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.
🔮 MCP Server
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.
🧩 Widgets
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.
🐳 Self-Hosting
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.
🏗️ Architecture
- Next.js 15 App Router on the Edge and Node runtimes;
src/app/api/holds every route handler. - Source registry in
src/lib/crypto-news.ts(RSS feeds by category) andsrc/lib/international-sources.ts; credibility tiers insrc/lib/source-tiers.ts. - Fetch layer pulls feeds in parallel with per-source timeouts, dedupes by content hash, and normalises to the article schema above.
- Caching at three levels: in-memory, Redis (optional), and CDN
s-maxageheaders, so a cold fetch is rare. - AI layer calls Groq for summaries, sentiment, fact-checks and briefs; RAG indexes the archive into pgvector (docs/RAG.md).
- Archive is append-only JSONL by month, enriched with tickers, entities, sentiment and market context, exposed through
/api/archive. - Realtime via SSE and a WebSocket server (
ws-server.js) fed by the same fetch layer. - Payments: premium routes are gated by x402; the facilitator lives in
x402-facilitator/. The discovery contract those routes publish is audited bysdk/x402-conformance/, which also ships standalone:npx @nirholas/x402-conformance <origin>. - Agents: MCP (hosted at
/api/mcp, local inmcp/), OpenAPI,llms.txt, and/.well-known/*manifests are generated from the same route metadata. - Web app: 89 pages of React server and client components, installable as a PWA, localised into 42 languages.
Deeper reading: docs/ARCHITECTURE.md, docs/reference/architecture.md, docs/SCALABILITY.md.
📚 Documentation
🤝 Contributing
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.
- Add a news source: open an issue with the new source template or edit
src/lib/crypto-news.ts. - Improve a translation: edit the file under
locales/.
🙏 Contributors
Thank you to everyone who has written code, reported bugs and security issues, or helped other users. What each person did is in CONTRIBUTORS.md; the same list appears on cryptocurrency.cv/team.
📄 License
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.
⭐ Star History
Support the project
If cryptocurrency.cv saves you time, star it on GitHub. Stars are how other developers and AI agents find the repositories worth trusting, and they cost you one click.
Know someone who would use it? Post on X · Share on Bluesky · Share on LinkedIn · Submit to Hacker News · Share on Reddit
Built for AI agents too
Coding agents and LLM tooling can read this repo directly: AGENTS.md, llms.txt, llms-full.txt. Point an agent at https://github.com/nirholas/cryptocurrency.cv and it has the context it needs.
More from the same author
- All repositories by nirholas: the full catalog, grouped by topic
- three.ws: the platform for 3D AI agents with Solana wallets, a skill marketplace and x402 payments
- Questions or ideas: open an issue or start a discussion