BYTETOOLS

CoinLore API

Free cryptocurrency API with no key and no registration: prices, market cap, volume and supply for 10,000+ coins with generous limits. Tested curl example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-19

What is the CoinLore API?

CoinLore is a free cryptocurrency market data API requiring no API key or registration, providing prices, market capitalisation, trading volume, supply figures and percentage changes for more than 10,000 coins.

CoinLore is the most permissive free crypto API still operating — no key, no signup, and limits generous enough for real use. That matters because most competitors have progressively tightened their free tiers.

One thing to watch: numeric values are returned as strings, including prices and percentage changes. Parse them explicitly, and use decimal arithmetic rather than binary floats for anything involving money.

Quick facts

Base URL
https://api.coinlore.net/api
Authentication
No API key or registration required.
Rate limit
Roughly 1 request per second; generous compared with most free crypto APIs.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the CoinLore API

Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.

1. Fetch a cryptocurrency ticker

GET https://api.coinlore.net/api/ticker/?id=90

curl
curl 'https://api.coinlore.net/api/ticker/?id=90'
JavaScript (fetch)
const res = await fetch("https://api.coinlore.net/api/ticker/?id=90");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.coinlore.net/api/ticker/?id=90", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
[
  {
    "id": "90",
    "symbol": "BTC",
    "name": "Bitcoin",
    "nameid": "bitcoin",
    "rank": 1,
    "price_usd": "68637.46",
    "percent_change_24h": "6.20",
    "percent_change_1h": "0.46",
    "percent_change_7d": "7.56",
    "price_btc": "1.00",
    "market_cap_usd": "1370748565826.90",
    "volume24": 32291983580.219913,
    "volume24a": 17735099776.31717,
    "csupply": "19970852.00",
    "tsupply": "19970852",
    "msupply": "21000000"
  }
]

Parameters

ParameterTypeRequiredDescription
ticker/?id=integerOptionalCoinLore coin id — 90 is Bitcoin. 90
tickers/?start=&limit=integerOptionalPaginated list of all coins. 0
global/pathOptionalGlobal market statistics. global/
coin/markets/?id=integerOptionalExchanges trading a given coin. 90

Response fields

idstring
CoinLore coin identifier.
symbol / namestring
Ticker symbol and full name.
rankinteger
Market cap rank.
price_usdstring
Current USD price — a string, parse before use.
percent_change_24h / _7dstring
Percentage change over those windows.
market_cap_usd / volume24string
Market capitalisation and 24-hour volume.
csupply / tsupply / msupplystring
Circulating, total and maximum supply.

What you can build with the CoinLore API

  • Display crypto prices without registering for an API key
  • Build a market cap leaderboard or portfolio tracker
  • Compare supply metrics across coins
  • Provide a fallback when CoinGecko rate limits are hit

Common errors and how to fix them

Numbers arrive as strings

All numeric fields are JSON strings.

Fix: Parse explicitly, and use a decimal type for monetary values rather than a binary float.

Empty array for an unknown id

Coin ids are CoinLore-specific integers, not ticker symbols.

Fix: Fetch /tickers/ once to map symbols to ids and cache it.

429

Requesting faster than about one per second.

Fix: Throttle and cache; prices rarely need sub-second freshness.

CoinLore API — frequently asked questions

Does CoinLore need an API key?

No — no key, no registration and no signup, which makes it the most permissive free crypto API currently available.

Why are prices returned as strings?

To preserve decimal precision. Parse them explicitly and use decimal arithmetic for money; converting to a binary float can introduce rounding errors.

How do I find a coin's id?

Ids are CoinLore-specific integers, not ticker symbols. Fetch /tickers/ once to build a symbol-to-id map and cache it — Bitcoin is id 90.

How does it compare with CoinGecko?

CoinGecko has richer data and better documentation but a tighter unauthenticated rate limit. CoinLore is simpler and more permissive, which makes it a good fallback.

Tools that pair with this API

CoinLore is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.