Crypto Market Data API
Real-time cryptocurrency prices, market data, and live updates for 100+ digital assets powered by CoinGecko.
Overview
Rach Crypto Market Data provides instant access to comprehensive cryptocurrency market information including prices, market caps, trading volumes, and historical data across 100+ cryptocurrencies.
Key Features:
- 📊 100+ Cryptocurrencies - Bitcoin, Ethereum, and top altcoins
- ⚡ Real-Time Updates - WebSocket streaming for live prices
- 📈 Comprehensive Data - Prices, market cap, volume, supply, ATH/ATL
- 💫 24h Statistics - Price changes, volume, market cap movements
- ⭐ Favorites - Save and track your preferred coins
- 🔔 Price Alerts - Get notified when prices move (coming soon)
- 🌐 Free Access - No authentication required for basic endpoints
How It Works
Supported Cryptocurrencies
We track the top 100 cryptocurrencies by market cap, including:
Major Coins
- Bitcoin (BTC) - Digital gold
- Ethereum (ETH) - Smart contract platform
- Binance Coin (BNB) - Exchange token
- Polygon (POL/MATIC) - Layer 2 scaling
- Solana (SOL) - High-performance blockchain
- Cardano (ADA) - Proof-of-stake platform
Stablecoins
- Tether (USDT) - USD pegged
- USD Coin (USDC) - Regulated stablecoin
- DAI - Decentralized stablecoin
DeFi & Altcoins
- Uniswap (UNI) - DEX protocol
- Chainlink (LINK) - Oracle network
- Avalanche (AVAX) - Platform for dApps
- 90 more...
Market Data Fields
Each coin includes the following data points:
| Field | Description | Example |
|---|---|---|
name | Full coin name | "Bitcoin" |
symbol | Trading symbol | "BTC" |
coin_id | CoinGecko identifier | "bitcoin" |
price | Current USD price | 43521.50 |
rank | Market cap ranking | 1 |
image | Logo URL | "https://..." |
market_cap | Total market capitalization | "850000000000" |
total_volume | 24h trading volume | "25000000000" |
circulating_supply | Coins in circulation | 19500000 |
total_supply | Total coins minted | 21000000 |
max_supply | Maximum possible supply | 21000000 |
price_change_24h | 24h price change ($) | 1250.30 |
price_change_percentage_24h | 24h change (%) | 2.95 |
high_24h | 24h high | 44000.00 |
low_24h | 24h low | 42800.00 |
all_time_high | All-time high price | 69000.00 |
all_time_high_date | ATH date | "2021-11-10" |
all_time_low | All-time low price | 67.81 |
all_time_low_date | ATL date | "2013-07-06" |
market_cap_change_24h | Market cap change ($) | 15000000000 |
last_updated | Last data update | "2025-12-22T10:30:00Z" |
Quick Start
1. Get All Coin Prices
curl 'https://p2p.rach.finance/api/v1/market/prices/' \
-H 'Accept: application/json'Response:
[
{
"name": "Bitcoin",
"symbol": "btc",
"coin_id": "bitcoin",
"price": 43521.50,
"rank": 1,
"image": "https://assets.coingecko.com/coins/images/1/large/bitcoin.png",
"market_cap": "850432100000",
"total_volume": "25134567890",
"price_change_percentage_24h": 2.95,
"high_24h": 44000.00,
"low_24h": 42800.00,
"circulating_supply": 19532000.0,
"max_supply": 21000000.0,
"all_time_high": 69000.00,
"all_time_low": 67.81,
"last_updated": "2025-12-22T10:30:00Z"
},
{
"name": "Ethereum",
"symbol": "eth",
"coin_id": "ethereum",
"price": 2245.80,
"rank": 2,
"market_cap": "269800000000",
"price_change_percentage_24h": 3.42,
...
}
]2. Get Single Coin Price
curl 'https://p2p.rach.finance/api/v1/market/prices/bitcoin/' \
-H 'Accept: application/json'Response:
{
"bitcoin": {
"usd": 43521.50
}
}3. Get Multiple Coin Prices
curl 'https://p2p.rach.finance/api/v1/market/prices/multi-prices/?symbols=btc,eth,bnb' \
-H 'Accept: application/json'Response:
{
"btc": { "usd": 43521.50 },
"eth": { "usd": 2245.80 },
"bnb": { "usd": 315.20 }
}Real-Time WebSocket Updates
Subscribe to live price updates via WebSocket:
// Connect to WebSocket
const ws = new WebSocket('wss://p2p.rach.finance/ws/coins/');
ws.onopen = () => {
console.log('Connected to market data stream');
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
// data.text contains array of all coins with live prices
const coins = data.text;
coins.forEach(coin => {
console.log(`${coin.symbol}: $${coin.price}`);
// Each coin includes a 'state' field:
// - "raise" = price increased
// - "fail" = price decreased
// - "same" = price unchanged
if (coin.state === 'raise') {
console.log(`📈 ${coin.name} is up!`);
}
});
};
ws.onerror = (error) => {
console.error('WebSocket error:', error);
};
ws.onclose = () => {
console.log('Disconnected from market data');
};Favorites Management
Save and track your favorite cryptocurrencies (requires authentication):
Get Favorites List
curl 'https://p2p.rach.finance/api/v1/market/prices/coins/get/favorites/' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN'Response:
[
{
"coin_id": "bitcoin",
"coin_name": "Bitcoin",
"coin_symbol": "btc",
"coin_image": "https://...",
"coin_price": 43521.50,
"added_at": "2025-12-20T15:30:00Z"
},
{
"coin_id": "ethereum",
"coin_name": "Ethereum",
"coin_symbol": "eth",
"coin_image": "https://...",
"coin_price": 2245.80,
"added_at": "2025-12-21T10:00:00Z"
}
]Add to Favorites
curl -X POST 'https://p2p.rach.finance/api/v1/market/prices/coins/add/favorites/' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"coin_id": "bitcoin"
}'Response:
{
"favorited": true
}Remove from Favorites
curl -X DELETE 'https://p2p.rach.finance/api/v1/market/prices/coins/remove/favorites/' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"coin_id": "bitcoin"
}'Response:
{
"unfavorited": true
}Integration Examples
JavaScript / React
import { useState, useEffect } from 'react';
function CryptoPrices() {
const [coins, setCoins] = useState([]);
const [loading, setLoading] = useState(true);
// Fetch initial prices
useEffect(() => {
fetch('https://p2p.rach.finance/api/v1/market/prices/')
.then(res => res.json())
.then(data => {
setCoins(data);
setLoading(false);
});
}, []);
// Connect to WebSocket for live updates
useEffect(() => {
const ws = new WebSocket('wss://p2p.rach.finance/ws/coins/');
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
setCoins(data.text); // Update with live data
};
return () => ws.close();
}, []);
if (loading) return <div>Loading...</div>;
return (
<div>
<h2>Live Crypto Prices</h2>
{coins.map(coin => (
<div key={coin.symbol}>
<img src={coin.image} alt={coin.name} width="24" />
<strong>{coin.name}</strong> ({coin.symbol.toUpperCase()})
<span>${coin.price?.toLocaleString()}</span>
<span className={coin.state === 'raise' ? 'green' : 'red'}>
{coin.price_change_percentage_24h?.toFixed(2)}%
</span>
</div>
))}
</div>
);
}Python
import requests
def get_bitcoin_price():
"""Get current Bitcoin price"""
url = 'https://p2p.rach.finance/api/v1/market/prices/bitcoin/'
response = requests.get(url)
data = response.json()
return data['bitcoin']['usd']
def get_multiple_prices(symbols):
"""Get prices for multiple coins"""
url = 'https://p2p.rach.finance/api/v1/market/prices/multi-prices/'
params = {'symbols': ','.join(symbols)}
response = requests.get(url, params=params)
return response.json()
# Usage
btc_price = get_bitcoin_price()
print(f"Bitcoin: ${btc_price:,.2f}")
prices = get_multiple_prices(['btc', 'eth', 'bnb'])
for symbol, data in prices.items():
print(f"{symbol.upper()}: ${data['usd']:,.2f}")Go
package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
)
type Coin struct {
Name string `json:"name"`
Symbol string `json:"symbol"`
Price float64 `json:"price"`
}
func getCoinPrices() ([]Coin, error) {
resp, err := http.Get("https://p2p.rach.finance/api/v1/market/prices/")
if err != nil {
return nil, err
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var coins []Coin
json.Unmarshal(body, &coins)
return coins, nil
}
func main() {
coins, _ := getCoinPrices()
for _, coin := range coins[:10] {
fmt.Printf("%s (%s): $%.2f\n", coin.Name, coin.Symbol, coin.Price)
}
}Use Cases
🪙 Crypto Portfolio Tracker
Display real-time portfolio values with live price updates
💱 Exchange Rate Calculator
Convert between cryptocurrencies and fiat currencies
📊 Trading Dashboard
Build live trading charts and market analysis tools
🔔 Price Alert Service
Notify users when coins reach target prices
📱 Mobile Crypto App
Integrate live prices into iOS/Android apps
🎮 GameFi / Metaverse
Display in-game token prices and values
API Endpoints
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/v1/market/ | GET | No | List all coins (100+) |
/api/v1/market/prices/ | GET | No | Get all coin prices |
/api/v1/market/prices/:coin/ | GET | No | Get single coin price |
/api/v1/market/prices/multi-prices/ | GET | No | Get multiple coin prices |
/api/v1/market/prices/coins/get/favorites/ | GET | Yes | Get user's favorite coins |
/api/v1/market/prices/coins/add/favorites/ | POST | Yes | Add coin to favorites |
/api/v1/market/prices/coins/remove/favorites/ | DELETE | Yes | Remove from favorites |
/ws/coins/ | WebSocket | No | Real-time price updates |
Data Updates
- Update Frequency: Every 5 minutes
- Data Source: CoinGecko API
- Coverage: Top 100 coins by market cap
- WebSocket: Real-time push to all connected clients
- Cache: API responses cached for performance
Rate Limits
Market Data API has generous rate limits:
| Plan | Rate Limit |
|---|---|
| Free (No Auth) | 60 requests/minute |
| Authenticated | 120 requests/minute |
| WebSocket | Unlimited connections |
WebSocket Recommended
For frequently updated data, use WebSocket instead of polling REST API. WebSocket has no rate limits and provides instant updates.
Pricing
Market Data API is included in all Rach plans:
- 6 Months Free - Full access to market data
- Free Forever - Basic endpoints (no authentication)
- All Paid Plans - Favorites, higher rate limits
Next Steps
Ready to integrate live crypto prices?
