API Reference

CryptoIntel API

These are the JSON routes the site itself runs on. They return what the pages show, from the same caches.

Available Endpoints

GET/api/news

Articles from every feed, newest first, with keyword sentiment and ticker tags. Filters run across the whole pool, then the result is paged.

Parameters

NameTypeRequiredDescription
tickersstringNoOne symbol, e.g. BTC
namestringNoCoin name, used with tickers for coins outside the built-in list
searchstringNoText to find in titles and summaries
sectionstringNoCategory slug, e.g. defi, etf, regulation, macro
pagenumberNoPage number (default 1)
limitnumberNoArticles per page (default 30, max 200)

Response

{ data: Article[], total, total_pages, pool, sources: { name, ok, count }[], updated }
GET/api/coins

Market data for the top 500 coins from CoinGecko, cached for 15 minutes.

Parameters

NameTypeRequiredDescription
per_pagenumberNoHow many coins (default 100, max 500)
idstringNoOne CoinGecko id, e.g. bitcoin. Returns { coin }
sparkline1NoInclude the 7-day price line (one point every 2 hours)

Response

{ coins: Coin[], total, timestamp }
GET/api/prices

Price, 24h change and market cap for a list of symbols.

Parameters

NameTypeRequiredDescription
symbolsstringNoComma-separated, e.g. BTC,ETH,SOL

Response

{ prices: { symbol, price, change24h, marketCap }[], timestamp }
GET/api/market-stats

Global market cap, volume, BTC and ETH dominance from CoinGecko, plus today's Fear & Greed Index.

Response

{ totalMarketCap, totalVolume24h, btcDominance, ethDominance, activeCryptos, fearGreedIndex, fearGreedLabel, marketCapChange24h }
GET/api/fear-greed

Daily Fear & Greed Index history from alternative.me, oldest first.

Parameters

NameTypeRequiredDescription
daysnumberNoDays of history (default 30, max 90)

Response

{ points: { date, value, label }[] }
POST/api/sentiment

AI read of one article by openai/gpt-oss-120b. Errors come back as { error } with a 4xx or 5xx status.

Parameters

NameTypeRequiredDescription
titlestringYesHeadline
textstringNoArticle text, first 1,500 characters are used

Response

{ sentiment, score (-100 to 100), confidence, summary, impactedAssets, marketImpact }
POST/api/sentiment/batch

AI read of up to 15 headlines at once. Each server instance keeps an answer for 10 minutes per headline set.

Parameters

NameTypeRequiredDescription
articles{ title }[]YesHeadlines to read
focusstringNoAn asset name, to judge sentiment toward that asset

Response

{ overallSentiment, overallScore, bullishPercent, bearishPercent, neutralPercent, topThemes, marketMood, analyzed }
GET/api/status

Live check of every upstream: each news feed, CoinGecko, alternative.me and the AI model.

Response

{ checked, services: { name, group, status, detail }[] }

Authentication

There are no API keys yet. The routes are open, the same as when the site calls them. Go easy on them, they sit on free upstream tiers.

curl "https://www.cryptointel.site/api/news?tickers=BTC&limit=5"

Planned Access Tiers

Keys and rate limits aren't built. This is the plan for when they are.

Free

100 requests/day

Pro

10,000 requests/day

Enterprise

Custom limits

Get Started

Planning to build on this data? Request access and say what you need.