I needed crypto prices for a side project and got tired of signing up for keys, reading pricing pages and hitting "upgrade to continue" walls. So I built the data layer for my own site, CoinXview, and opened part of it as a free public API.
No key, no sign-up. CORS is open, so it works straight from the browser.
What you get
- Live prices for 1,200+ coins, volume-weighted across 22 exchanges (Binance, OKX, Bybit, Coinbase, Kraken, Upbitβ¦). An exchange that drifts more than 5% from the others is dropped from the average.
- 1h / 24h / 7d change, market cap, 24h volume, ATH and distance from ATH
- OHLC candles: 1h, 4h, 1d, 1w
- Global market numbers and a Fear & Greed index
- A 0β100 risk score per coin, with its components
Limit: 60 requests per minute per IP. Field names are stable; new fields may be added, existing ones won't be renamed.
Prices
curl "https://coinxview.com/api/v1/coins?symbols=BTC,ETH"
{
"data": [
{
"rank": 1,
"symbol": "BTC",
"name": "Bitcoin",
"price_usd": 77966,
"change_1h": -0.15,
"change_24h": -0.11,
"change_7d": -2.98,
"market_cap_usd": 1567662728412,
"volume_24h_usd": 4687188887,
"ath_usd": 126199.6,
"ath_change_pct": -38.22,
"exchanges": 22,
"risk": 0,
"risk_level": "low"
}
]
}
Without symbols you get the list by rank. Page through it with start and limit.
JavaScript
const res = await fetch("https://coinxview.com/api/v1/coins?symbols=BTC,ETH,SOL");
const { data } = await res.json();
for (const c of data) {
console.log(`${c.symbol}: $${c.price_usd} (${c.change_24h}% 24h)`);
}
Python
import requests
r = requests.get("https://coinxview.com/api/v1/coins", params={"symbols": "BTC,ETH,SOL"})
for c in r.json()["data"]:
print(c["symbol"], c["price_usd"], f'{c["change_24h"]}% 24h')
Candles
curl "https://coinxview.com/api/v1/ohlc/BTC?interval=1d&limit=30"
Each candle is [time, open, high, low, close, volume_usd], with time in Unix seconds. interval is 1h, 4h, 1d or 1w. The response tells you which exchange the candles come from (source_exchange).
Risk score
This is the part I haven't seen in other free APIs. Every coin gets a 0β100 score, where higher means riskier. It is computed only from market data:
- liquidity (30%)
- volatility (25%)
- number of exchange listings (15%)
- price gap between exchanges (15%)
- how much price history exists (15%)
- +10 if the project lost $1M+ to a hack in the last 12 months
curl "https://coinxview.com/api/v1/risk/SOL"
You get the total, a level (low, medium, high, very_high) and each component. That makes it easy to flag thin, freshly listed tokens in a bot or a dashboard. It is a data signal, not investment advice.
Market overview and Fear & Greed
curl "https://coinxview.com/api/v1/global"
curl "https://coinxview.com/api/v1/fear-greed"
global returns total market cap, 24h volume, BTC / ETH dominance and the current Fear & Greed value. fear-greed adds the daily history.
Limits, honestly
- 60 requests/min per IP. Cache on your side if you poll.
- Free, best effort, no SLA. Good for side projects, bots, dashboards and learning. If you need guaranteed uptime, keep a fallback.
- Prices are computed from exchange data, not copied from other aggregators.
Full docs: coinxview.com/free-crypto-api
If you build something with it, I'd like to see it, and tell me what endpoint you'd want next.
Top comments (0)