CoinMarketCap API

30 requests/minute (333 credits/day, ~10,000 credits/month on free tier)

Overview

CoinMarketCap provides the most widely referenced cryptocurrency market data, covering 9,000+ coins with prices, rankings, market caps, and OHLCV history. The free Basic plan allows 10,000 credits per month and covers essential price-lookup endpoints — enough to build portfolio trackers and price widgets. Data is normalized and battle-tested, powering finance apps used by millions.

💡

Beginner Tip

Register for a free API key at pro.coinmarketcap.com and pass it as the X-CMC_PRO_API_KEY header — the /v1/cryptocurrency/listings/latest endpoint returns the top 100 coins ranked by market cap with a single call.

Available Data

Total cryptocurrencies
coin price in USD/EUR
market capitalization
24h price change
trading volume
circulating supply

Example Response

JSON Response
{
  "id": "bitcoin",
  "symbol": "btc",
  "current_price": 65432.1,
  "market_cap": 1280000000000,
  "price_change_24h": 1250.5,
  "price_change_percentage_24h": 1.95,
  "total_volume": 28500000000
}

Field Reference

data.<SYMBOL>.id CoinMarketCap unique numeric ID for the cryptocurrency.
data.<SYMBOL>.name Full name of the cryptocurrency (e.g., Bitcoin).
data.<SYMBOL>.quote.USD.price Current price in the requested convert currency.
data.<SYMBOL>.quote.USD.percent_change_24h Percentage price change over the last 24 hours.
data.<SYMBOL>.quote.USD.market_cap Market capitalization in USD.
status.credit_count Number of API credits consumed by this request.

Implementation Example

// Get latest cryptocurrency listings
const url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest";

const response = await fetch(url, {
  headers: {
    "X-CMC_PRO_API_KEY": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();

console.log(`Total cryptocurrencies: ${data.status.total_count}`);
data.data.slice(0, 5).forEach(coin => {
  console.log(`${coin.name} (${coin.symbol}): $${coin.quote.USD.price.toFixed(2)} | Market Cap: $${(coin.quote.USD.market_cap / 1e9).toFixed(2)}B`);
});

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

401 API Key Missing Sending the API key as a query parameter instead of a header
CoinMarketCap requires the key in the X-CMC_PRO_API_KEY HTTP header; query-param delivery is not supported.
402 Payment Required on an endpoint Endpoint requires a paid plan tier (Standard or above)
Check the endpoint plan requirement in the docs; the free Basic plan only covers a subset of endpoints.
429 Credit exhausted Monthly credit allowance consumed; each call costs 1-100 credits depending on the endpoint
Cache responses aggressively (prices valid for 60 seconds), and use /quotes/latest which costs only 1 credit per symbol.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 15/20
🔒 Security 15/15
🛠 Developer XP 12/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS UNKNOWN
Category Cryptocurrency
Difficulty Beginner
Verified: 2026-04-04

Alternatives to CoinMarketCap

Technical alternatives for different use cases.

More generous free tier with DeFi and NFT data

Better For

Free crypto data access with DeFi coverage

Trade-off

Industry recognition and CMC-specific rankings

Free crypto market data with exchange listings

Better For

Free API without rate limit restrictions

Trade-off

Historical data depth and global metrics

Social data and mining profitability alongside prices

Better For

Crypto social sentiment and mining data

Trade-off

Market cap rankings and listing coverage

Similar APIs

View All →