The goal of the Crypto Market Monitor Project is to make market data more accessible. One challenge to anyone wishing to do anything with bitcoin market data (and any other cryptocurrency data), is the variety of markets. Each has their own api and data format. The Market Monitor project makes it easy to get data from many exchanges from one source in a standardized format. We are planning on adding support for additional exchanges, and additional currency pairs in the near future.
Disclaimer: This software and its associated data is provided as is, with no guarantee of validity or accuracy.
Broadcasts cryptocurrency market data.
[NPM module] (https://www.npmjs.org/package/market-monitor)
For example usage, see [btc.marketmonitor.io] (http://btc.marketmonitor.io)
If there is any data you'd like to see added or any comments or critiques of our current data streams, please open an issue. We are always looking for feedback and any improvements we can make.
Url: http://api.marketmonitor.io:80
Trades
Emits a trade event whenever a trade occurs and passes the associated trade data.
/BTC/USD/trades
Event: 'trade'
Data Format:
{
exchange: String,
date: Date,
price: Number,
amount: Number,
currency: 'BTC',
tCurrency: 'USD',
exchangeTradeID: String
}
Market Summary Statistics
Emits an object containing market summary statistics.
/BTC/USD/summary
Event: 'update'
Data Format:
{
vwap: Number,
volume: Number,
high: Number,
low: Number,
variance: Number,
standardDeviation: Number,
coefficientOfVariation: Number,
range: Number,
numTrades: Number
}
Price Over Time Chart Data
Emits an array of datapoints useful for making price over time charts.
/BTC/USD/priceCharts/:timeframe
Where timeframe is the timeframe of each datapoint. Options:
oneMinute
fiveMinutes
fifteenMinutes
oneHour
Event: 'update'
[
{
date; Date,
high: Number,
low: Number,
open: Number,
close: Number,
vwap: Number,
volume: Number,
numTrades: Number
}
]
Price Distribution Chart Data
Emits an array of datapoints useful for making price distribution charts
/BTC/USD/priceDistribution
Event: 'update'
Data Format:
[
{
exchange: String,
price: Number,
volume: Number
},
...
]
Include Socket.io:
<script src="https://cdn.socket.io/socket.io-1.0.6.js"></script>
Then:
<script>
var trade = io('http://api.marketmonitor.io:80/BTC/USD/trades');
trade.on('trade', function(trade) {
console.log('Trade:', trade);
});
var summary = io('http://api.marketmonitor.io:80/BTC/USD/summary');
summary.on('update', function(data) {
console.log('Summary Data', data);
});
</script>
These endpoints are intended to give details or particular statistics including highs, lows, averages, and percentiles. Current values are recalculated every 30 seconds and daily values are used for highs, lows, and averages.
**/BTC/USD/standardDeviation****/BTC/USD/coefficientOfVariation**
**/BTC/USD/range**
**/BTC/USD/volume**
- Bitstamp
- BTC-e
- hitbtc
- Bitfinex