How It Works

LyricsGenius interfaces with in two different ways: the authenticated developer API and the unauthenticated public API.

Developer API

The developer API is available through, and provides access to song, artist, and annotation search amongst other data sources. The endpoints within the developer API require a (free) access token. The developer API is accessed through the API class.

Public API

The public API can be accessed without authentication and is essentially the same service end-users access through the browser. The public API can be called at These public API methods are available through the PublicAPI class.

Genius Class

The Genius class is a high-level interface for the content on, inheriting from both the API and PublicAPI classes. The Genius class provides methods from the two API classes mentioned above as well as useful methods like Genius.search_song() for accessing song lyrics and more.


Genius has legal agreements with music publishers and considers the lyrics on their website to be a legal property of Genius, and won’t allow you to re-use their lyrics without explicit licensing. They even sued Google on grounds of stolen lyrics, asking for $50 million in damages, but to no avail. So it shouldn’t come as a surprise if they don’t provide lyrics in calls to the API. So how does LyricsGenius get the lyrics?

LyricsGenius uses a web-scraping library called Beautiful Soup to scrape lyrics from the song’s page on Genius. Scraping the lyrics in this way violates Genius’ terms of service. If you intend to use the lyrics for personal purposes, that shouldn’t be cause for trouble, but other than that, you should inquire what happens when you violate the terms this way. As a reminder, LyricsGenius is not responsible for your usage of the library.