Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lakhindarpal/tidal-music-api
A simple NPM package for interacting with the Tidal API to retrieve music information such as tracks, artists, albums, videos, playlists, and mixes
https://github.com/lakhindarpal/tidal-music-api
graphql-api music music-library no-api no-api-key no-token node tidal tidal-api tidal-url tidalapi
Last synced: 3 months ago
JSON representation
A simple NPM package for interacting with the Tidal API to retrieve music information such as tracks, artists, albums, videos, playlists, and mixes
- Host: GitHub
- URL: https://github.com/lakhindarpal/tidal-music-api
- Owner: LakhindarPal
- License: mit
- Created: 2024-05-11T09:29:19.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-13T12:05:21.000Z (8 months ago)
- Last Synced: 2024-10-11T13:03:29.984Z (3 months ago)
- Topics: graphql-api, music, music-library, no-api, no-api-key, no-token, node, tidal, tidal-api, tidal-url, tidalapi
- Language: TypeScript
- Homepage: https://github.com/LakhindarPal/tidal-music-api/wiki
- Size: 39.1 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tidal Music API
## Introduction
This npm package provides a simple wrapper for interacting with the Tidal API. It allows you to retrieve information about tracks, artists, albums, videos, playlists, and mixes based on their URLs.
**Best part is you don't need any api key or authentication token.**
## Installation
To install the package, run the following command:
```bash
npm install tidal-music-api
```## Usage
### Getting Started
First, import the `getInfo` function from the package:
```javascript
const { getInfo } = require("tidal-music-api");
```### Retrieving Information
You can use the `getInfo` function to retrieve information based on a Tidal URL:
```javascript
const url = "https://tidal.com/browse/track/12345678";getInfo(url)
.then((info) => {
console.log(info);
})
.catch((error) => {
console.error("Error:", error.message);
});
```The `getInfo` function returns a Promise that resolves to the information based on the URL type (track, artist, album, video, playlist, or mix).
### Supported URL Types
- Track: `https://tidal.com/browse/track/`
- Artist: `https://tidal.com/browse/artist/`
- Album: `https://tidal.com/browse/album/`
- Video: `https://tidal.com/browse/video/`
- Playlist: `https://tidal.com/browse/playlist/`
- Mix: `https://tidal.com/browse/mix/`### Additional Usage
#### Track
You can also use the `getTrackId` and `getTrackInfo` functions to retrieve information about a specific track:
```javascript
const { getTrackId, getTrackInfo } = require("tidal-music-api");const trackId = getTrackId(url);
if (trackId) {
getTrackInfo(trackId)
.then((track) => {
console.log(track);
})
.catch((error) => {
console.error("Error:", error.message);
});
}
```#### Artist, Album, Video, Playlist, Mix
Similarly, you can use the corresponding functions (`getArtistId`, `getArtistInfo`, `getAlbumId`, `getAlbumInfo`, `getVideoId`, `getVideoInfo`, `getPlaylistId`, `getPlaylistInfo`, `getMixId`, `getMixInfo`) for retrieving information about artists, albums, videos, playlists, and mixes.
You can also use `getTrackPreview` and `getVideoPreview` for retrieving preview url of a track or video.## Contributing
Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.
## License
This package is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.