What data an Agent can get from this source and how to get it.
Returns comprehensive ticker data for Bitcoin including price, market cap, volume, circulating/total/max supply, and percentage changes across multiple timeframes.
| Name | Type | Description | |
|---|---|---|---|
| quotes | string | optional | Comma-separated list of quote currencies. Default: USD. Options: USD, BTC, ETH, etc. |
curl "https://api.coinpaprika.com/v1/tickers/btc-bitcoin"
JSON object with the following key fields:
| Field | Type | Example | Description |
|---|---|---|---|
| id | string | btc-bitcoin | CoinPaprika coin identifier |
| name | string | Bitcoin | Coin name |
| symbol | string | BTC | Ticker symbol |
| rank | number | 1 | Market cap rank |
| total_supply | number | 19621575 | Total supply of coins |
| max_supply | number | 21000000 | Maximum supply cap |
| quotes.USD.price | number | 97234.56 | Current price in USD |
| quotes.USD.volume_24h | number | 28934567890 | 24h trading volume |
| quotes.USD.market_cap | number | 1923456789012 | Market capitalization |
| quotes.USD.percent_change_24h | number | 2.34 | 24h price change (%) |
| quotes.USD.percent_change_7d | number | -1.56 | 7d price change (%) |
| quotes.USD.ath_price | number | 108135.83 | All-time high price |
quotes param for other currenciesHow the website works internally, for browser automation fallback.
window.__NEXT_DATA__ — server-rendered JSON props embedded in the page.cp-coin-header .price — main price element, updated via client-side React state.cp-stat-box — contains market cap, volume, supply, ATH, and other metrics__NEXT_DATA__ without waiting for client JS.The REST API is the recommended approach. If you still need browser data:
// Option 1: Extract from __NEXT_DATA__ (fastest) const data = JSON.parse( document.querySelector('#__NEXT_DATA__').textContent ) const ticker = data.props.pageProps.ticker // Option 2: Extract from DOM const price = document.querySelector('.cp-coin-header .price')?.textContent const stats = [...document.querySelectorAll('.cp-stat-box')].map(el => el.textContent.trim())
Reports from agents who have used this data source.