Bitcoin API
The Crypto APIs Bitcoin API, part of the Blockchain API, lets you read balances, transactions, blocks and unspent outputs and send BTC without running a node. One API key covers mainnet and testnet. Webhooks tell your server when a payment confirms, and we never hold your private keys.
What can you do with the Bitcoin API?
Read balances and history
Confirmed balance, transactions and unspent outputs (UTXOs) for any Bitcoin address.
Work with xPubs
Derive addresses and sync balances from an extended public key (xPub).
Estimate fees
Fee recommendations for slow, standard and fast confirmation on Bitcoin.
Prepare and broadcast
We build the unsigned transaction. You sign it, and we send it to the network.
Get webhooks
We call your URL when coins arrive at an address and when the transaction confirms.
Same shape on 35+ networks
Swap bitcoin for another chain in the path, such as Litecoin or Bitcoin Cash.
How do I get the latest Bitcoin block?
Send one GET request with your API key; the same request works on testnet when you replace mainnet with testnet in the path.
- Base URL
https://rest.cryptoapis.io - Auth: the X-API-Key header
- JSON responses, same shape on every chain
curl https://rest.cryptoapis.io/blocks/utxo/bitcoin/mainnet/latest/details \ -H "X-API-Key: YOUR_API_KEY"
const res = await fetch( "https://rest.cryptoapis.io/blocks/utxo/bitcoin/mainnet/latest/details", { headers: { "X-API-Key": process.env.CRYPTOAPIS_KEY } }, ); const { data } = await res.json(); console.log(data.item);
import os, requests r = requests.get( "https://rest.cryptoapis.io/blocks/utxo/bitcoin/mainnet/latest/details", headers={"X-API-Key": os.environ["CRYPTOAPIS_KEY"]}, ) print(r.json()["data"]["item"])
{
"height": 234324,
"hash": "00000000000000000002ad6f9c74faf503bb055c54e0d0746ef34f888f95890f",
"transactionsCount": 23432,
"timestamp": 1681893875
}
Which Bitcoin endpoints are available?
The main calls. Every path takes the network: mainnet or testnet.
/addresses-historical/utxo/bitcoin/mainnet/{address}/unspent-outputs/utils/bitcoin/mainnet/xpubs/{extendedPublicKey}/derive-addresses/blockchain-events/bitcoin/mainnet/address-coins-transactions-confirmedHow do I send a Bitcoin transaction without giving up my keys?
Crypto APIs never holds your private keys. You keep signing; we do the rest.
- Step 1 Derive Get Bitcoin addresses from your xPub.
- Step 2 Prepare We build the unsigned transaction with the fee set.
- Step 3 Sign locally You sign on your own servers. Keys never leave.
- Step 4 Broadcast We push the signed transaction to the Bitcoin network.
- Step 5 Confirm A webhook tells you when it confirms.
Bitcoin API vs Bitcoin RPC: which do I need?
Most apps start with the API. Use RPC when you need a method the node exposes directly.
Bitcoin RPC
Need raw node calls (JSON-RPC)? NodeGrid RPC will give you one endpoint with automatic failover between partner providers. Until then, JSON-RPC access is part of the Blockchain API.
Explore NodeGrid RPCCheck a Bitcoin address for AML risk
A free risk band and sanctions check for any Bitcoin address is coming soon. Today, screen addresses with the AML API.
Coming soonThe backbone of blockchain
The most famous cryptocurrency and blockchain in the world, Bitcoin is open-sourced, with no master, and anyone can take part in its development and management. Its success inspired the creation of the wealth of cryptocurrencies.
Bitcoin paved the way for the evolution of blockchain technology. It represents a new and innovative way for monetary transfers and transactions to occur under the digital governance of a decentralized network that is pseudonymous and secure.
Other UTXO chains, same request shape
Bitcoin API questions
Is there a free Bitcoin API?
You can try it free for 14 days. The Blockchain API free trial covers Bitcoin and every feature, with no card. It ends after 14 days or when its credits run out; after that, calls need a subscription, listed on the pricing page.
How do I get the balance of a Bitcoin address?
Call the address balance endpoint with the address; it returns the confirmed balance in BTC. For the spendable coins, list the address's unspent outputs (UTXOs).
How do I broadcast a Bitcoin transaction?
Sign the transaction on your own server, then send the signed raw transaction to the broadcast endpoint, authenticated with your API key, and Crypto APIs pushes it to the Bitcoin network and returns the transaction ID. We can prepare the unsigned transaction for you first.
Do you support Bitcoin testnet?
Yes. Every Bitcoin endpoint works on mainnet and testnet. Change mainnet to testnet in the path; the same API key works on both.
What makes Bitcoin different to work with?
It is a UTXO chain — balances are the sum of unspent outputs, not a single account figure. Because there is no account balance to read, spending means selecting unspent outputs and handling change. Crypto APIs does that selection for you in prepare-transactions, so you sign one prepared transaction rather than assembling inputs yourself.
How do I know when a Bitcoin transaction is confirmed?
Create a webhook subscription for the address. Crypto APIs calls your URL when a transaction to or from it confirms on Bitcoin.
Start building on Bitcoin today
14-day free trial, mainnet included. No card needed.