https://github.com/p-mng/lastfm-go
A Go wrapper for the last.fm REST API (version 2.0).
https://github.com/p-mng/lastfm-go
api api-wrapper go golang lastfm lastfm-api scrobble
Last synced: 20 days ago
JSON representation
A Go wrapper for the last.fm REST API (version 2.0).
- Host: GitHub
- URL: https://github.com/p-mng/lastfm-go
- Owner: p-mng
- License: mit
- Created: 2025-10-25T17:46:56.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-12-25T11:51:26.000Z (6 months ago)
- Last Synced: 2025-12-29T12:57:24.593Z (6 months ago)
- Topics: api, api-wrapper, go, golang, lastfm, lastfm-api, scrobble
- Language: Go
- Homepage: https://www.last.fm/api
- Size: 29.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lastfm-go
[](https://pkg.go.dev/github.com/p-mng/lastfm-go) [](https://goreportcard.com/report/github.com/p-mng/lastfm-go)
A Go wrapper for the last.fm REST API (2.0) and modern alternative to [shkh/lastfm-go](https://github.com/shkh/lastfm-go).
## Installation
```shell
go get -u github.com/p-mng/lastfm-go
```
## Usage
Please refer to the documentation and examples for common use cases (e.g., authentication, scrobbling, and integration with other libraries).
## Supported API endpoints
The library supports all API endpoints.
### `album`
- [x] `album.addTags`
- [x] `album.getInfo`
- [x] `album.getTags`
- [x] `album.getTopTags`
- [x] `album.removeTag`
- [x] `album.search`
### `artist`
- [x] `artist.addTags`
- [x] `artist.getCorrection`
- [x] `artist.getInfo`
- [x] `artist.getSimilar`
- [x] `artist.getTags`
- [x] `artist.getTopAlbums`
- [x] `artist.getTopTags`
- [x] `artist.getTopTracks`
- [x] `artist.removeTag`
- [x] `artist.search`
### `auth`
- [x] `auth.getMobileSession`
- [x] `auth.getSession`
- [x] `auth.getToken`
### `chart`
- [x] `chart.getTopArtists`
- [x] `chart.getTopTags`
- [x] `chart.getTopTracks`
### `geo`
- [x] `geo.getTopArtists`
- [x] `geo.getTopTracks`
### `library`
- [x] `library.getArtists`
### `tag`
- [x] `tag.getInfo`
- [x] `tag.getSimilar`
- [x] `tag.getTopAlbums`
- [x] `tag.getTopArtists`
- [x] `tag.getTopTags`
- [x] `tag.getTopTracks`
- [x] `tag.getWeeklyChartList`
### `track`
- [x] `track.addTags`
- [x] `track.getCorrection`
- [x] `track.getInfo`
- [x] `track.getSimilar`
- [x] `track.getTags`
- [x] `track.getTopTags`
- [x] `track.love`
- [x] `track.removeTag`
- [x] `track.scrobble`
- [x] `track.search`
- [x] `track.unlove`
- [x] `track.updateNowPlaying`
### `user`
- [x] `user.getFriends`
- [x] `user.getInfo`
- [x] `user.getLovedTracks`
- [x] `user.getPersonalTags`
- [x] `user.getRecentTracks`
- [x] `user.getTopAlbums`
- [x] `user.getTopArtists`
- [x] `user.getTopTags`
- [x] `user.getTopTracks`
- [x] `user.getWeeklyAlbumChart`
- [x] `user.getWeeklyArtistChart`
- [x] `user.getWeeklyChartList`
- [x] `user.getWeeklyTrackChart`
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
## License
[MIT](https://choosealicense.com/licenses/mit/)