PublicDrop Crypto API
Docs
The world's fastest & easiest free live cryptocurrency API. Real-time crypto prices, full coin details, market dominance, and more for 14,300+ coins — zero signup, no API key, no credit card, ever. Super smooth to integrate. Built for price trackers, crypto dashboards, trading bots, portfolio apps, and AI agents.
Get live crypto data in seconds — super fast, incredibly smooth. No signup, no API key, no configuration. Just fire a GET request to any endpoint and get clean JSON instantly. The easiest crypto API setup you've ever done.
# Get live prices for top 100 ranked coins — no API key! curl https://publicdrop.in/APIv3/coins?page=1 # Get full details + live price for Bitcoin curl https://publicdrop.in/APIv3/details?sym=BTC # Search any coin by name or symbol curl https://publicdrop.in/APIv3/search?q=ethereum # Get market status & dominance data curl https://publicdrop.in/APIv3/status # Get DeFi category coins curl https://publicdrop.in/APIv3/categories?cat=defi
// Get live crypto prices — no API key, no headers needed const response = await fetch('https://publicdrop.in/APIv3/coins?page=1'); const data = await response.json(); data.coins.forEach(coin => { console.log(`#${coin.rank} ${coin.name} — Price: $${coin.price_usd} | ATH: $${coin.ath_usd}`); }); // Output: #1 Bitcoin — Price: $96,420 | ATH: $109,114
import requests # PublicDrop APIv3 — free, no auth, real-time prices BASE = "https://publicdrop.in/APIv3" # Get live prices for top 100 coins r = requests.get(f"{BASE}/coins?page=1") coins = r.json()["coins"] for c in coins[:5]: print(f"#{c['rank']} {c['name']} ({c['symbol']}) — ${c.get('price_usd', 'N/A')}") # Get market status + dominance status = requests.get(f"{BASE}/status").json() print(status) # {"total_coins": 14300, "status": "running", ...} # Get full details for Bitcoin btc = requests.get(f"{BASE}/details?sym=BTC").json() print(btc["name"], btc["ath_usd"]) # Bitcoin 109114.88
PublicDrop is free and public. Our generous rate limit lets you build real applications without worrying about hitting walls or unexpected bills.
1 request/page. Paginate through /coins to stream live prices for all 14,300+ coins efficiently — or use /categories to fetch targeted lists like DeFi or Layer-1.
| Tier | Rate Limit | API Key | Cost | Use Case |
|---|---|---|---|---|
| Public | 120 req/min | ✓ None needed | $0 | Apps, dashboards, research |
/details endpoint works perfectly when called from a server-side environment (Node.js, Python, PHP, etc.) or when your site is hosted on a domain. If you open an HTML file directly from your computer (file://), browsers block cross-origin requests. Host your page on any server — even python -m http.server 8080 — to enable full browser access.
PublicDrop v3 is a fully public API. There is no authentication layer — no API key, no Bearer token, no OAuth. Just call the endpoints directly.
https://publicdrop.in/APIv3 is publicly accessible. This is by design — we believe crypto market data should be freely accessible to all developers, researchers, and AI systems without barriers.
❌ CoinGecko (needs key in header) curl -H "x-cg-demo-api-key: YOUR_KEY" https://api.coingecko.com/api/v3/... ❌ CoinMarketCap (needs key in header) curl -H "X-CMC_PRO_API_KEY: YOUR_KEY" https://pro-api.coinmarketcap.com/v1/... ✅ PublicDrop (no key, no header, just call it) curl https://publicdrop.in/APIv3/coins?page=1
PublicDrop APIv3 exposes 6 clean REST endpoints returning JSON. All are GET requests, no authentication required. Endpoints cover live prices, full coin metadata, search, categories, logos, and market status with dominance.
https://publicdrop.in/APIv3/status{
"total_coins": 14300,
"logos_downloaded": 4476,
"permanent_details_fetched": 4492,
"permanent_pending": 9808,
"fetch_progress_percent": 31.4,
"status": "running",
"dominance": {
"btc": 62.4,
"eth": 8.1,
"others": 29.5
}
}https://publicdrop.in/APIv3/coins?page=1| Name | Type | Status | Description |
|---|---|---|---|
| page | integer | Required | Page number (1, 2, 3…). Each page returns ~100 coins in rank order. |
{
"coins": [
{
"id": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC",
"rank": 1,
"price_usd": 96420.5,
"ath_usd": 109114.88,
"logo_url": "https://coin-images.coingecko.com/coins/images/1/large/bitcoin.png",
"website": "http://www.bitcoin.org",
"categories": "[\"Layer 1 (L1)\", \"Bitcoin Ecosystem\", \"Proof of Work (PoW)\"]",
"fetched_permanent": 1
},
// ... up to ~100 coins per page
]
}https://publicdrop.in/APIv3/details?sym=BTC or https://publicdrop.in/APIv3/details?sym=bitcoin| Name | Type | Status | Description |
|---|---|---|---|
| sym | string | Required | Coin symbol (BTC, ETH, SOL…) or coin ID (bitcoin, ethereum, solana…). Case-insensitive. |
{
"id": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC",
"rank": 1,
"ath_usd": 126080.0,
"ath_date": "2025-10-06T18:57:42.558Z",
"atl_usd": 67.81,
"atl_date": "2013-07-06T00:00:00.000Z",
"max_supply": 21000000.0,
"total_supply": 20023521.0,
"genesis_date": "2009-01-03",
"hashing_algorithm": "SHA-256",
"description": "Bitcoin is the world's first decentralized cryptocurrency...",
"categories": ["Layer 1 (L1)", "Bitcoin Ecosystem", "Proof of Work (PoW)"],
"website": "http://www.bitcoin.org",
"whitepaper": "https://bitcoin.org/bitcoin.pdf",
"github": "https://github.com/bitcoin/bitcoin",
"twitter": "bitcoin",
"reddit": "https://www.reddit.com/r/Bitcoin/",
"block_explorers": ["https://mempool.space/", "https://btc.com/"],
"logo_url": "https://coin-images.coingecko.com/coins/images/1/large/bitcoin.png",
"fetched_at": "2026-05-03T08:10:28.017806"
}https://publicdrop.in/APIv3/search?q=bitcoin| Name | Type | Status | Description |
|---|---|---|---|
| q | string | Required | Search query — coin name or symbol. Min 2 characters. e.g. "btc", "sol", "pepe", "layer" |
{
"results": [
{
"id": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC",
"rank": 1,
"price_usd": 78719,
"change_24h": 0.38,
"high_24h": 79005,
"low_24h": 78095,
"price_updated_at": "2026-05-03T15:14:06Z",
"logo_url": "https://..."
}
// ...more matches
]
}/coins endpoint. Categories unlock access to hundreds of coins in each sector — DeFi, Layer 1, Meme, AI, NFT, Gaming, and more.https://publicdrop.in/APIv3/categories?cat=defi| Name | Type | Status | Description |
|---|---|---|---|
| cat | string | Required | Category slug. See full list below. e.g. defi, layer-1, meme, ai, nft, gaming, stablecoins |
<img> src attribute to display coin logos without any additional processing. High-resolution PNG images served from a fast CDN.https://publicdrop.in/APIv3/logo?sym=BTC| Name | Type | Status | Description |
|---|---|---|---|
| sym | string | Required | Coin symbol (BTC, ETH, SOL…) |
<!-- Use directly as img src --> <img src="https://publicdrop.in/APIv3/logo?sym=BTC" alt="Bitcoin" width="32"> <img src="https://publicdrop.in/APIv3/logo?sym=ETH" alt="Ethereum" width="32"> <!-- Or use logo_url from /coins or /details response --> <img src="${coin.logo_url}" alt="${coin.name}">
Use these slugs with the /categories?cat= endpoint to filter coins by sector. Categories unlock coins beyond the top 200 paginated list.
defilayer-1layer-2memeainftgamingstablecoinsexchangerwadepinprivacyPublicDrop uses standard HTTP status codes. All errors return JSON with a descriptive message.
| HTTP Code | Meaning | Common Cause |
|---|---|---|
| 200 | ✅ Success | Request completed successfully |
| 400 | Bad Request | Missing required parameter (e.g. no sym or page) |
| 404 | Not Found | Coin symbol/ID not found in database |
| 429 | Rate Limited | Exceeded 120 requests/minute |
| 500 | Server Error | Internal error — check /status |
async function getCoin(symbol) { try { const res = await fetch(`https://publicdrop.in/APIv3/details?sym=${symbol}`); if (res.status === 429) throw new Error('Rate limit reached. Slow down requests.'); if (res.status === 404) throw new Error(`Coin "${symbol}" not found`); if (!res.ok) throw new Error(`HTTP ${res.status}`); return await res.json(); } catch (err) { console.error('PublicDrop API error:', err.message); return null; } }
Real-world integration patterns for the most common use cases.
import { useState, useEffect } from 'react'; export default function CoinList() { const [coins, setCoins] = useState([]); useEffect(() => { fetch('https://publicdrop.in/APIv3/coins?page=1') .then(r => r.json()) .then(d => setCoins(d.coins)); }, []); return ( <ul> {coins.map(coin => ( <li key={coin.id}> <img src={coin.logo_url} width="24"/> #{coin.rank} {coin.name} ({coin.symbol}) </li> ))} </ul> ); }
import requests, csv BASE = "https://publicdrop.in/APIv3" coins = [] for page in range(1, 3): # pages 1 & 2 r = requests.get(f"{BASE}/coins?page={page}").json() coins.extend(r["coins"]) with open('crypto_data.csv', 'w') as f: w = csv.DictWriter(f, fieldnames=['rank','name','symbol','ath_usd']) w.writeheader() for c in coins: w.writerow({'rank':c['rank'],'name':c['name'],'symbol':c['symbol'],'ath_usd':c['ath_usd']}) print(f"Exported {len(coins)} coins") # Exported 200 coins
See how PublicDrop compares to the industry's leading crypto data providers.
| Feature | PublicDrop ✨ | CoinGecko | CoinMarketCap |
|---|---|---|---|
| API Key Required | ✓ None | ✗ Required | ✗ Required |
| Free Rate Limit | ✓ 120 req/min | 30 req/min | 30 req/min |
| Signup Required | ✓ No | ✗ Yes | ✗ Yes |
| Total Coins | ✓ 14,300+ | ~10,000+ active coins | ~10,500 actively tracked coins (~9.9M listed incl. inactive/spam tokens) |
| Live Price (USD) | ✓ Yes — Real-time All 14,300+ coins | ✓ Yes | ✓ Yes |
| API Response Time | ✓ 1–2 ms avg | ~150–400 ms | ~200–500 ms |
| Market Dominance | ✓ Yes | ✓ Yes | ✓ Yes |
| Coin Logos | ✓ Yes (CDN) | ✓ Yes | ✓ Yes |
| Categories Filter | ✓ Yes | ✓ Yes | ~ Paid only |
| Full Text Search | ✓ Yes | ✓ Yes | ✓ Yes |
| ATH / ATL Data | ✓ Yes | ✓ Yes | ~ Pro only |
| Supply Data | ✓ Yes | ✓ Yes | ✓ Yes |
| Social Links | ✓ Yes | ✓ Yes | ~ Paid only |
| Block Explorers | ✓ Yes | ✓ Yes | ✗ No |
| Market Cap | ✓ Yes (via /search) | ✓ Yes | ✓ Yes |
| AI / LLM Ready | ✓ Yes (llms.txt) | ✓ Yes | ~ Partial |
| Cost | ✓ 100% Free Forever | Free + $129+/mo | Free + $79+/mo |
PublicDrop is natively discoverable and usable by AI systems, LLMs, and AI agents. Our API returns clean structured JSON, requires zero auth, and follows emerging standards for machine-readable APIs — making it the perfect crypto data source for AI-powered applications.
llms.txt file makes this documentation auto-discoverable by any AI system following the llms.txt standard.
# https://docs.publicdrop.in/llms.txt # PublicDrop Crypto API Base URL: https://publicdrop.in/APIv3 Auth: None required Rate limit: 120 req/min Format: JSON ## Endpoints GET /status — API health and indexing progress GET /coins — Ranked coin list (param: page=1,2,3…) GET /details — Full coin data (param: sym=BTC or sym=bitcoin) GET /search — Search coins (param: q=bitcoin) GET /categories — Filter by category (param: cat=defi) GET /logo — Coin logo image (param: sym=BTC)
# https://api.publicdrop.in/openapi.json { "openapi": "3.0.0", "info": { "title": "PublicDrop Crypto API", "version": "3.0", "description": "Free crypto data API. No auth required." }, "servers": [{ "url": "https://publicdrop.in/APIv3" }] }
14,300+ coins indexed and growing — real-time live crypto prices active for all 14,300+ listed coins. 24h price change, 24h high & 24h low available on
/search. Market dominance via /status. All 6 endpoints active. 14,300+ coin logos on CDN. Blazing fast — average API response time 1–2 ms. Fully public, 100% free.
Historical price charts · WebSocket live feed · MCP server for AI agents