BitcoinDatabase.com
All posts
Guides

How to Download Bitcoin Blockchain Data: Datasets, CSV and SQL

How to get Bitcoin blockchain data for research: syncing a full node, what public Bitcoin datasets actually contain, how big the chain is in 2026, and how to pull transactions and balances as CSV without indexing it yourself.

By the BitcoinDatabase team

July 2026 · 9 min read

The short answer

There are three ways to get Bitcoin blockchain data: sync a full node with Bitcoin Core and parse the raw block files yourself, use a public dataset that is usually partial or stale, or query an already-indexed copy of the chain over an API or SQL and export the rows you need to CSV. For research work the third option is fastest, because the hard part is not downloading blocks, it is indexing them into something you can join.

Anyone who has tried to get Bitcoin data for a paper, a model or a product hits the same wall. The chain is public, so the data feels like it should be a download link. Then you discover that the raw format is a stack of binary block files designed for a node to validate, not for you to run a query against. Here is what each route actually involves.

How do I download the Bitcoin blockchain?

Install Bitcoin Core, let it sync, and it will download and validate every block from the 2009 genesis block forward into files under your data directory. As of mid-2026 a full archival copy runs well past 600 GB and keeps growing by roughly 5 to 7 GB a month. Initial block download typically takes anywhere from several hours on a fast NVMe drive and connection to a couple of days on ordinary hardware, because the bottleneck is validating signatures, not bandwidth. Pruned mode keeps a fixed amount of recent block data instead, which is fine for running a wallet but useless if you need history.

Route Time to first query Good for Catch
Full node plus own indexer Days to weeks Full control, air-gapped work 600 GB plus, ongoing ops, reorg handling
Public CSV dataset Minutes Teaching, quick experiments Usually price only, partial, and stale
Cloud public dataset Minutes Large scans if you already use that cloud Query billed by bytes scanned, no labels
Indexed API and SQL Minutes Research, products, reconciliation Usage-based cost, no local raw files

Sizes and timings are typical for mid-2026 and vary with hardware and connection.

Where can I get a Bitcoin dataset in CSV?

Search results for a Bitcoin dataset in CSV are dominated by price history files, which are fine if all you need is a daily close, and useless if your question involves transactions. The on-chain datasets that do exist are often a snapshot someone exported years ago, missing address labels and never refreshed. If you want current data with transactions, inputs, outputs and address balances, you are better off querying an indexed copy of the chain and exporting exactly the rows your analysis needs. A scoped export beats a 600 GB download you have to index anyway, and a Bitcoin blockchain dataset you can filter by block range or address set is usually a few hundred megabytes rather than a few hundred gigabytes.

How big is the Bitcoin blockchain?

An archival Bitcoin Core node stores over 600 GB as of mid-2026, growing at roughly 5 to 7 GB per month because blocks arrive about every 10 minutes with a 4 million weight unit limit. That is only the raw blocks. Once you build the address and UTXO indexes needed to answer questions like what is this address balance, expect the working footprint to be a meaningful multiple of the raw size, which is why teams that go this route usually end up running it on cloud storage and then watching what that storage quietly costs them every month.

Do I need a full node to analyze Bitcoin data?

Only if you need to independently validate consensus rules, which most research does not. A node validates; an index answers questions. Running your own node gives you trustless verification and no dependency on anyone else, at the cost of hardware, sync time and maintenance. If your project is measuring exchange flows, studying UTXO age, or building a dashboard, you need the index far more than the validation, and you can always spot-check a handful of results against a public explorer. There is more on this tradeoff in accessing a Bitcoin node without running one.

What data is actually in the Bitcoin blockchain?

Blocks with headers (height, hash, timestamp, difficulty target, nonce), and inside them transactions, each with inputs referencing earlier outputs and outputs carrying a value in satoshis and a locking script. Addresses are derived from those scripts, not stored as a field, and balances are not stored anywhere at all: an address balance is the sum of its unspent outputs, which you can only compute if you have indexed the whole UTXO set. That single fact is why raw block files are not a dataset, and why every practical workflow starts with an index. If UTXOs are new to you, start with what is a UTXO.

Can I get historical Bitcoin data going back to 2009?

Yes, and this is the part public datasets most often get wrong. The chain has recorded every transaction since the genesis block on 3 January 2009, so complete history exists by definition; the question is whether your source indexed all of it or started from a convenient recent height. Early blocks are small and sparse, which makes them cheap to include, so there is no good reason for a dataset to begin in 2015. Check the earliest block height in whatever source you pick before you build on it.

How do you keep a Bitcoin research dataset current?

New blocks arrive about every 10 minutes, so any static export starts drifting immediately. If you run your own stack, you need an ingest process plus reorg handling, because the tip can be reorganized and rows you already wrote may need to be reversed. Most one-off research pipelines skip reorg handling and quietly accumulate a small number of wrong rows. Querying a maintained index moves that problem off your plate, which is usually the real argument for it, more than the storage saving.

The practical setup

BitcoinDatabase indexes every block since 2009 into a normalized schema: blocks, transactions, inputs, outputs, addresses, UTXOs, entity labels and historical market data, queryable over REST for applications, SQL for analysts and dashboards for everyone else, with CSV export on the rows a query returns. You filter to the block range, address set or script type you care about and take the result, without syncing a node or writing an indexer. To see the query patterns first, read how to query the Bitcoin blockchain, or start from the Bitcoin historical data API. Informational on-chain data only, not investment advice.

Query Console
btc
try:

Hit Run to query the fully-indexed Bitcoin blockchain.

BTC

30-day trend

informational on-chain data · not financial advice

REST API · SQL · dashboards, one indexed dataset. Querying the indexed Bitcoin blockchain ...

Query the Bitcoin blockchain yourself

Pull balances, UTXOs, transactions, on-chain metrics and fund flows from the fully indexed Bitcoin blockchain by REST API, SQL and dashboards. Indexed since 2009, new blocks within seconds, no node to run.

Query the whole Bitcoin blockchain

BitcoinDatabase indexes the public Bitcoin blockchain block by block and returns balances, UTXOs, transactions, on-chain metrics and fund flows by REST API, SQL and dashboards, with no node to run.

REST + SQL + dashboards · indexed since 2009 · new blocks within seconds

Informational on-chain data only · not financial, investment or legal advice · AML features are compliance tooling to support your own review.