BitcoinDatabase.com

On-chain metrics · Price API

Bitcoin price API and historical market data tied to the chain

A Bitcoin price API should give you more than a spot number. BitcoinDatabase serves daily and intraday OHLCV back through Bitcoin's history, plus the on-chain market data that a price feed alone can not: realized price, aggregate cost basis, the price coins last moved at, and market cap versus realized cap. Because we index every block, each price figure can be joined to what the chain was actually doing that day, which is the context quantitative desks and researchers need.

or try it below ↓

REST API · SQL · dashboards · address history from genesis

Query Console
btc
try:

Hit Run to query the Bitcoin blockchain.

Live from the chain for .

BTC

Balance trail

informational on-chain data · not financial advice

REST API · SQL · dashboards, one indexed dataset. Reading the chain ...

Pull a historical daily close for backtesting, stream a recent candle for a dashboard, or query realized price to see the network's average acquisition cost over time. The same data is available in SQL and dashboards, so analysts and apps read from one indexed dataset. This is informational market and on-chain data only, not financial, investment or trading advice.

REST API SQL DASHBOARDS WEBHOOKS CSV EXPORT

History from genesis queryable in seconds

On-chain data not financial advice

Why it works

What you get with Price API

Deep historical prices

Daily and hourly OHLCV candles from 18 August 2011, from one USD order book that starts its day at 00:00 UTC and is never stitched from several venues. GET /v1/price/ohlcv returns up to 10,000 candles per call as JSON or CSV, and the same series is the price_candles table in SQL.

On-chain market context

Go beyond spot with realized price, aggregate cost basis and market cap versus realized cap, metrics computed from the indexed UTXO set, not just an exchange feed.

Joined to the chain

Every price point can be tied to on-chain activity for the same day, so you analyze price and behavior together instead of stitching two vendors.

What it handles

The indexed Bitcoin chain, queryable your way

Look up an address, a transaction, a UTXO, the rich list or an on-chain metric, by REST API, SQL or dashboard. The same authoritative data, reconciled block-by-block against the canonical chain, without running a node.

  • Pull historical daily closes and OHLCV candles
  • Query realized price and network cost basis over time
  • Compare market cap against realized cap
  • Join price to on-chain activity for the same block or day
  • Read the same data by REST API, SQL or dashboard
GET /v1/address/{addr} query result
200 · JSON
{
  "address": "bc1qxy2k…l0wdv8",
  "balance_btc": 68432.10,
  "balance_usd": 4612165420,
  "tx_count": 1284,
  "unspent_outputs": 37,
  "first_seen": "2014-02-09"
}
indexed from genesis · to the satoshi ✓ reconciled block-by-block

Why BitcoinDatabase

One platform, queryable three ways

Not a raw node to sync, not an indexer to build, and not five vendors to stitch together. The fully-indexed Bitcoin blockchain, available as a REST API, as SQL, and as dashboards, on one authoritative dataset.

REST API

Typed JSON for addresses, transactions, balances, UTXOs and metrics. Drop it into apps, wallets, explorers and agents with curl, Python or any HTTP client.

SQL access

Run SQL directly against the indexed Bitcoin dataset for ad-hoc analysis, cohorts and exports, the same data the API and dashboards read from.

Compliance-first

Informational on-chain data and analytics only. Entity labels and flow tracing are framed as tooling to support a regulated team's own review, not accusations.

Good questions

Questions about Price API

Daily and intraday OHLCV candles and closes across Bitcoin history, plus on-chain market metrics like realized price, aggregate cost basis and realized cap. Because the chain is fully indexed, each price figure can be joined to on-chain activity for the same day. It is informational market data, not trading advice.
Most price APIs return exchange quotes only. BitcoinDatabase pairs prices with on-chain measures computed from the indexed UTXO set, such as realized price and cost basis, so you can study what holders paid and how coins moved, not just the last trade. This is informational data, not financial advice.
Yes, and it is the reason most teams pick this over a plain quote feed. Every output row carries a price_at_creation_usd field alongside its value and address, so the USD value at the moment coins were created travels with the coins. That is what makes cost basis, realized price and profit and loss work without a separate join against a price series.
Query the candle series directly for OHLCV over any date range, or read price_at_creation_usd on outputs when you need the price attached to specific coins rather than a calendar date. The first answers what did Bitcoin cost in March 2021. The second answers what did these particular coins cost when they were created, which a candle series cannot tell you.
The candle series starts on 18 August 2011, the first trading day of the USD order book it reads, at both daily and hourly resolution. The chain itself starts at the genesis block in January 2009, but we do not fill the earlier months from another source, because a stitched series breaks backtests. Developer covers one year of history; Growth and Scale cover all of it.
Several public feeds are free for spot quotes, and they are fine for a price ticker. BitcoinDatabase has no free plan, because the work here is joining price to chain history at query time rather than serving a current number. If all you need is the latest price, a free feed is genuinely the right tool and you do not need this.
No. There is no perpetuals, funding rate or open interest data here. The coverage is spot price history plus the on-chain measures that price attaches to. If a derivatives dataset is what your model needs, a derivatives specialist will serve you better and we would rather say so up front.
The candles are refreshed every hour, and the last two buckets are re-read each time so a late trade lands in the right candle. Every row carries a closed flag: a candle still forming is returned with closed set to false, so a backtest or a period-end script can drop it with one filter instead of booking a partial hour.
Yes. Add format=csv to GET /v1/price/ohlcv and the response is a CSV file with time, timestamp, open, high, low, close, volume_btc and closed columns. Pick interval=1d or 1h and a from and to range; one call returns up to 10,000 candles, which is more than a year of hourly data, and costs 10 credits.
Yes. interval=1h returns hourly candles labeled by the UTC start of the hour, from August 2011 to the current hour. The series had 132,568 hourly candles when we counted on 2 October 2026, one for every hour with no gaps. 6,443 of them, mostly in the thin early years, have zero volume_btc because nothing traded that hour, so filter on volume if your model needs real prints.
The price in your principal market at the minute your accounting policy names, and the units held at the same minute. On 30 September 2026 the cutoff convention moved the price by more than 500 USD per bitcoin while two venues agreed within 6.44 USD. Our fair value guide shows the full measurement.

Explore more

More ways to query Bitcoin with BitcoinDatabase

Stop running a node. Just query Bitcoin.

Run your first query now and get on-chain data back by REST API, SQL or dashboard, with address history back to the genesis block over REST. Informational on-chain data only, not financial advice.

See pricing

History from genesis over REST · SQL · dashboards · addresses, transactions, UTXOs, metrics