a skill by coinpaprika, brought here by kt
coinpaprika api
paste this link into your ai. it will know what to do.
https://innernet.live/skills/coinpaprika-apiAccess the CoinPaprika API to query cryptocurrency market data including coin prices, tickers, exchanges, historical OHLCV data, and global market statistics. Use this skill when making HTTP requests to api.coinpaprika.com or api-pro.coinpaprika.com for crypto market information.
CoinPaprika API Skill
Freshness check (run once per session, before relying on this skill): this file isversion: 1.0.0. Fetch the latest copy's header: ``bash curl -s -r 0-400 https://raw.githubusercontent.com/coinpaprika/skills/main/coinpaprika-api/SKILL.md`If the remoteversion:` differs from this file's, this copy is outdated: fetch the full remote file, follow it instead of this one, and replace your local copy with it. API surfaces change over time; a stale skill can point you at outdated endpoints or parameters.
Independent cryptocurrency data aggregator since 2018. 12,000+ cryptocurrencies, 350+ exchanges. Free tier, no API key needed to start.
- Documentation: https://docs.coinpaprika.com
- LLM-readable docs: https://docs.coinpaprika.com/llms-full.txt
- Pricing: https://coinpaprika.com/api/pricing
- GitHub: https://github.com/coinpaprika
- Support: support@coinpaprika.com
Base URLs and authentication
Free tier (no key required)
https://api.coinpaprika.com/v1/20,000 calls/month, 2,000 assets. No API key, no registration.
curl -s "https://api.coinpaprika.com/v1/tickers/btc-bitcoin" | jqPaid tiers (Starter $99/mo through Enterprise)
https://api-pro.coinpaprika.com/v1/Requires API key in the Authorization header:
curl -s "https://api-pro.coinpaprika.com/v1/tickers/btc-bitcoin" \
-H "Authorization: ${COINPAPRIKA_API_KEY}" | jqNever hardcode API keys. Store in environment variables:
export COINPAPRIKA_API_KEY="your_key_here"Plan comparison
| Plan | Price | Calls/month | Assets |
|---|---|---|---|
| Free | $0 | 20,000 | 2,000 |
| Starter | $99 | 400,000 | All |
| Pro | $199 | 1,000,000 | All |
| Business | $799 | 5,000,000 | All |
| Ultimate | $1,499 | 10,000,000 | All |
| Enterprise | Custom | No limits | All |
Rate limit: 10 requests/second per IP across all plans.
Integration options
Option 1: REST API (primary)
All endpoints below. Use the appropriate base URL for the tier.
Option 2: CLI
https://github.com/coinpaprika/coinpaprika-cliCrypto market data from the terminal. 12,000+ cryptocurrencies, real-time prices, OHLCV, exchanges. Free tier included.
For CLI command reference, read references/cli-reference.md.
Option 3: MCP Server (for AI IDEs)
Hosted MCP server for Claude Desktop, Cursor, Windsurf, and any MCP client.
Add to claude_desktop_config.json or equivalent:
{
"mcpServers": {
"coinpaprika": {
"url": "https://mcp.coinpaprika.com/sse"
}
}
}The hosted server needs no API key to start. It exposes 31 tools for querying coins, tickers, exchanges, OHLCV, contracts, tags, and search. Verify the count with a live tools/list.
Option 4: SDKs
| Language | Repository |
|---|---|
| Go | https://github.com/coinpaprika/coinpaprika-api-go-client |
| Python | https://github.com/coinpaprika/coinpaprika-api-python-client |
| Node.js | https://github.com/coinpaprika/coinpaprika-api-nodejs-client |
| PHP | https://github.com/coinpaprika/coinpaprika-api-php-client |
| Swift | https://github.com/coinpaprika/coinpaprika-api-swift-client |
| Kotlin | https://github.com/coinpaprika/coinpaprika-api-kotlin-client |
LLM-readable documentation
Full API spec in Markdown for direct LLM consumption:
- Index: https://docs.coinpaprika.com/llms.txt
- Full docs: https://docs.coinpaprika.com/llms-full.txt
All endpoints
Global
GET /global # Market overview dataCoins
GET /coins # List all coins
GET /coins/{coin_id} # Coin details (e.g., btc-bitcoin)
GET /coins/{coin_id}/events # Coin events
GET /coins/{coin_id}/exchanges # Exchanges listing a coin
GET /coins/{coin_id}/markets # Trading pairs for a coin
GET /coins/{coin_id}/ohlcv/historical # Historical OHLCV (?start, ?end, ?interval, ?limit, ?quote)
GET /coins/{coin_id}/ohlcv/latest # Last full day OHLCV
GET /coins/{coin_id}/ohlcv/today # Today's OHLCV (partial)
GET /coins/{coin_id}/twitter # DEPRECATEDTickers (price data)
GET /tickers # All tickers (?quotes=USD,BTC)
GET /tickers/{coin_id} # Specific coin ticker
GET /tickers/{coin_id}/historical # Historical ticks (?start, ?end, ?interval, ?limit, ?quote)Exchanges
GET /exchanges # List all exchanges
GET /exchanges/{exchange_id} # Exchange details
GET /exchanges/{exchange_id}/markets # Exchange marketsContracts
GET /contracts # List contract platforms
GET /contracts/{platform_id} # Contracts on a platform
GET /contracts/{platform_id}/{contract_address} # Ticker by contract (301 redirect)
GET /contracts/{platform_id}/{contract_address}/historical # Historical by contract (301 redirect)Note on contract ticker/historical: These return 301 redirects to /tickers/{coin_id}. The Location header may use http:// instead of https://. Handle the redirect manually by reading the Location header, fixing the scheme to https://, and making a second request with the Authorization header.
Verified response shapes:
GET /contractsreturns a flat string array:["btc-bitcoin", "eos-eos", "eth-ethereum", ...]GET /contracts/{platform_id}returns:[{"address": "0xa974...", "type": "ERC20", "id": "xin-mixin", "active": true}]
Tags
GET /tags # List all tags
GET /tags/{tag_id} # Tag details
GET /tags/{tag_id}?additional_fields=coins # Tag with coin IDs
GET /tags/{tag_id}?additional_fields=coins,icos # Tag with coins and ICOsPeople
GET /people/{person_id} # Person details (e.g., vitalik-buterin)Search and tools
GET /search?q={query}&c={categories}&limit={n} # Search (categories: currencies,exchanges,icos,people,tags)
GET /price-converter?base_currency_id={from}"e_currency_id={to}&amount={n}Key info (paid tiers only)
GET /key/info # API key details and usageResponse: {"plan", "plan_started_at", "plan_status", "portal_url", "usage": {"message", "current_month": {"requests_made", "requests_left"}}}
Mappings (Business+ only)
GET /coins/mappings?coinpaprika={id} # ID mappings across providersQuery params (pass one): coinpaprika, coinmarketcap, coingecko, cryptocompare, isin, dti
Response: {"coinpaprika", "coinmarketcap", "coingecko", "cryptocompare", "isin", "dti", "updated_at"}
Changelog (Starter+ only)
GET /changelog/ids # Coin ID changes (?page, ?limit)Response: [{"currency_id", "old_id", "new_id", "changed_at"}]
For the full OpenAPI 3.1 specification with all schemas, parameters, and response types, read references/openapi.yml. For CLI commands, read references/cli-reference.md. For the latest docs online: https://docs.coinpaprika.com/llms-full.txt
Common workflows
Get Bitcoin price (free tier, no key)
curl -s "https://api.coinpaprika.com/v1/tickers/btc-bitcoin?quotes=USD" | jq '.quotes.USD.price'Get top 10 coins by market cap
curl -s "https://api.coinpaprika.com/v1/tickers" | jq 'sort_by(-.quotes.USD.market_cap) | .[0:10] | .[] | {name, symbol, price: .quotes.USD.price, market_cap: .quotes.USD.market_cap}'Historical OHLCV for ETH (30 days)
curl -s "https://api.coinpaprika.com/v1/coins/eth-ethereum/ohlcv/historical?start=2025-01-01&end=2025-01-31" | jqSearch for a token
curl -s "https://api.coinpaprika.com/v1/search?q=pepe&c=currencies&limit=5" | jq '.currencies'Look up token by contract address
curl -s "https://api.coinpaprika.com/v1/contracts/eth-ethereum/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" -L | jqNote: This follows the 301 redirect automatically with -L. May need manual handling if Authorization header is required.
Get all stablecoins via tags
curl -s "https://api.coinpaprika.com/v1/tags/stablecoin?additional_fields=coins" | jq '.coins'Returns array of coin IDs: ["usdt-tether", "usdc-usdc", "dai-dai", ...]
Convert price between currencies
curl -s "https://api.coinpaprika.com/v1/price-converter?base_currency_id=btc-bitcoin"e_currency_id=usd-us-dollars&amount=1" | jqCommon IDs
Coin IDs
Pattern: {symbol}-{name} (lowercase, hyphens for spaces)
btc-bitcoin, eth-ethereum, usdt-tether, usdc-usd-coin, bnb-binance-coin, sol-solana, xrp-xrp, ada-cardano, doge-dogecoin, dot-polkadot, avax-avalanche, matic-polygon
Platform IDs (for /contracts)
eth-ethereum, bnb-binance-coin, matic-polygon, sol-solana, arb-arbitrum, avax-avalanche, op-optimism, base-base
Exchange IDs
binance, coinbase-exchange, kraken, bybit, okx, bitfinex, kucoin
Common parameters
| Parameter | Description | Example |
|---|---|---|
quotes | Quote currencies (comma-separated) | USD,BTC,ETH |
start | Start date (RFC3339 or yyyy-mm-dd) | 2025-01-01 |
end | End date | 2025-12-31 |
interval | OHLCV: 5m, 15m, 30m, 1h, 6h, 12h, 24h. Historical tickers: 5m, 10m, 15m, 30m, 45m, 1h, 2h, 3h, 6h, 12h, 24h, 1d, 7d, 14d, 30d, 90d, 365d | 24h |
limit | Results limit | 100 |
Key response fields
Ticker
id,name,symbol,rankcirculating_supply,total_supply,max_supplyquotes.USD.price,quotes.USD.volume_24h,quotes.USD.market_capquotes.USD.percent_change_1h,percent_change_24h,percent_change_7d,percent_change_30dquotes.USD.ath_price,quotes.USD.ath_date
OHLCV
time_open,time_closeopen,high,low,closevolume,market_cap
Notes
- All timestamps are UTC. Use RFC3339 format (
2025-01-01T00:00:00Z) oryyyy-mm-dd - Coin IDs follow pattern:
{symbol}-{name}(lowercase, hyphens for spaces) - The
/tickersendpoint does NOT include tags. Use/tags/{id}?additional_fields=coinsto get coin IDs by tag. - The
/coins/{id}/twitterendpoint is deprecated and may return errors. - Global rate limit: 10 requests/second per IP.
- On 429 rate limit: Wait a few seconds/minutes, then retry. Blocks are temporary. If persistent, contact support@coinpaprika.com.
Related: DexPaprika
For DEX/on-chain data (pools, swaps, token prices by contract), use DexPaprika instead:
- API: https://api.dexpaprika.com (free tier, no key needed to start)
- Docs: https://docs.dexpaprika.com
- Agents: https://agents.dexpaprika.com
keep it where your ai can reach it.
innernet is memory your ai tools read live — every skill, every project, every decision, in one place, connected once. save this skill to yours, or publish one of your own as a link like this.