Free Crypto News TypeScript SDK
100% FREE TypeScript SDK for the Free Crypto News API. No API keys required!
Installation
npm install @nirholas/crypto-news
Usage
import { CryptoNews } from '@nirholas/crypto-news';
const client = new CryptoNews();
const articles = await client.getLatest(10);
const ethNews = await client.search('ethereum, ETF');
const defiNews = await client.getDefi(10);
const btcNews = await client.getBitcoin(10);
const breaking = await client.getBreaking(5);
const health = await client.getHealth();
Analytics & Trends
const trending = await client.getTrending(10, 24);
trending.trending.forEach(t => {
console.log(`${t.topic}: ${t.count} mentions (${t.sentiment})`);
});
const stats = await client.getStats();
const analysis = await client.analyze(20, 'bitcoin', 'bullish');
console.log(`Market: ${analysis.summary.overall_sentiment}`);
Historical & Sources
const archive = await client.getArchive('2024-01-15', 'SEC', 20);
const origins = await client.getOrigins('binance', 'exchange', 10);
origins.items.forEach(item => {
console.log(`${item.title} - Original: ${item.likely_original_source}`);
});
Convenience Functions
import { getCryptoNews, searchCryptoNews, getDefiNews } from '@nirholas/crypto-news';
const news = await getCryptoNews(10);
const results = await searchCryptoNews('bitcoin');
const defi = await getDefiNews(5);
Types
All types are exported and fully documented:
import type {
NewsArticle,
NewsResponse,
SourceInfo,
HealthStatus,
SourceKey,
TrendingResponse,
StatsResponse,
AnalyzeResponse,
ArchiveResponse,
OriginsResponse
} from '@nirholas/crypto-news';
Custom Configuration
const client = new CryptoNews({
baseUrl: 'https://your-self-hosted-instance.com',
timeout: 60000,
});
API Reference
getLatest(limit?, source?) | Get latest news |
search(keywords, limit?) | Search by keywords |
getDefi(limit?) | DeFi-specific news |
getBitcoin(limit?) | Bitcoin-specific news |
getBreaking(limit?) | Breaking news (last 2h) |
getSources() | List all sources |
getHealth() | API health status |
getTrending(limit?, hours?) | Trending topics |
getStats() | API statistics |
analyze(limit?, topic?, sentiment?) | Sentiment analysis |
getArchive(date?, query?, limit?) | Historical archive |
getOrigins(query?, category?, limit?) | Find original sources |
getRSSUrl(feed?) | Get RSS feed URL |
License
MIT