Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/szerookii/distrogo
Unofficial Golang Distrokid API wrapper based on iOS application reversal.
https://github.com/szerookii/distrogo
api api-client api-wrapper distrokid go gol golang-library golang-package wrapper
Last synced: about 2 months ago
JSON representation
Unofficial Golang Distrokid API wrapper based on iOS application reversal.
- Host: GitHub
- URL: https://github.com/szerookii/distrogo
- Owner: szerookii
- License: mit
- Created: 2024-02-25T16:30:17.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-07-29T18:17:08.000Z (5 months ago)
- Last Synced: 2024-10-10T23:25:01.153Z (2 months ago)
- Topics: api, api-client, api-wrapper, distrokid, go, gol, golang-library, golang-package, wrapper
- Language: Go
- Homepage:
- Size: 24.4 KB
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DistroGo
This project is an unofficial API wrapper for DistroKid, developed based on the reversal of the DistroKid iOS application. It aims to provide a programmatic way to interact with some of the functionalities offered by DistroKid. As this is an unofficial tool, please use it responsibly and with consideration of DistroKid's policies and terms of service.
## Current Features
As of now, the wrapper supports the following features:
- **Releases Getters**: Retrieve information about music releases, including title, artist, release date, and more.
- **Tracks Getters**: Fetch details and statistics for individual tracks, such as duration, ISRC, play counts, and other relevant data.
- **Video Getters**: Fetch information about music videos, including title, artist, views, description, thumbnails and more.## Planned Features
The project is in its early stages, and there are plans to expand its capabilities. Future updates may include:
- Editing release and track information.
- Uploading new tracks and releases.
- Managing artist profiles and accounts.## Contributions
Contributions are highly welcome! If you're interested in enhancing this API wrapper, consider contributing in the following areas:
- Expanding the feature set to cover more DistroKid functionalities.
- Improving the existing codebase for better efficiency and reliability.
- Writing documentation and examples to help other developers.## Usage
To use DistroGo, you need to retrieved your DistroKid API bearer token. You can find it by inspecting the DistroKid iOS application's network requests or by using a proxy to intercept the requests made by the app. Once you have your bearer token, you can use it to create a new DistroKid client and start interacting with the API.
```go
package mainimport (
"fmt""github.com/szerookii/distrogo"
)func main() {
distrokid := distrogo.NewDistroKid("your-bearer-token")
releases, err := distrokid.GetReleases()
if err != nil {
panic(err)
}fmt.Printf("Found %d releases\n", len(releases))
}
```Using the videos API doesn't require a token:
```go
package mainimport (
"fmt""github.com/szerookii/distrogo"
)func main() {
videos, err := distrogo.GetVideos([]string{"Rc92Mqy6SWr", "mv-K0ye9T6Xv", "dv-5yW2dTd8N"})if err != nil {
panic(err)
}fmt.Printf("Found %d videos\n", len(videos))
}
```## Disclaimer
This API wrapper is not officially affiliated with, authorized, maintained, sponsored, or endorsed by DistroKid or any of its affiliates or subsidiaries. This is an independent and unofficial API. Use at your own risk.
## License
This project is licensed under the MIT License - see the LICENSE file for details.