API reference
public · read-only · no key requiredBTCscope is a client of public, documented Bitcoin APIs — there is no proprietary index behind it and no vendor lock-in. Everything you see on this site you can fetch yourself with the endpoints below. We publish this so any figure on BTCscope can be independently reproduced.
chain base url
markets base url
| method | path | returns | used by |
|---|---|---|---|
| GET | /blocks/tip/height | Current chain tip height | Dashboard, header |
| GET | /blocks/{startHeight} | Page of 10 blocks from a height | Blocks |
| GET | /block/{hash} | Block header, size, weight, tx count, pool | Block detail |
| GET | /block/{hash}/txids | All txids in a block | Block detail |
| GET | /tx/{txid} | Transaction inputs, outputs, fee, status | Transaction |
| GET | /tx/{txid}/outspends | Whether each output has been spent | Transaction |
| GET | /address/{address} | Funded/spent totals and tx counts | Address |
| GET | /address/{address}/txs | Address transaction history | Address |
| GET | /mempool | Mempool size, vsize, total fees | Mempool |
| GET | /v1/fees/recommended | Fee estimates by target | Mempool, alerts |
| GET | /v1/fees/mempool-blocks | Projected next blocks & fee bands | Mempool |
| GET | /v1/mining/pools/1w | Pool share of blocks mined | Mining |
| GET | /v1/mining/hashrate/3m | Network hashrate & difficulty series | Mining, Charts |
| GET | /v1/difficulty-adjustment | Retarget progress and estimate | Mining |
curl -s "https://mempool.space/api/tx/<txid>" | jq '{
txid, fee, size, weight,
confirmed: .status.confirmed,
height: .status.block_height
}'const res = await fetch(`https://mempool.space/api/tx/${txid}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const tx = await res.json();curl -s "https://mempool.space/api/address/<address>/txs" | jq 'length'curl -s "https://mempool.space/api/v1/fees/recommended"
# { fastestFee, halfHourFee, hourFee, economyFee, minimumFee }200
Success — JSON body
400
Malformed hash, txid or address
404
Unknown block, transaction or address
429
Rate limited — back off and retry
5xx
Upstream incident — retried, then surfaced on the status page
retries
Up to 3 attempts with backoff before an error is shown
cache
Short per-dataset TTLs; every dataset's age is published publicly
rate limits
Upstream providers rate limit by IP — cache aggressively and avoid tight polling loops
transparency
Live latency, retry counts and outage windows on the status page
attribution
If you build on these APIs, credit the upstream providers as we do
