Appearance
Coins Price List
Returns a paginated list of crypto coins ranked by market cap, with live price, 24h price change, and metadata for each coin. Supports over 140 base fiat currencies.
Use this to:
- Build a live crypto price table or ticker
- Display coin rankings with market cap data
- Show 24h price change indicators (green/red)
- Power a portfolio tracker with live prices in a user's preferred currency
Base URL
https://crypto-news51.p.rapidapi.comGet coin prices
GET/api/v1/mini-crypto/prices
Returns a paginated list of coins ordered by market cap descending (rank 1 = largest market cap).
Authentication
| Header | Value |
|---|---|
X-RapidAPI-Key | Your RapidAPI secret key |
X-RapidAPI-Host | crypto-news51.p.rapidapi.com |
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| base_currency | string | USD | required The fiat currency to denominate prices in. Accepts ISO 4217 codes (e.g. USD, EUR, GBP, JPY). Supports 140+ currencies. |
| page | integer | 1 | required Page number. Use with page_size to paginate through all coins. |
| page_size | integer | 20 | required Number of coins per page. Maximum: 100. |
Example requests
bash
curl "https://crypto-news51.p.rapidapi.com/api/v1/mini-crypto/prices?base_currency=USD&page=1&page_size=20" \
-H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: crypto-news51.p.rapidapi.com"bash
curl "https://crypto-news51.p.rapidapi.com/api/v1/mini-crypto/prices?base_currency=EUR&page=1&page_size=100" \
-H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: crypto-news51.p.rapidapi.com"javascript
const params = new URLSearchParams({
base_currency: 'USD',
page: '1',
page_size: '20',
})
const response = await fetch(
`https://crypto-news51.p.rapidapi.com/api/v1/mini-crypto/prices?${params}`,
{
headers: {
'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
'X-RapidAPI-Host': 'crypto-news51.p.rapidapi.com',
},
}
)
const data = await response.json()
console.log(`Page ${data.page} of coins (base: ${data.base_currency})`)
for (const coin of data.results) {
const change = coin.change_24h_percent >= 0
? `+${coin.change_24h_percent.toFixed(2)}%`
: `${coin.change_24h_percent.toFixed(2)}%`
console.log(
`#${String(coin.rank).padStart(3)} ${coin.symbol.padEnd(6)} ` +
`${data.base_currency} ${coin.price.toLocaleString('en-US', { maximumFractionDigits: 2 })} ` +
`${change}`
)
}javascript
async function fetchAllCoins(baseCurrency = 'USD') {
const headers = {
'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
'X-RapidAPI-Host': 'crypto-news51.p.rapidapi.com',
}
const all = []
let page = 1
const pageSize = 100
while (true) {
const params = new URLSearchParams({ base_currency: baseCurrency, page, page_size: pageSize })
const res = await fetch(
`https://crypto-news51.p.rapidapi.com/api/v1/mini-crypto/prices?${params}`,
{ headers }
)
const data = await res.json()
if (!data.results || data.results.length === 0) break
all.push(...data.results)
if (data.results.length < pageSize) break
page++
}
return all
}
const coins = await fetchAllCoins('USD')
console.log(`Total coins fetched: ${coins.length}`)python
import os
import requests
response = requests.get(
"https://crypto-news51.p.rapidapi.com/api/v1/mini-crypto/prices",
params={
"base_currency": "USD",
"page": 1,
"page_size": 20,
},
headers={
"X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"],
"X-RapidAPI-Host": "crypto-news51.p.rapidapi.com",
},
)
response.raise_for_status()
data = response.json()
print(f"Page {data['page']} | Base: {data['base_currency']}\n")
print(f"{'#':>4} {'Symbol':<7} {'Price':>15} {'24h':>8} {'Market Cap':>20}")
print("-" * 60)
for coin in data["results"]:
change = f"{coin['change_24h_percent']:+.2f}%"
price = f"{data['base_currency']} {coin['price']:,.2f}"
mcap = f"{coin['market_cap']:,.0f}"
print(f"{coin['rank']:>4} {coin['symbol']:<7} {price:>15} {change:>8} {mcap:>20}")python
import os, requests
def fetch_all_coins(base_currency="USD"):
session = requests.Session()
session.headers.update({
"X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"],
"X-RapidAPI-Host": "crypto-news51.p.rapidapi.com",
})
all_coins, page, page_size = [], 1, 100
while True:
resp = session.get(
"https://crypto-news51.p.rapidapi.com/api/v1/mini-crypto/prices",
params={"base_currency": base_currency, "page": page, "page_size": page_size},
)
resp.raise_for_status()
data = resp.json()
batch = data.get("results", [])
if not batch:
break
all_coins.extend(batch)
if len(batch) < page_size:
break
page += 1
return all_coins
coins = fetch_all_coins("EUR")
print(f"Total coins: {len(coins)}")Response
json
{
"page": 1,
"page_size": 20,
"base_currency": "USD",
"results": [
{
"rank": 1,
"symbol": "BTC",
"name": "Bitcoin",
"slug": "bitcoin",
"id": "rx5wufxh",
"price": 89386.89996834408,
"image": "https://market-assets.fsn1.your-objectstorage.com/crypto/rx5wufxh.png",
"market_cap": 1784372582583.07,
"change_24h_percent": 0.18
},
{
"rank": 2,
"symbol": "ETH",
"name": "Ethereum",
"slug": "ethereum",
"id": "6uz3nomy",
"price": 3136.1868841129062,
"image": "https://market-assets.fsn1.your-objectstorage.com/crypto/6uz3nomy.png",
"market_cap": 378522415450,
"change_24h_percent": 1.47
}
]
}Response fields
Envelope
| Field | Type | Description |
|---|---|---|
| page | integer | Current page number (echoed from request). |
| page_size | integer | Number of results per page (echoed from request). |
| base_currency | string | The fiat currency used for all prices (echoed from request). |
| results | object[] | Array of coin objects for the current page. |
Coin object
| Field | Type | Description |
|---|---|---|
| rank | integer | Market cap rank. Rank 1 = largest market cap. |
| symbol | string | Ticker symbol (e.g. BTC, ETH). |
| name | string | Full coin name (e.g. Bitcoin). |
| slug | string | URL-friendly identifier (e.g. bitcoin). Useful for linking to coin detail pages. |
| id | string | Internal coin identifier. Use this as a stable reference — symbols can change, IDs do not. |
| price | number | Current price in base_currency. Full floating-point precision. |
| image | string | URL of the coin's logo image (PNG format). |
| market_cap | number | Total market capitalisation in base_currency. |
| change_24h_percent | number | Price change over the last 24 hours as a percentage. Positive = price up, negative = price down. |
Pagination
This endpoint uses page + page_size (offset-based) pagination. Detect the last page when results.length < page_size.
page 1 → ranks 1–20
page 2 → ranks 21–40
...
last page → results.length < page_sizeid vs symbol as a stable key
Use id (e.g. rx5wufxh) as a stable identifier when storing coins in a database. Symbols like BTC are widely recognised but can theoretically be reused by different projects. The id field is unique and persistent.
Error responses
| Status | Code | Description |
|---|---|---|
| 400 | bad_request | Unsupported base_currency code or page_size exceeds 100 |
| 401 | unauthorized | X-RapidAPI-Key is missing or invalid |
| 403 | forbidden | Your RapidAPI plan does not include access to this endpoint |
| 429 | too_many_requests | RapidAPI rate limit exceeded |
| 500 | internal_error | Server error — safe to retry after a short delay |
Related endpoints
| Endpoint | Description |
|---|---|
| Fiat Supported | Full list of 152 supported base fiat currencies |
| Article Statistics | Article counts across time windows |
| Crypto Articles | Latest crypto news articles |