Bitcoin price history
Changed onDaily BTC price time series, one point a day: the day's last price. Each point names the source its close came from (data[].source): Blockchain.com to 2025-08-31 and CoinGecko after it, except Kraken for 2026-08-28 and Coinbase for 2026-08-29 to 08-31 and 2026-09-14 to 09-29. Since 2026-10-01 each day's close is asked from CoinGecko; a day it does not answer is Coinbase's and says so, and the current day's point is the latest price so far, most often Coinbase's. sources lists each source served with its first and last date, and attribution carries "Powered by CoinGecko." whenever a CoinGecko close is served. Date ranges by tier:
- Free: Rolling 30-day window
- Basic: From January 1, 2025
- Pro/Enterprise: All available data (from August 18, 2010)
Request
- Base URLhttps://api.prereason.com
- Auth
- HTTP bearer
- or API key in header X-API-Key
Query parameters
Start date (YYYY-MM-DD). Defaults to 30 days ago.
End date (YYYY-MM-DD), the whole day, so its point is that day's last price like every other day's. Defaults to now.
Maximum data points (1-1000, default 100)
Response
Bitcoin price history
Example response
{
"metric": "bitcoin-price",
"from": "2026-01-01",
"to": "2026-02-21",
"count": 52,
"source": "CoinGecko",
"sources": [
{
"name": "CoinGecko",
"points": 52,
"first_date": "2026-01-01",
"last_date": "2026-02-21",
"notice": "Powered by CoinGecko."
}
],
"attribution": "Sources: CoinGecko. Powered by CoinGecko.",
"data": [
{
"date": "2026-01-15",
"price": 97500,
"source": "CoinGecko",
"interpolated_from": "2024-01-15"
}
]
}Changes
- info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
to the response with the status
- info
- warning
removed the optional property
/from the response with the status - warning
removed the optional property
/from the response with the status
- warning