exchange-gdax-public-api v1.0.1
GDAX Public API (Node)
This package interacts with the public REST API endpoints for the GDAX Exchange that require no authentication using Promises.
With this package, you should be able to get access to:
- Cryptocurrency Pair Quotes
- Market Metadata
- 24-Hour Market Summary
- Order Flow & Market History
- Candlestick Data
API requiring authentication has been decoupled, and will be created in an additional package as an add-on.
Installation
exchange-gdax-public-api is available from npm and yarn:
npm install exchange-gdax-public-api
- or -
yarn add exchange-gdax-public-apiUsage
Getting Started
require()orimportmodule:
const GDAX = require('exchange-gdax-public-api')or
import GDAX from 'exchange-gdax-public-api'- Create a new GDAX
Object:
const gdax = new GDAX()- Use any method needed to get the desired data.
All methods return a promise so you can use
await/asyncwithtry {} catch() {}or.then().catch()
Responses
Responses should return a success and result property. Successful responses from the API should return as true.
{
"success": true, // @bool
"result": <data> // @array or @object
}Methods Available
.getMarkets()- Get a list of available currency pairs for trading.getOrderBook(pair, level)- Get a list of open orders for a product. The amount of detail shown can be customized with the level parameter.pair-@stringMarket Pair (ex: LTC-BTC)level-@numberControl level of detail to include. 3-Levels max.
getTicker(pair)- Snapshot information about the last trade (tick), best bid/ask and 24h volume.pair-@stringMarket Pair (ex: LTC-BTC)
getMarketHistory(pair, query)- List the latest trades for a product.pair-@stringMarket Pair (ex: LTC-BTC)query-@object- Response is paginated. Control properties go here.before:@number- Request page before (newer) this pagination id.after:@number- Request page after (older) this pagination id.limit:@number- Number of results per request. Maximum 100. (default 100)
getHistoricCandles(pair, query)- Historic rates for a product. Rates are returned in grouped buckets based on requested granularity.pair-@stringMarket Pair (ex: LTC-BTC)query-@object- Response has additional controls to customize.start:@number- Start time in ISO 8601 (Multiply by 1000 for UNIX)end:@number- End time in ISO 8601 (Multiply by 1000 for UNIX)granularity:@number- Desired timeslice in seconds. (Ex: 300 = 5min)
getMarketSummary(pair)- Get 24 hr stats for the product. volume is in base currency units. open, high, low are in quote currency units.pair-@stringMarket Pair (ex: LTC-BTC)
getCurrencies()- List known currencies.getEndpoint(path, query)- Used to get any additional endpoint that might get added in the future.path-@stringCustom path to an endpoint (ex:/products)query-@objectCustom parameters to include (ex:{ granularity: 300 })
Contribute
Please...if you find any issues or improvements needed, feel free to submit your improvements!