Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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.