A simple package to fetch lyrics from Genius API.
This package was originally used only for my personal needs to fetch lyrics from Genius API using my discord bot, but then I decided to make this package open source and let everyone use it.
- TypeScript Support: llyrics is written in TypeScript, providing type safety and ease of use. Thanks to RemyK for Typescript rewrite ❤.
- Support for Different Sources: You can search for lyrics from YouTube, Musixmatch, or Genius by specifying the desired source(s) in the search options.
- Auto Search: If a search fails on the first specified search engine, llyrics automatically retries the search on another available search engine for a better lyrics result.
- Easy to Use: You can quickly search for song lyrics by providing the song title and, optionally, the artist name.
$ npm install llyrics
$ yarn add llyrics
const { find } = require("llyrics");
client.on(Events.InteractionCreate, async (interaction) => {
if (!interaction.isChatInputCommand()) return;
const response = await find({
song: "Bohemian Rhapsody",
engine: "youtube",
forceSearch: true,
});
if (interaction.commandName === "lyrics") {
await interaction.reply({ content: response.lyrics, ephemeral: true });
}
});
client.login("token");
Function parameters
{
song: string, // The title of the song
artist?: string, // Optional: Use this for more accurate lyrics results on the Musixmatch endpoint
geniusApiKey?: string, // Optional: API key for the Genius search engine
engine?: 'musixmatch' | 'genius' | 'youtube', // Specify the desired search engine: 'musixmatch', 'genius', or 'youtube'
forceSearch?: boolean // Optional: If true and the search fails on the first specified search engine, llyrics automatically retries the search on another available search engine
}
Response format
{
artist: string, // Artist's name
title: string, // Song title
id: number, // Musixmatch track ID (only for Musixmatch endpoint)
engine: string, // Search engine used
artworkURL: string, // Artwork URL
lyrics: string, // Song lyrics
status: string, // Response status code
}
Note: the id is only available if the request was made with Musixmatch. This corresponds to the Musixmatch identifier of the song.
The default search engine is YouTube. If you prefer not to use YouTube, you can specify your desired search engine.