Go library to interact with APIs in all the Starr apps.
- Lidarr (over 80 methods)
- Prowlarr (over 20 methods)
- Radarr (over 100 methods)
- Readarr (over 70 methods)
- Sonarr (over 100 methods)
Custom Scripts support is also included. Check out the types and methods to get that data.
This library is slowly updated as new methods are needed or requested. If you have specific needs this library doesn't currently meet, but should or could, please let us know!
This library is currently in use by:
- Toolbarr (all of it)
- Unpackerr (queue only)
- Notifiarr (a lot of it)
- Checkrr
- telegram-bot (radarr)
- telegram-bot2 (sonarr)
Get it:
go get golift.io/starr
Use it:
import "golift.io/starr"
package main
import (
"fmt"
"golift.io/starr"
"golift.io/starr/lidarr"
)
func main() {
// Get a starr.Config that can plug into any Starr app.
// starr.New(apiKey, appURL string, timeout time.Duration)
c := starr.New("abc1234ahsuyka123jh12", "http://localhost:8686", 0)
// Lets make a lidarr server with the default starr Config.
l := lidarr.New(c)
// In addition to GetSystemStatus, you have things like:
// * l.GetAlbum(albumID int)
// * l.GetQualityDefinition()
// * l.GetQualityProfiles()
// * l.GetRootFolders()
// * l.GetQueue(maxRecords int)
// * l.GetAlbum(albumUUID string)
// * l.GetArtist(artistUUID string)
status, err := l.GetSystemStatus()
if err != nil {
panic(err)
}
fmt.Println(status)
}