You can use this JavaScript module to get historical prices for cryptocurrencies / blockchain assets.
npm i --save @exodus/prices
parameters:
fromSym
:<string>
: An asset or fiat string symbol.toSym
:<string>
: An asset or fiat string symbol.date
:<Date>
: An instance ofDate
representing some date in the past.
Example:
global.fetch = require('node-fetch') // not necessary in the browser
const { fetchPrice } = require('@exodus/prices')
const t1 = new Date('2017-01-10 12:25 CST')
const btcPrice = await fetchPrice('BTC', 'USD', t1)
console.log(btcPrice.toFixed(2)) // => 903.30
const ethPrice = await fetchPrice('ETH', 'USD', t1)
console.log(ethPrice.toFixed(2)) // => 10.47
- Requires
global.fetch
this depends on fetch()
being defined globally.
- If you are using this in Electron, it should work without any configuration assuming it's running in the renderer process.
- If you are using this in Node.js, you will need to use
node-fetch
.
-
This depends upon the cryptocompare API.
-
Granularity is only limited to daily. Thus, anytime in the day uses a simple linear interpolation between the open and close prices.
-
Occasionally cryptocompare's historical data changes. See https://github.com/ExodusMovement/audit-pricing/commit/2f9cc8cb61eb2e38983c3fee704943d67c6a9ef5 as an example.
If cryptocurrencies are interesting to you and you want to help solve some insanely challenging computer science problems, maybe you'd like to work at Exodus? Reach out and apply here: https://www.exodus.io/careers/