MetalAPI
My first ever attempt at web scraping and building an API in my last semester of college. Very bad code that hasn't been updated in years and is in need of a rewrite.
Install / Use
/learn @tobocop2/MetalAPIREADME
MetalAPI
A REST API for the Metal Archives(http://www.metal-archives.com/), the largest encyclopedic resource for heavy metal music.
This API allows you to have access to all of the data from the "Encyclopaedia Metallum" including every metal band, their releases, lineups and all metadata. We personally scraped the entire archives, so now all metalhead hackers or data enthusiasts can develop awesome things
Table of Contents
Endpoints
Bands
These endpoints all allow access to the bands in our database that we scraped from the Metal Archives. You can use each route as a different or more convenient method of querying all of our bands depending on your interests.
The base route for all band endpoints is /api/bands/
All
URL: /api/bands/all
Retrieves all band ids, urls, and names from the Metal Archives currently in our database.
ID
URL: /api/bands/id/<band_id>
Retrieves the band whose Metal Archives ID corresponds to band_id.
Name
URL: /api/bands/name/<band_name>
Retrieves all bands whose name contains the string given in the route as band_name.
Country
URL: /api/bands/country/<country>
Retrieves all bands from country.
Status
URL: /api/bands/status/<status>
Retrieves all bands whose current activity status is status.
Lyrical Themes
URL: /api/bands/lyrical_themes/<theme>
Retrieves all bands whose lyrical themes contain the string given in the route as theme.
Formation Year
URL: /api/bands/formation_year/<year>
Retrieves all bands who were formed in year.
Label
URL: /api/bands/label/<current_label>
Retrieves all bands who are currently signed to current_label.
Location
URL: /api/bands/location/<location>
Retrieves all bands from location.
Genre
URL: /api/bands/genre/<genre>
Retrieves all bands have a genre of genre.
Similar To
URL: /api/bands/similarto/<band_name>
Retrieves all bands whose similar artists contain the band, band_name.
This is extremely useful for finding relationships between bands.
Musicians
URL: /api/bands/musicians/<musician_name>
Retrieves all bands that the given musician belongs to.
Releases
These endpoints all allow access to the releases(albums) in our database that we scraped from the Metal Archives. You can use each route as a different or more convenient method of querying all of our releases depending on your interests.
The base route for all release endpoints is /api/releases/
Release ID
URL: /api/releases/id/<release id>
Retrieves all albums/releases corresponding to the Metal Archives ID of release_id.
Band ID
URL: /api/releases/band_id/<band id>
Retrieves all albums/releases released by the band corresponding to band_id.
This goes hand in hand with the band endpoints. We decided to separate them so the bands JSON was less nested.
Release name
URL: /api/releases/name/<release name>
Retrieves all albums/releases whose name contains the string given in the route as release_name.
Lineups
URL: /api/lineups/<band_id>
This allows you to retrieve every distinct lineup for a given band, including live, current and complete lineups(everyone who has ever been in the band). To find out which musicians played on a given release, see the JSON returned from any release endpoint.
Related Skills
node-connect
350.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
