The unofficial CoinMarketCap API client for Go.
Supports the CoinMarketCap API Pro Version, V2 and V1 Public API
Contents
Documentation
https://godoc.org/github.com/ksred/go-coinmarketcap
Install
go get -u github.com/ksred/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