Blockstream Esplora API
Free Blockstream Esplora API with no key: Bitcoin blocks, transactions, addresses, UTXOs and mempool data. Open source and self-hostable. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the Blockstream Esplora API?
Blockstream's Esplora API is a free, key-free Bitcoin blockchain explorer API providing blocks, transactions, address balances, UTXO sets and mempool state, with the entire stack open source and self-hostable.
Esplora is the API behind Blockstream's block explorer, and it is fully open source — which matters for Bitcoin applications where trusting a third party for chain data is a real consideration. You can run your own instance against your own node.
The endpoints are refreshingly direct: some return a bare number as plain text rather than a JSON object. `/blocks/tip/height` returns just the integer, which is efficient but will break a client that assumes every response is JSON.
Quick facts
- Base URL
https://blockstream.info/api- Authentication
- No API key required on the public instance.
- Rate limit
- No published hard limit; heavy users should self-host.
- Pricing
- Free and open source.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Blockstream Esplora API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. Get the current Bitcoin block height
GET https://blockstream.info/api/blocks/tip/height
curl 'https://blockstream.info/api/blocks/tip/height'const res = await fetch("https://blockstream.info/api/blocks/tip/height");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://blockstream.info/api/blocks/tip/height", timeout=20)
res.raise_for_status()
print(res.json())963222Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
blocks/tip/height | path | Optional | Current chain tip height — returns a bare number. blocks/tip/height |
block/<hash> | path | Optional | Block details by hash. block/000000... |
address/<addr> | path | Optional | Address balance and transaction stats. address/bc1q... |
address/<addr>/utxo | path | Optional | Unspent outputs for an address. utxo |
tx/<txid> | path | Optional | Transaction details. tx/abc123 |
Response fields
(tip/height)integer- A bare integer, not JSON — the current block height.
(address) chain_statsobject- Confirmed funded and spent totals for the address.
(address) mempool_statsobject- Unconfirmed activity for the address.
(tx) status.confirmedboolean- Whether the transaction is confirmed.
(tx) vin / voutarray- Transaction inputs and outputs with values in satoshis.
(block) height / timestamp / tx_countinteger- Block metadata.
What you can build with the Blockstream Esplora API
- Build a Bitcoin block explorer or wallet backend
- Monitor an address for incoming payments
- Verify transaction confirmations
- Track chain tip height for sync status
Common errors and how to fix them
JSON parse error on tip/height
That endpoint returns a bare number as plain text.
Fix: Not every Esplora endpoint returns JSON — read the response as text for scalar endpoints.
Values seem enormous
Amounts are in satoshis.
Fix: Divide by 100,000,000 to get BTC.
Rate limiting on the public instance
Shared infrastructure.
Fix: Self-host Esplora against your own Bitcoin node for production use.
Blockstream Esplora API — frequently asked questions
Is the Blockstream API free?
Yes, the public instance is free with no API key, and the whole Esplora stack is open source and self-hostable.
Why does the block height endpoint fail to parse as JSON?
It returns a bare integer as plain text. Several Esplora endpoints return scalars rather than JSON objects — read them as text.
Should I use the public instance in production?
For a real Bitcoin application, self-host Esplora against your own node. That removes both the rate limit and the trust dependency on a third party for chain data.
What units are amounts in?
Satoshis — the smallest Bitcoin unit. Divide by 100,000,000 to get BTC.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Unit Converter
Convert between units of length, weight, temperature, area, volume, speed, time and data storage instantly, with a swap button and common conversion tables.
Blockstream Esplora is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.