Skip to content

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.com

Get 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

HeaderValue
X-RapidAPI-KeyYour RapidAPI secret key
X-RapidAPI-Hostcrypto-news51.p.rapidapi.com

Query parameters

ParameterTypeDefaultDescription
base_currencystringUSDrequired
The fiat currency to denominate prices in. Accepts ISO 4217 codes (e.g. USD, EUR, GBP, JPY). Supports 140+ currencies.
pageinteger1required
Page number. Use with page_size to paginate through all coins.
page_sizeinteger20required
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

FieldTypeDescription
pageintegerCurrent page number (echoed from request).
page_sizeintegerNumber of results per page (echoed from request).
base_currencystringThe fiat currency used for all prices (echoed from request).
resultsobject[]Array of coin objects for the current page.

Coin object

FieldTypeDescription
rankintegerMarket cap rank. Rank 1 = largest market cap.
symbolstringTicker symbol (e.g. BTC, ETH).
namestringFull coin name (e.g. Bitcoin).
slugstringURL-friendly identifier (e.g. bitcoin). Useful for linking to coin detail pages.
idstringInternal coin identifier. Use this as a stable reference — symbols can change, IDs do not.
pricenumberCurrent price in base_currency. Full floating-point precision.
imagestringURL of the coin's logo image (PNG format).
market_capnumberTotal market capitalisation in base_currency.
change_24h_percentnumberPrice 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_size

id 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

StatusCodeDescription
400bad_requestUnsupported base_currency code or page_size exceeds 100
401unauthorizedX-RapidAPI-Key is missing or invalid
403forbiddenYour RapidAPI plan does not include access to this endpoint
429too_many_requestsRapidAPI rate limit exceeded
500internal_errorServer error — safe to retry after a short delay

EndpointDescription
Fiat SupportedFull list of 152 supported base fiat currencies
Article StatisticsArticle counts across time windows
Crypto ArticlesLatest crypto news articles

Released under the MIT License.