BITCOIN API · GraphQL · Kafka · SQL · Cloud export

The Bitcoin data API that saves you from the full node.

No bitcoind to sync, no reindex, no reorgs to handle. We index every block since genesis — so you query transactions, inputs & outputs, address balances, miners and Coinpath® money flow in one GraphQL schema, or stream them over Kafka as blocks are mined.

Trusted on Bitcoin byLukka3Commas0xCoin Metrics
bitcoin.transactionsHistorical & real-time Bitcoin transactions with full inputs and outputs.Docs
transactions.graphqlCopy
query {
  bitcoin(network: bitcoin) {
    transactions(
      options: {desc: "block.height",
        limit: 10}
    ) {
      hash
      inputCount
      outputCount
      feeValue
      outputValue
    }
  }
}
responseSTREAMING
Tx hashIn / OutFee (sat)Value (BTC)
200 · Kafka · 0.4skafka.bitquery.io
01 Forget the full node

Bitcoin Core wasn't built for the questions you're asking.

Raw bitcoindgives you blocks and hex — not answers. Tracing value across UTXOs, building a wallet's full history or watching the chain live means writing your own indexer. We did that part — you just query.

What you're doing
Raw Bitcoin node / RPC
Bitquery Bitcoin API
One address's full history
Scan & index every block yourself
A single GraphQL query
Tracing funds across hops
Walk the UTXO graph by hand
Coinpath® money flow in one call
Reading inputs, outputs & scripts
Parse raw hex & ScriptPubKey
Decoded UTXOs & address formats
Historical depth
~600 GB to sync & maintain
Genesis 2009 → now, queryable
Infrastructure to run
Node, reindex, reorg handling
None — fully managed
02 Delivery channels

Four ways to get Bitcoin data — one schema underneath.

Model your query once in GraphQL and the same Bitcoin fields come back over GraphQL, Kafka streams, SQL or a bulk cloud export. There's no second schema to learn; you just pick the channel that matches your latency and volume. Bitcoin real-time is delivered over Kafka — no node, no WebSocket to babysit.

03 Bitcoin data coverage

Every layer of the chain, decoded into one schema.

From raw UTXOs to traced money flow — query any view below, filter by address, block, time or value, and aggregate to balances, totals or top counterparties.

DatasetModelWhat you get
TxTransactionsPer blockFees, all inputs & outputs, scripts
IOInputs & OutputsUTXOSpent/unspent, ScriptSig & ScriptPubKey
ΣAddress balancesAggregatedBalance in BTC & USD, first/last seen
CCoinpath® money flowGraphMulti-hop tracing, counterparties & address labels
Mining & minersCoinbaseBlock rewards, miner earnings, output split
ΩOmni LayerUSDT on BTCOmni transactions & token transfers
+ block headers, difficulty, Merkle roots & address statistics
04 Build it this weekend

The Bitcoin products people ship on us.

Each one is a filter on the same indexed data — stream it over Kafka for live monitoring and alerts, or query GraphQL and SQL for analytics, audits and reports.

Coinpath®

Trace stolen funds & build AML

Follow Bitcoin across multiple hops with address annotations from public sources — surface mixers, exchange deposits and counterparties for KYT, Travel Rule and crypto-forensics tooling.

coinpath(initialAddress: "bc1q…",
  depth: { lteq: 3 })
Read the docs
Kafka stream

Watch a whale address live

Stream inbound and outbound transactions for any address over Kafka and fire real-time alerts the moment a balance moves.

Bitcoin.Transactions
  where: { Output.Address: "<addr>" }
Read the docs
GraphQL

Mining & reward analytics

Aggregate coinbase outputs per miner, block and interval — the feed behind hashrate dashboards and reward-distribution reports.

Bitcoin.Blocks {
  Block: { reward miner } # by day
}
Read the docs

What teams say about our Bitcoin data

"Partnering with Bitquery has proven to be highly cost-effective — we leverage their infrastructure instead of building our own. It let us rapidly expand our blockchain support and serve far more taxpayers who use on-chain solutions."

N
Nick Christie
Co-Founder, Syla
2009
Full history since the genesis block
1PB+
Blockchain data indexed & queryable
40+
Chains served from one schema
Also building on Bitquery dataBinanceLukka3CommasCoin Metrics
05 Pricing

Start free on Bitcoin. Scale when you ship.

Every Bitcoin dataset is on every plan — nothing is paywalled. Move to commercial when you need volume, streams and SLAs.

Developer
$0 / month
For developers and small Bitcoin projects.
  • All blockchains & datasets
  • 1K trial points
  • 2 streams for testing
  • GraphQL IDE access
Get started free
Most popular
Commercial
Custom
Tailored for production analytics & compliance.
  • Scalable calls, no throttling
  • Kafka, SQL & cloud interfaces
  • 24/7 engineering access
  • Dedicated onboarding & SLA
Talk to sales
Datashares
Custom
Bulk Bitcoin history on your own cloud.
  • Snowflake, BigQuery, S3, Azure
  • Balance & audit data for custodians
  • Structured for AI agents & MCP
  • No setup or infrastructure
Talk to sales
06 FAQ

Bitcoin questions, answered.

How can I get Bitcoin blockchain data with Bitquery?
Bitquery provides historical and real-time Bitcoin data through GraphQL APIs, Kafka streams, SQL and cloud exports. You get transactions, inputs & outputs, address balances, miners and Coinpath® money flow — without running a full node. Get an API key at ide.bitquery.io.
What is the UTXO model and how do I query inputs and outputs?
Bitcoin tracks value as unspent transaction outputs (UTXOs) rather than account balances. Our Inputs and Outputs datasets expose every spent and unspent output with value, address and decoded ScriptSig / ScriptPubKey, so you can reconstruct any transaction's full structure in one query.
Can I trace Bitcoin fund flow across multiple hops?
Yes. Coinpath® follows money inbound and outbound from any address across multiple hops, surfacing counterparties, exchange deposits and mixing patterns — the backbone of AML, forensics and compliance products built on Bitquery.
How do I stream Bitcoin blocks and transactions in real time?
Stream blocks and transactions through Kafka the moment they are mined — block hash, height, timestamp, Merkle root, nonce and difficulty — plus every transaction with full input/output structure. Bitcoin real-time is delivered over Kafka (not WebSocket), so it scales cleanly for payment processors and on-chain monitoring.
Does Bitquery support address balances, mining data and Omni Layer?
Yes. Get any address's balance in BTC and USD with first/last-seen statistics, archival mining data including miner earnings and reward distribution, and Omni Layer (USDT-on-Bitcoin) transactions and transfers — all through the same GraphQL schema.
How many blockchains can I query?
All of them, on every plan. Bitquery indexes 40+ blockchains through one schema, so the Bitcoin queries you learn here carry over to other chains. Check the system status page for the full list.

Your first Bitcoin query is five minutes away.

Start free in the GraphQL IDE — no card, no sales call. Scale to Kafka streams, SQL or cloud exports when you're ready, and we'll shape a Bitcoin feed around your stack.

Transactions · UTXOs · Balances · Coinpath® · Mining · Omni · + 40,000 developers