Skip to main content
skill CX Codex

coinpaprika-api — Claude Code skill: what it does, how to install

Enables AI agents to fetch crypto token prices, exchange stats, historical OHLCV data, and market metrics via the CoinPaprika API without requiring an API key.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add coinpaprika/skills --skill coinpaprika-api -a claude-code
Open on GitHub

What coinpaprika-api does

This skill equips coding agents with direct knowledge of the CoinPaprika REST API endpoints. You can start with the free tier without an account or token, which permits 20,000 monthly requests across 2,000 coins at https://api.coinpaprika.com/v1/. For larger catalogs and higher volume, paid plans switch to https://api-pro.coinpaprika.com/v1/ using the COINPAPRIKA_API_KEY environment variable in the Authorization header.

The guide details routes for tickers, global market overview, tags, exchange listings, and contract searches. When querying contract endpoints, the API sends a 301 redirect that might carry an insecure http:// address in the Location header. Agents must rewrite that URL to https:// before sending the second request, or the redirected call fails. Across all plans, the platform enforces a rate limit of 10 requests per second per IP.

What it helps with

  • fetch real-time token tickers and market quotes
  • retrieve historical OHLCV candle data for charts
  • resolve token metadata from smart contract addresses
  • calculate conversions between base and quote coins

Example prompts for the agent

  • Check the current ticker data for btc-bitcoin using CoinPaprika
  • Fetch daily OHLCV values for eth-ethereum over the past month
  • Search for token contracts deployed on eth-ethereum

How to install coinpaprika-api

1Skills CLI (Vercel)

npx skills add coinpaprika/skills --skill coinpaprika-api -a claude-code

2Manually: put the files in place

~/.claude/skills/coinpaprika-api/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/coinpaprika-api/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about coinpaprika-api

How to install coinpaprika-api in Claude Code?

Run npx skills add coinpaprika/skills --skill coinpaprika-api -a claude-code in your terminal. The file is saved directly into ~/.claude/skills/coinpaprika-api/SKILL.md.

What does coinpaprika-api do?

It instructs coding assistants how to query crypto market statistics, price feeds, exchanges, and coin contracts from CoinPaprika.

Do I need an API key to run coinpaprika-api?

No API key is required on the free tier, which allows 20,000 calls per month. An API key is only needed if you query the paid api-pro.coinpaprika.com base URL.

Source text

SKILL.md · MIT
---
name: coinpaprika-api
description: 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.
version: 1.0.1
---

# CoinPaprika API Skill

> **Freshness check (run once per session, before relying on this skill):** this file is `version: 1.0.1`. 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 remote `version:` 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: [email protected]

---

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

```bash
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:

```bash
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:
```bash
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-cli
```

Crypto 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:

```json
{
  "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 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)

```bash
curl -s "https://api.coinpaprika.com/v1/tickers/btc-bitcoin?quotes=USD" | jq '.quotes.USD.price'
```

### Get top 10 coins by market cap

```bash
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)

```bash
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

```bash
curl -s "https://api.coinpaprika.com/v1/search?q=pepe&c=currencies&limit=5" | jq '.currencies'
```

### Look up token by contract address

```bash
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

```bash
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

```bash
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

| 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`, `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 [email protected].

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

© coinpaprika · MIT · coinpaprika/skills

Similar skills

All skills for Finance and business →

From the same set2

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor