Dart YouTube Music API
This package allows you to interact with YouTube Music data in Dart. You can search for songs, albums, artists, and playlists, retrieve detailed information, and get suggestions.
Note: This package is ported from ts-npm-ytmusic-api. Credits to the original author.
Getting Started
Installation
You can install the package in your Dart project using the following methods:
1. Using flutter pub
(for Flutter projects)
flutter pub add dart_ytmusic_api
2. Using dart pub
(for general Dart projects)
dart pub add dart_ytmusic_api
3. Modifying pubspec.yaml
Add the following line to your pubspec.yaml
file under the dependencies
section:
dependencies:
dart_ytmusic_api: ^1.0.8
Then, run flutter pub get
(for Flutter projects) or dart pub get
(for general Dart projects) to install the package.
Usage
Here's a basic example of how to use the YouTube Music API in Dart:
import 'package:dart_ytmusic_api/yt_music.dart';
void main() async {
// Create an instance of the YouTube Music API
final ytmusic = YTMusic();
// Initialize the API
await ytmusic.initialize();
// There's how you can use a method
final albumResults = await ytmusic.searchAlbums('query');
}
API Methods
The following methods are available in the YTMusic
class:
Initialization
initialize(cookies: String, gl: String, hl: String)
: Initializes the API with the provided cookies, geolocation, and language.
Search
getSearchSuggestions(query: String)
: Retrieves search suggestions for a given query.search(query: String)
: Performs a general search for music with the given query.searchSongs(query: String)
: Performs a search specifically for songs.searchVideos(query: String)
: Performs a search specifically for videos.searchArtists(query: String)
: Performs a search specifically for artists.searchAlbums(query: String)
: Performs a search specifically for albums.searchPlaylists(query: String)
: Performs a search specifically for playlists.
Retrieve Details
getSong(videoId: String)
: Retrieves detailed information about a song given its video ID.getVideo(videoId: String)
: Retrieves detailed information about a video given its video ID.getLyrics(videoId: String)
: Retrieves the lyrics of a song given its video ID.getArtist(artistId: String)
: Retrieves detailed information about an artist given its artist ID.getAlbum(albumId: String)
: Retrieves detailed information about an album given its album ID.getPlaylist(playlistId: String)
: Retrieves detailed information about a playlist given its playlist ID.
Artist Methods
getArtistSongs(artistId: String)
: Retrieves a list of songs by a specific artist.getArtistAlbums(artistId: String)
: Retrieves a list of albums by a specific artist.getArtistSingles(artistId: String)
: Retrieves a list of singles by a specific artist.
Playlist Methods
getPlaylistVideos(playlistId: String)
: Retrieves a list of videos from a playlist given its playlist ID.
Home Section
getHomeSections()
: Retrieves the home sections of the music platform.
Known Issues
getPlaylistVideos
is not working as expected. The method currently returns an "Invalid request" error. This issue is under investigation.
Contributing
Contributions are welcome! Please feel free to open issues, submit pull requests, or reach out if you have any questions.
License
This project is licensed under the GNU General Public License version 3. See the LICENSE file for details.