npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

exchange-gdax-public-api

v1.0.1

Published

Access public endpoints, to access market prices, from the GDAX/Coinbase Cryptocurrency Exchange, using Promises.

Downloads

5

Readme

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-api

Usage

Getting Started

  1. require() or import module:
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/async with try {} 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 - @string Market Pair (ex: LTC-BTC)
    • level - @number Control level of detail to include. 3-Levels max.
  • getTicker(pair) - Snapshot information about the last trade (tick), best bid/ask and 24h volume.

    • pair - @string Market Pair (ex: LTC-BTC)
  • getMarketHistory(pair, query) - List the latest trades for a product.

    • pair - @string Market 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 - @string Market 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 - @string Market 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 - @string Custom path to an endpoint (ex: /products)
    • query - @object Custom parameters to include (ex: { granularity: 300 })

Contribute

Please...if you find any issues or improvements needed, feel free to submit your improvements!