Skills coinpaprika-api

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

install
source · Clone the upstream repo
git clone https://github.com/coinpaprika/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/coinpaprika/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/coinpaprika-api" ~/.claude/skills/coinpaprika-skills-coinpaprika-api && rm -rf "$T"
manifest: coinpaprika-api/SKILL.md
source content

CoinPaprika API Skill

Independent cryptocurrency data aggregator since 2018. 12,000+ cryptocurrencies, 350+ exchanges, $2.4T+ market cap coverage. Free tier available with no API key required.


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" | jq

Paid 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}" | jq

Never hardcode API keys. Store in environment variables:

export COINPAPRIKA_API_KEY="your_key_here"

Plan comparison

PlanPriceCalls/monthAssets
Free$020,0002,000
Starter$99400,000All
Pro$1991,000,000All
Business$7995,000,000All
EnterpriseCustomUnlimitedAll

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-cli

Crypto market data from the terminal. 8,000+ coins, 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"
    }
  }
}

No API key needed for the hosted version. Provides 30+ tools for querying coins, tickers, exchanges, OHLCV, contracts, tags, and search.

Option 4: SDKs

LanguageRepository
Gohttps://github.com/coinpaprika/coinpaprika-api-go-client
Pythonhttps://github.com/coinpaprika/coinpaprika-api-python-client
Node.jshttps://github.com/coinpaprika/coinpaprika-api-nodejs-client
PHPhttps://github.com/coinpaprika/coinpaprika-api-php-client
Swifthttps://github.com/coinpaprika/coinpaprika-api-swift-client
Kotlinhttps://github.com/coinpaprika/coinpaprika-api-kotlin-client

LLM-readable documentation

Full API spec in Markdown for direct LLM consumption:


All endpoints

Global

GET /global                                    # Market overview data

Coins

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                   # DEPRECATED

Tickers (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 markets

Contracts

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 /contracts
    returns 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 ICOs

People

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}&quote_currency_id={to}&amount={n}

Key info (paid tiers only)

GET /key/info                                  # API key details and usage

Response:

{"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 providers

Query 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" | jq

Search 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 | jq

Note: 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&quote_currency_id=usd-us-dollars&amount=1" | jq

Common 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

ParameterDescriptionExample
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
    ,
    rank
  • circulating_supply
    ,
    total_supply
    ,
    max_supply
  • quotes.USD.price
    ,
    quotes.USD.volume_24h
    ,
    quotes.USD.market_cap
  • quotes.USD.percent_change_1h
    ,
    percent_change_24h
    ,
    percent_change_7d
    ,
    percent_change_30d
  • quotes.USD.ath_price
    ,
    quotes.USD.ath_date

OHLCV

  • time_open
    ,
    time_close
  • open
    ,
    high
    ,
    low
    ,
    close
  • volume
    ,
    market_cap

Notes

  • All timestamps are UTC. Use RFC3339 format (
    2025-01-01T00:00:00Z
    ) or
    yyyy-mm-dd
  • Coin IDs follow pattern:
    {symbol}-{name}
    (lowercase, hyphens for spaces)
  • The
    /tickers
    endpoint does NOT include tags. Use
    /tags/{id}?additional_fields=coins
    to get coin IDs by tag.
  • The
    /coins/{id}/twitter
    endpoint 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: