Crypto WebSocket API
Real-time prices for up to 100 coins per connection, pushed the moment they are calculated from 120+ exchanges. One connection costs one API call. The recommended transport for back ends; front ends use SSE.
30 days free, then $199 a month. Card required, cancel any time.
$199/month · 30-day free trial · wss://api.coinranking.com/v2/real-time
| Coin | Pollingonce a minute | Server-Sent Eventslive |
|---|---|---|
BNBBNB | ||
0
Price updates received
2
API calls used: one for the list, one for the stream
Three Feeds on One Base URL
Aggregated rates per coin, rates per exchange, and full tickers per trading pair, all under wss://api.coinranking.com/v2/real-time.
- WS/rates
One consolidated price and 24-hour volume per coin across every exchange. Subscribe by
currency-uuids[], up to 100 per connection. A coin’s price and volume on one exchange, tagged
cexordex. Subscribe by exchange, by coin, or by exact pair.- WS/tickers
Trading-pair level: close price, base and quote volume, and the filters applied to the market. Subscribe by market, exchange or coin.
DEX markets on the exchange-rates and tickers feeds need the Real-Time DEX Data add-on.
Prices Arrive as JSON, in a Few Lines of Code
One URL with your key and the coin UUIDs. Every message is a coin UUID, a price and a 24-hour volume in US dollars.
// Subscriptions in the connection URL
const socket = new WebSocket(
'wss://api.coinranking.com/v2/real-time/rates' +
'?x-access-token=YOUR_KEY' +
'¤cy-uuids[]=Qwsogvtv82FCd' + // Bitcoin
'¤cy-uuids[]=razxDUgYGNAdQ' + // Ethereum
'&throttle=1s'
);
socket.onmessage = (event) => {
const rate = JSON.parse(event.data);
console.log(rate.currencyUuid, rate.price);
};Subscription messages, throttling and the full message reference are in the rates docs.
One Connection Costs One API Call
Keeping 100 coins fresh for a day costs 1 API call over the socket, against 1,440 polling once a minute, and the polled price is still up to a minute old.
| Poll /coins every minute | Poll /coins every second | Coinranking WebSocket | |
|---|---|---|---|
| API calls per day | 1,440 | 86,400 | 1 |
| Price age | Up to 60 seconds | Up to 60 seconds | Pushed on calculation |
| Messages per day | 1,440 responses | 86,400 responses | Every rate change, throttled to 1s or 10s per coin |
| Share of a 5M-call month, per day | 0.03% | 1.7% | 0.00002% |
Compared with CoinGecko and CoinMarketCap WebSockets
Coinranking is the only one of the three that bills per connection and runs its WebSocket as a production feature rather than a beta.
| Coinranking | CoinGecko | CoinMarketCap | |
|---|---|---|---|
| Billing unit | Per connection | Per message | Per message |
| Cost of one stream | 1 API call | 0.1 credit per message | 0.025 credits per message |
| Status | Live | Beta | Beta |
| Covered by SLA | Available as an add-on | No | No |
Competitor figures from CoinGecko (docs.coingecko.com/websocket) and CoinMarketCap (coinmarketcap.com/api/documentation/pro-api-websocket/overview) documentation, verified September 2026. Both vendors negotiate separately at Enterprise.
Built for a Production Socket
What the server handles for you, and the one thing you keep server-side.
Confirmed Subscriptions
Every subscription message is answered with the accepted topics and throttle.
Simple Reconnect
Reopen the same URL and the subscriptions in it apply again. One API call, same as the first.
Throttle per Coin
10s for a browser that paints every tick, 1s for a server that stores them. Applied per coin, not per connection.
99.9% Uptime
Historical uptime above 99.9%, published on the status page. A contracted SLA is available as a paid add-on.
Keep the key server-side: open the socket from a server and relay to browsers, or use Server-Sent Events behind your own endpoint.
What Developers Build on Coinranking WebSocket API
Four things a minute-old REST price cannot do.
Live Market Tables
The ranking your users keep open. One socket for a top-100, prices that move instead of jump.
Portfolio Trackers
Every holding revalued on every tick, with the 24-hour volume in the same message.
Alert Bots
Fire when the price crosses, not up to a minute later. Change the watchlist mid-stream.
Trading Dashboards
Tickers per pair with base and quote volume, on centralized exchanges and, with the add-on, DEXs.
Other Ways to Stream the Same Data
One data set, two transports, one add-on.
WebSocket Access by Plan
The WebSocket feeds are included in the Professional plan and not available on Free or Startup.
| Free · $0 | Startup · $49/mo | Professional · $199/mo | |
|---|---|---|---|
| Price | $0 | $49 | $199 |
| WebSocket feeds | Not included | Not included | Rates, exchange rates, tickers |
| Subscriptions per connection | — | — | Up to 100 |
| DEX markets on the feeds | — | — | With the Real-Time DEX Data add-on, $119/month |
| REST calls per month | 5,000 | 1,000,000 | 5,000,000 |
| Free trial | — | 30 days | 30 days |
30-day free trial on Professional. Compare every plan.
WebSocket Questions Developers Ask
Coinranking WebSocket API is included in the Professional plan at $199 a month, with 5,000,000 REST calls, unlimited API keys and a 30-day free trial. The Free and Startup plans do not include WebSockets. DEX markets on the exchange-rates and tickers feeds need the Real-Time DEX Data add-on at $119 a month. See plans.
One Coinranking WebSocket connection carries up to 100 coin UUIDs, passed as currency-uuids[] in the URL or in a subscription message. A top-100 market table is exactly one connection. For more coins, open a second socket; each connection costs one API call. See the rates documentation.
A Coinranking WebSocket connection consumes one API call when it opens. The stream itself consumes nothing after that, however many price messages arrive. The one exception is a subscription message: changing the coin list mid-stream costs one additional call. Reconnecting after a drop costs one call, the same as the first connection.
Authenticate Coinranking WebSocket with the x-access-token query parameter: wss://api.coinranking.com/v2/real-time/rates?x-access-token=YOUR_KEY. The WebSocket protocol does not carry custom HTTP headers, so the header used for REST calls cannot be used here. Keep the key server-side and proxy to browsers.
Coinranking pushes a rate the moment it recalculates one, throttled to at most one message per coin per second by default (throttle=1s) or per ten seconds (throttle=10s). The same rates over the REST /coins endpoint refresh once a minute, which is why the socket exists.
No. Every Coinranking WebSocket message carries price and 24-hour volume in US dollars only. To show another currency, convert client-side with a REST price in that currency: any coin endpoint with referenceCurrencyUuid, or the coin fiat prices endpoint.
More of Coinranking API
Same key, same base URL.
Stream Prices over WebSockets
Your first rate message arrives a few minutes after sign-up. Professional is free for 30 days.
30 days free, then $199 a month. Card required, cancel any time.
