Cryptowatch API¶
api_client module¶
Module related to the client interface to cryptowat.ch API.
-
class
cryptowatch.api_client.
Client
¶ Bases:
object
The public client to the cryptowat.ch api.
-
API_URL
= 'https://api.cryptowat.ch'¶
-
ROUTES_AGGREGATE
= ['prices', 'summaries']¶
-
ROUTES_MARKET
= ['price', 'summary', 'orderbook', 'trades', 'ohlc']¶
-
ROUTES_PARAMS
= ['trades', 'ohlc']¶
-
get_aggregates
(*args)¶ Retrieves the prices and summaries of all markets on the site in a single request.
Prices
To get the current price for all supported markets use:
get_aggregates('prices')
Returns: API response { "result": { { "bitfinex:bfxbtc": 0.00067133, "bitfinex:bfxusd": 0.52929, "bitfinex:btcusd": 776.73, ... } } }
Summaries
To get the market summary for all supported markets use:
get_aggregates('summaries')
Returns: API response { "result": { { "bitfinex:bfxbtc": { "price": { "last": 0.00067133, "high": 0.0006886, "low": 0.00066753, "change": { "percentage": -0.02351996, "absolute": -1.6169972e-05 } }, "volume":84041.625 }, "bitfinex:bfxusd": { ... }, "bitfinex:btcusd": { ... }, ... } } }
-
get_assets
(asset=None)¶ An asset can be a crypto or fiat currency.
Index
get_assets()
Returns: API response { "result": [ { "symbol": "aud", "name": "Australian Dollar", "fiat": true, "route": "https://api.cryptowat.ch/assets/aud" }, { "symbol": "etc", "name": "Ethereum Classic", "fiat": false, "route": "https://api.cryptowat.ch/assets/etc" }, ... ] }
Asset
Returns a single asset. Lists all markets which have this asset as a base or quote.
get_assets('btc')
Returns: API response { "result": { "symbol": "btc", "name": "Bitcoin", "fiat": false, "markets": { "base": [ { "exchange": "bitfinex", "pair": "btcusd", "active": true, "route": "https://api.cryptowat.ch/markets/bitfinex/btcusd" }, { "exchange": "gdax", "pair": "btcusd", "route": "https://api.cryptowat.ch/markets/gdax/btcusd" }, ... ], "quote": [ { "exchange": "bitfinex", "pair": "ltcbtc", "active": true, "route": "https://api.cryptowat.ch/markets/bitfinex/ltcbtc" }, { "exchange": "bitfinex", "pair": "ethbtc", "active": true, "route": "https://api.cryptowat.ch/markets/bitfinex/ethbtc" }, ... ] } } }
-
get_exchanges
(exchange=None)¶ Exchanges are where all the action happens!
Index
Returns a list of all supported exchanges.
get_exchanges()
Returns: API response { "result": [ { "symbol": "bitfinex", "name": "Bitfinex", "active": true, "route": "https://api.cryptowat.ch/exchanges/bitfinex" }, { "symbol": "gdax", "name": "GDAX", "active": true, "route": "https://api.cryptowat.ch/exchanges/gdax" }, ... ] }
Exchange
Returns a single exchange, with associated routes.
get_exchanges('kraken')
Returns: API response { "result": { "id": "kraken", "name": "Kraken", "active": true, "routes": { "markets": "https://api.cryptowat.ch/markets/kraken" } } }
-
get_markets
(path=None, **kwargs)¶ A market is a pair listed on an exchange. For example, pair btceur on exchange kraken is a market.
Index
Returns a list of all supported markets.
get_markets()
Returns: API response { "result": [ { "exchange": "bitfinex", "pair": "btcusd", "active": true, "route": "https://api.cryptowat.ch/markets/bitfinex/btcusd" }, { "exchange": "bitfinex", "pair": "ltcusd" "active": true, "route": "https://api.cryptowat.ch/markets/bitfinex/ltcusd" }, { "exchange": "bitfinex", "pair": "ltcbtc" "active": true, "route": "https://api.cryptowat.ch/markets/bitfinex/ltcbtc" }, ... ] }
To get the supported markets for only a specific exchange:
get_markets('kraken')
Market
Returns a single market, with associated routes.
Parameters: - exchange (str) – required
- pair (str) – required
data = { 'exchange': 'gdax', 'pair': 'btcusd' }
get_markets(data=data)
Returns: API response { "result": { "exchange": "gdax", "pair": "btcusd", "active": true, "routes": { "price": "https://api.cryptowat.ch/markets/gdax/btcusd/price", "summary": "https://api.cryptowat.ch/markets/gdax/btcusd/summary", "orderbook": "https://api.cryptowat.ch/markets/gdax/btcusd/orderbook", "trades": "https://api.cryptowat.ch/markets/gdax/btcusd/trades", "ohlc": "https://api.cryptowat.ch/markets/gdax/btcusd/ohlc" } } }
Price
Returns a market’s last price.
Parameters: - exchange (str) – required
- pair (str) – required
- route (str) – ‘price’
data = { 'exchange': 'gdax', 'pair': 'btcusd', 'route': 'price' }
get_markets(data=data)
Returns: API response { "result": { "price": 780.63 } }
Summary
Returns a market’s last price as well as other stats based on a 24-hour sliding window.
Parameters: - exchange (str) – required
- pair (str) – required
- route (str) – ‘summary’
data = { 'exchange': 'gdax', 'pair': 'btcusd', 'route': 'summary' }
get_markets(data=data)
Returns: API response { "result": { "price":{ "last": 780.31, "high": 790.34, "low": 772.76, "change": { "percentage": 0.0014373838, "absolute": 1.12 } }, "volume": 5345.0415 } }
Trades
Returns a market’s most recent trades, incrementing chronologically.
Parameters: - exchange (str) – required
- pair (str) – required
- route (str) – ‘trades’
- params (dict) – supported params
- params.limit (int (defaults to 50)) – limit amount of trades returned
- params.since (UNIX timestamp) – only return trades at or after this time.
data = { 'exchange': 'gdax', 'pair': 'btcusd', 'route': 'trades', 'params': {'limit': 10, 'since': 1481663244 } }
get_markets(data=data)
Returns: API response { "result": [ [ 0, 1481676478, 734.39, 0.1249 ], [ 0, 1481676537, 734.394, 0.0744 ], [ 0, 1481676581, 734.396, 0.1 ], [ 0, 1481676602, 733.45, 0.061 ], ... ] }
Trades are lists of numbers in this order:
[ ID, Timestamp, Price, Amount ]
Order Book
To get market’s order book use ‘orderbook’ route.
Parameters: - exchange (str) – required
- pair (str) – required
- route (str) – ‘orderbook’
data = { 'exchange': 'gdax', 'pair': 'btcusd', 'route': 'orderbook' }
Returns: API response { "result": { "asks": [ [ 733.73, 2.251 ], [ 733.731, 7.829 ], [ 733.899, 1.417 ], ... ], "bids": [ [ 733.62, 0.273 ], ... ] ] }
Orders are lists of numbers in this order:
[ Price, Amount ]
OHLC
Returns a market’s OHLC candlestick data. Returns data as lists of lists of numbers for each time period integer.
Parameters: - exchange (str) – required
- pair (str) – required
- route (str) – ‘ohlc’
- params (dict) – supported params
- params.before (int (defaults to 50)) – Only return candles opening before this time
- params.after (UNIX timestamp) – Only return candles opening after this time
- params.periods (Comma-separated integers 60,180,108000) – return these time periods
data = { 'exchange': 'gdax', 'pair': 'btcusd', 'route': 'ohlc' 'params': { 'before': 1481663244, 'after': 1481663244, 'periods': '60,180' } }
get_markets(data=data)
Return values are in list:
[ CloseTime, OpenPrice, HighPrice, LowPrice, ClosePrice, Volume, QuoteVolume]
-
get_pairs
(pair=None)¶ A pair of assets. Each pair has a base and a quote. For example, btceur has base btc and quote eur.
Index
All pairs (in no particular order).
get_pairs()
Returns: API response { "result": [ { "symbol": "xmrusd", "id": 82, "base": { "symbol": "xmr", "name": "Monero", "fiat": false, "route": "https://api.cryptowat.ch/assets/xmr" }, "quote": { "symbol": "usd", "name": "United States dollar", "fiat": true, "route": "https://api.cryptowat.ch/assets/usd" }, "route": "https://api.cryptowat.ch/pairs/xmrusd" }, { "symbol": "ltcusd", "id": 189, "base": { "symbol": "ltc", "name": "Litecoin", "fiat": false, "route": "https://api.cryptowat.ch/assets/ltc" }, "quote": { "symbol": "usd", "name": "United States dollar", "fiat": true, "route": "https://api.cryptowat.ch/assets/usd" }, "route": "https://api.cryptowat.ch/pairs/ltcusd" }, ... ] }
Pair
Returns a single pair. Lists all markets for this pair.
get_pairs('ethbtc')
Returns: API response { "result": { "symbol": "ethbtc", "id": 23, "base": { "symbol": "eth", "name": "Ethereum", "isFiat": false, "route": "https://api.cryptowat.ch/assets/eth" }, "quote": { "symbol": "btc", "name": "Bitcoin", "isFiat": false, "route": "https://api.cryptowat.ch/assets/btc" }, "route": "https://api.cryptowat.ch/pairs/ethbtc", "markets": [ { "exchange": "bitfinex", "pair": "ethbtc", "active": true, "route": "https://api.cryptowat.ch/markets/bitfinex/ethbtc" }, { "exchange": "gdax", "pair": "ethbtc", "active": true, "route": "https://api.cryptowat.ch/markets/gdax/ethbtc" }, ... ] } }
-