Go client for the chess.com Published-Data API (PubAPI). This package depends on the standard library only. It uses
- net/http.Client to send HTTP requests to chess.com
- encoding/json.Unmarshal to deserialize the response
$ go get -u github.com/agoblet/chesscompubapi
c := chesscompubapi.NewClient()
profile, err := c.GetPlayerProfile("hikaru")
- ✅ /club/{url-ID}
- ✅ /club/{url-ID}/matches
- ✅ /club/{url-ID}/members
- ✅ /country/{iso}
- ✅ /country/{iso}/clubs
- ✅ /country/{iso}/players
- ✅ /leaderboards
- ✅ /player/{username}
- ✅ /player/{username}/clubs
- ✅ /player/{username}/games/archives
- ✅ /player/{username}/games/to-move
- ✅ /player/{username}/games/{YYYY}/{MM}
- ✅ /player/{username}/games/{YYYY}/{MM}/pgn
- ✅ /player/{username}/stats
- ✅ /puzzle
- ✅ /puzzle/random
- ✅ /streamers
- ✅ /titled/{title-abbrev}
- ❌ /match/{ID}
- ❌ /match/{ID}/{board}
- ❌ /match/live/{ID}
- ❌ /match/live/{ID}/{board}
- ❌ /player/{username}/games
- ❌ /player/{username}/matches
- ❌ /player/{username}/tournaments
- ❌ /tournament/{url-ID}
- ❌ /tournament/{url-ID}/{round}
- ❌ /tournament/{url-ID}/{round}/{group}
- Go
- make
- golangci-lint
$ make