miguelmota / go-coinmarketcap

The unofficial CoinMarketCap API client for Go.

Home Page:https://github.com/miguelmota/go-coinmarketcap

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


go-coinmarketcap


The unofficial CoinMarketCap API client for Go.

License Build Status Go Report Card GoDoc PRs Welcome

Supports the CoinMarketCap API Pro Version, V2 and V1 Public API

Contents

Documentation

https://godoc.org/github.com/miguelmota/go-coinmarketcap

Install

go get -u github.com/miguelmota/go-coinmarketcap

Pro V1 (latest)

Type Endpoint Implemented?
Cryptocurrency /v1/cryptocurrency/info
Cryptocurrency /v1/cryptocurrency/map
Cryptocurrency /v1/cryptocurrency/listings/latest
Cryptocurrency /v1/cryptocurrency/market-pairs/latest
Cryptocurrency /v1/cryptocurrency/ohlcv/historical -
Cryptocurrency /v1/cryptocurrency/quotes/latest
Cryptocurrency /v1/cryptocurrency/quotes/historical -
Exchange /v1/exchange/info -
Exchange /v1/exchange/map -
Exchange /v1/exchange/listings/latest -
Exchange /v1/exchange/market-pairs/latest -
Exchange /v1/exchange/quotes/latest -
Exchange /v1/exchange/quotes/historical -
Global Metrics /v1/global-metrics/quotes/latest
Global Metrics /v1/global-metrics/quotes/historical -
Tools /v1/tools/price-conversion

Note: some endpoints require a paid plan.

Getting started

package main

import (
	"fmt"
	"os"

	cmc "github.com/miguelmota/go-coinmarketcap/pro/v1"
)

func main() {
	client := cmc.NewClient(&cmc.Config{
		ProAPIKey: os.Getenv("CMC_PRO_API_KEY"),
	})

	listings, err := client.Cryptocurrency.LatestListings(&cmc.ListingOptions{
		Limit: 1,
	})
	if err != nil {
		panic(err)
	}

	for _, listing := range listings {
		fmt.Println(listing.Name)               // "Bitcoin"
		fmt.Println(listing.Quote["USD"].Price) // 6316.75736886
	}
}

Examples

For more examples, check out the ./pro/v1/example directory and documentation


V2

NOTE: CoinMarketCap deprecated this API on December 2018

Getting started

package main

import (
	"fmt"
	"log"

	cmc "github.com/miguelmota/go-coinmarketcap/v2"
)

func main() {
	tickers, err := cmc.Tickers(&cmc.TickersOptions{
		Start:   0,
		Limit:   100,
		Convert: "USD",
	})
	if err != nil {
		log.Fatal(err)
	}

	for _, ticker := range tickers {
		fmt.Println(ticker.Symbol, ticker.Quotes["USD"].Price)
	}
}

Examples

For more examples, check out the ./v2/example directory and documentation


V1

NOTE: CoinMarketCap deprecated this API on November 2018

Getting started

package main

import (
	"fmt"
	"log"

	cmc "github.com/miguelmota/go-coinmarketcap/v1"
)

func main() {
	tickers, err := cmc.Tickers(&cmc.TickersOptions{
		Start:   0,
		Limit:   100,
		Convert: "USD",
	})
	if err != nil {
		log.Fatal(err)
	}

	for _, ticker := range tickers {
		fmt.Println(ticker.Symbol, ticker.Quotes["USD"].Price)
	}
}

Examples

For more examples, check out the ./v1/example directory and documentation

Contributing

Pull requests are welcome.

Please make sure to add tests when adding new methods.

Development

Test

make test

Release

git tag v0.1.x
make release

License

MIT

About

The unofficial CoinMarketCap API client for Go.

https://github.com/miguelmota/go-coinmarketcap

License:MIT License


Languages

Language:Go 99.5%Language:Makefile 0.5%