Skip to main content

Python library for heavy metal song lyrics, albums, song titles and other info.

Project description


metalparser is a Python API for obtaining song lyrics from diverse lyrics websites. At the moment there is only one supported website, which is DarkLyrics, an online database of lyrics for heavy metal music.


This library scrapes the corresponding website for the lyrics and returns results according to the used API. Kindly read the disclaimer to ensure that your use complies with it.


metalparser is distributed as a Python package, freely available on PyPI and can easily be installed via pip. Given that you are using python >= 3.5:

pip install metalparser

Alternatively, it can be manually installed by cloning this project on your local computer:

git clone
cd metal-parser
pip install .


The library comes (at the moment) with 6 APIs:

  • get_artists_list()
  • get_albums_info()
  • get_songs_info()
  • get_album_info_and_lyrics()
  • get_albums_info_and_lyrics_by_artist()
  • get_song_info_and_lyrics()

More complete docs regarding this project can be found on readthedocs.

Some examples

I recommend not to change the default settings regarding requests rate per minute and the wait time (3 secs) after each request. DarkLyrics does not have a robots.txt, so they don't really like scraping. Be gentle! :)

from metalparser.darklyrics import DarkLyricsApi

api = DarkLyricsApi()

Retrieve the lyrics given a song and the corresponding artist:

song = 'under grey skies'
artist = 'kamelot'
lyrics = api.get_song_info_and_lyrics(song=song, artist=artist, lyrics_only=True)


Get all the songs of a specific album:

artist = 'pantera'
album = 'vulgar display of power'
songs_list = api.get_songs_info(artist, album=album, title_only=True)


Get all the albums of a specific artist:

artist = 'iron maiden'
albums_list = api.get_albums_info(artist=artist, title_only=True)



Currently the following python versions are supported:

  • 3.4.*
  • 3.5.*
  • 3.6.*
  • 3.7.*
  • 3.8.*

Thanks to

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for metalparser, version 0.6.9b1
Filename, size File type Python version Upload date Hashes
Filename, size metalparser-0.6.9b1-py3-none-any.whl (13.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size metalparser-0.6.9b1.tar.gz (13.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page