External Resources

This page has not been reviewed by our documentation team (more info).

  • This page lists tools external to MusicBrainz and ListenBrainz that make editing or viewing data more convenient. This includes programs, scripts, reports, etc from various sources.

Contents

Other resources

Other online databases

See Other Databases.

MusicBrainz Editing tools

User scripts / GreaseMonkey / User javascripts / UserJS

Userscripts run in a users web browser and make on-the-fly local changes to specific web pages. In MusicBrainz they are generally used to change the display of pages, often facilitating editing.

For instance, a script may add functionalities to a MusicBrainz page, or shorten repetitive actions to only one click, and so on.

Parsers

ParserInfoAuthorLink/s
Bandcamp, Beatport, and Local File ParsersParsers to be run at the command line passing in either a URL (Bandcamp release, or Beatport release), or a directory with a set of files. Require at Perl v5.10 or newer, and a differing set of Perl Modules based off the particular service. Local file parsers are format specific.VxJasonxVgithub
music-metadataJavaScript NPM module, to parse audio tracks in Node.Borewitnpmjs.com
music-metadata-browserJavaScript NPM module, to parse audio tracks in the browser. These metadata parser extract virtual any type of metadata from any type of audio track, including MusicBrainz Identifiers or other metadata tags supported by MusicBrainz Picard.Borewitnpmjs.com
vgmdb2mb.pyPython script to import VGMDB to MusicBrainz.fxthomasgithub gist

External sites

WebsiteTypeInfoAuthorLink/s
HarmonyImporterImports releases from a Deezer/Spotify/iTunes/Bandcamp/Beatport/Tidal album url, open-sourcekellnerdwebsite
yambsImporterImports all entity types from CSV/TSV/text files, releases from Bandcamp/Qobuz/Tidal, and artists from Metal Archives. The command-line version can also extract data from local MP3 files and podcast RSS feeds.deratwebsite
a-tisketImporterImports releases from a Deezer/Spotify/iTunes album url, packaging useful tools into the process, such as ISRC and cover art additionmarlonobwebsite
MET - Metadata Lookup EngineImporterLookup release metadata from various online streaming services and music stores, seed found releases to MusicBrainz.SuperSaltyGamer?website
Podcast XML to MusicBrainzImporterImport podcast episodes into MusicBrainz, from an xml file.YoGo9github
MbEventSImporterMbEventS (MusicBrainz Event Seeder) is a c# library utilizing the command line version of yambs to create seeds for the MB data base.Relaxocodeberg
mbzlistsPlaylistsA login-free annotated playlist manager based on MBIDs.unnu and lepismawebsite
AlbunackVariousDisplays artist discographies combining MusicBrainz and Discogs entries. Provides shortcuts for linking MB entities to Discogs and importing Discogs releases. Provides custom reports.Paul Taylorwebsite
COVAlbum artCOV (Cover Search Engine) searches multiple sources for cover art, with options for region and minimum resolution.SuperSaltyGamer?website
eac-log-lookupDiscIDGenerate and submit DiscID’s from EAC/XLD log.website
cdtocDiscIDCUETools CDTOC to MusicBrainz Full TOC converter.ToadKingwebsite
Image Max URLAlbum artFinds biggest available image from a image URL (functionality is also included in the Enhanced Cover Art Uploads userscript).website/github
ISRCHuntISRCChecks if ISRC’s from a Spotify Playlist exist in MB, supplies a Harmony and a-tisket link.oblomovxwebsite
SAMBLSpotifySAMBL (Streaming Artist MusicBrainz Lookup) Loads artist albums from Spotify, Deezer, Tidal, and Bandcamp, showing which releases are linked in MusicBrainz, identifying specific missing data. Provides A-tisket / Harmony links.Lioncat6website/github
Top 500 MusicBrainz EditorsA list of the top 500 MusicBrainz editors, and ranking changes.YoGo9website
Xythium’s TIDALTIDALQuick and compact search for Tidal releases, compact display of artwork/barcodes/ISRC’s etc.Xythiumwebsite

Bookmarklets

Compressed code snippets/actions that can be added to your browser, as a bookmark (more info).

NameInfoAuthorLink/s
Add to merge queueAdd currently viewed entity to merge queue.chabangithub
Annotation ConverterAllows entity annotations to be (partly) written in basic Markdown and converts them into valid annotation markup. Shortens absolute URLs to MusicBrainz entities to [entity-type:mbid|label] links. Automatically fetches and uses the name of the linked entity as label if none was given. Also supports collection descriptions and user profile biographies.kellnerdgithub
Approve all editsApprove all edits on current page (requires the power vote script).chabangithub
Batch Add Parts Of SeriesBatch-adds release groups as parts of the currently edited series. Automatically extracts numbers from titles and uses them as relationship attributes.kellnerdgithub
Change All Release DatesChanges the date for all release events of a release according to the user’s input. Useful to correct the dates for digital media releases with lots of release events which are using the wrong first release date of the release group.kellnerdgithub
Clear Redundant Medium TitlesClears medium titles if they are redundant and contain only the medium format and position. Adds a link to the relevant guideline to the edit note.kellnerdgithub
Convert to pseudo-releaseFrom the release editor, sets release type to pseudo-release, removes format, barcode, format, track lengths, etc, and moves to the submit tab.chabangithub
Convert URLs with “album/” or “release/” to Harmony linksConverts URLs with “album/” or “release/” to Harmony links (for example, to import releases from the Spotify Release List).chabangithub
Convert URLs with “/album” to ISRC Hunt linksConverts URLs with “/album” to ISRC Hunt links.chabangithub
Detect Cover Art TypesDetects and fills the image types and comment of all pending uploads using their filenames. Treats filename parts in parentheses as image comments.kellnerdgithub
Edit Join PhrasesPrompts for a regular expression to search for in each track join phrases and then for a replacement pattern.deratcodeberg/forums
Enumerate Track TitlesRenames all tracks using their absolute track number and a customizable prefix (which can be empty). Useful to number the parts of an audiobook without chapters and other releases with untitled tracks. Asks the user to input a numbering prefix which can optionally be preceded by flags.kellnerdgithub
Enumerate Cover Art CommentsPrompts for a starting number and an optional text prefix. Fills the comment field for each ready-to-upload cover art image with the prefix and a sequential number (e.g., “CD41”, “CD42”, etc.).InvisibleMan78forums
Expand Collapsed MediumsExpands all collapsed mediums in the release editor, useful for large releases.kellnerdgithub
Guess Series RelationshipGuesses the series name from the name of the currently edited entity and adds a relationship. Tries to extract the series number from the entity name to use it as relationship attribute. Currently limited to release groups, both via their edit pages and via the release relationship editor.kellnerdgithub
Load Release With Magic ISRCOpens kepstin’s MagicISRC and loads the currently visited MusicBrainz release.kellnerdgithub
Lookup URL in MusicBrainzSearch MusicBrainz URL relationships for the current page URL, for instance to check if a relationship already exists for a Spotify album page.chabangithub
Lookup With HarmonyOpens Harmony and performs a release lookup for the currently visited URL.kellnerdgithub
Mark Release As WorldwideRemoves all release events except for the first one and changes its country to [Worldwide]. Allows to replace an exhaustive list of release countries/events with a single release event.kellnerdgithub
Multi-toolPerforms different actions depending on the page that you are on: Go to next release editor tab (from release editor), apply guess case, submit edit, confirm seeding form and OAuth, reload on error, update release from Harmony or seed it (from release page), go to ISRC submitter.chabangithub
Open current page in METOpen the current page/URL in MET (MusicBrainz Metadata Seeder).chabangithub
Open Harmony Release ActionsOpens Harmony’s Release Actions page for the currently visited MusicBrainz release.kellnerdgithub
Open in HarmonyLoads the current MusicBrainz release page into Harmony.chabangithub
Open in Harmony (new tab)Loads the current MusicBrainz release page into Harmony, in a new tab.chabangithub
Open Spotify/Deezer page in ISRC Hunt (new tab)Open the current Spotify or Deezer page in ISRC Hunt, in a new tab.chabangithub
Open YouTube page in MW MetadataOpen the current YouTube video/page in MW Metadata (displays various YouTube video details, metadata, statistics, etc).chabangithub
Relate This Entity To Multiple MBIDRelates the currently edited entity to multiple entities given by their MBIDs. Uses the selected relationship type of the currently active relationship dialog.kellnerdgithub
Rename TracksPrompts for a regular expression to search for in each track title and then for a replacement pattern.deratcodeberg/forums
YouTube archive searchSearch for the current YouTube video/page in archives (checks if the video is in various archive sites).chabangithub
Search for recordings of current release or release groupRuns a search for recordings of the current release (from a MusicBrainz release or release group page)chabangithub
Search for releases of current artistRuns a search for releases of the current artist (from a MusicBrainz artist page)chabangithub
Set Cover Art TypesSets cover art types for ready-to-upload images in bulk.InvisibleMan78forums
Set LanguageSets the language of the current release to whatever you want.Dr.BlankGithub
Submit edit votableSubmit the current edit, with the “Make all edits votable” box checked.chabangithub
Show Deezer API dataShow API data when on a Deezer album page.chabangithub
Show Qobuz API dataShow API data when on a Qobuz album page.chabangithub
Show Qobuz Release AvailabilityShows all countries in which the currently visited Qobuz release is available.kellnerdgithub
Toggle relationships for removalToggles all release relationships to be removed when in the editor.chabangithub
Toggle links for removalToggles all links, for instance on an artist page, for removal when in the editor.chabangithub
View Discogs Entity Via APIViews the API response for the currently visited Discogs entity (in a new tab).kellnerdgithub
Wikipedia link checkRuns on Wikipedia category pages, and displays which artists are/are not linked to MusicBrainz via Wikidata.yomo12forums

MusicBrainz ISRC submission

MusicBrainz external APIs

See MusicBrainz API libraries.

MusicBrainz miscellaneous tools

TitleTypeInfoAuthorLink/s
chapterz.nuPrint out M4B file or Audible ASIN chapters in the MusicBrainz tracklist format.jwillikersgithub
CueshitCuesheetsConvert between different cue sheet/chapter/tracklist formats (including MusicBrainz tracklists).kellnerdgithub
enum listsExtracted MusicBrainz enums/IDs that are useful for seeding.deratforums
Goldmaster Hugo ThemeHugoA Hugo theme with support for a filterable music/release showcase, using data pulled from Musicbrainz.Goldmastergitlab
Harmony AssistantHarmonyImport albums by leveraging Harmony’s web interface and Selenium for browser automation.github
hearring-aidLidarrScripts for deploying and self-hosting a MusicBrainz instance in conjunction with Lidarr’s metadata API.blampegithub
lyriksGenieA command line tool that fetches lyrics from Genie, based on MusicBrainz tags/relationships.Maxr1998github
mb_MusicBrainzSyncMusicBeeA MusicBee plugin to sync your tags/ratings to your account on MusicBrainz.FlakyBlueJaygithub
mbstatsCommand-line tools for generating statistics about the MusicBrainz online music database.deratcodeberg
MusicBrainz2NotionNotionA tool for syncing artist and music data from MusicBrainz to Notion databases.Kajiihgithub
musicbrainz-video-tracklistVideoTools and a script to generate a tracklist of video recordings for MusicBrainz from the chapters of a video file.arifer612github
MusicBrainz GenresbeetsThis plugin fetches community voted genres from MusicBrainz and applies them to the albums and items in your beets library.lazybookwyrmgithub/forums
MusicBrainz HelperbeetsThis beets plugin generates an HTML report of your beets library that can be helpful for MusicBrainz editing, using AcoustID/fingerprints.lazybookwyrmgithub/forums
MusicBrainz-rss-generatorRSSGenerates an RSS feed for new releases by selected artists.provokateuringithub
MusicBrainz RustRustMusicBrainz rust is a utility crate for the the MusicBrainz API. musicbrainz_rs_nova by RustyNova is the current maintained fork.github
MusicSearchAn Android app for browsing songs, artists, and anything related to them using MusicBrainz’s API.David Ly Appsgithub
outsidecontext’s ProjectsVariousgit repositories/code for various MB and LB projects.outsidecontextsourcehut
PlexRatingToMBPlexExport ratings from your Plex server library into a CSV file and/or directly to MusicBrainz.defvsgithub
qobuz_identifierQobuzA small command-line tool that takes a qobuz ID and matches it to MusicBrainz releases by barcode.Sciencentistguygithub
ReleaseFeedBandcamp/SpotifyGenerates Atom (RSS) feeds for new releases by specified artists on Bandcamp and/or Spotify.elomatrebwebsite/codeberg
SonEx MusicBrainz ClientElixirA lightweight, Elixir client for the MusicBrainz API v2.fullstack-inggithub
Songs SearchA site to instantly search 32M songs from the MusicBrainz songs database, using Typesense Search.jasonboscowebsite/github
spotify-library-to-musicbrainzSpotifyA CLI tool to map albums/EPs/singles from your Spotify library to their respective Musicbrainz IDs.provokateurincodeberg
MusicBrainz serverSet up your own MusicBrainz server, using Docker or the source code.wiki

ListenBrainz listen submission

Submission sites that are ‘early days’ or untested

WebsiteTypeInfoAuthorLink/s
am-osx-statusmacOSHorribly unstable macOS Apple Music state observer and recorder.github
BeetbrainzbeetsSubmits listens from Emby, Jellyfin, Plex, Tautulli, MPRIS-compatible Linux media players or MPD servers to ListenBrainz. Integrates with beets to ensure accuracy of scrobble metadata.Gerald B Coxwiki/codeberg
BeetpostGenerates webhooks from local media players. It was specifically designed with the Beetbrainz application in mind, allowing you to send beetbrainz enhanced scrobbles to Listenbrainz.Gerald B Coxwiki/codeberg
Listening PostmacOSA macOS app that identifies music playing around you, constantly. Supports submitting listens to ListenBrainz.website
osx-scrobblerA lightweight macOS menu bar application that scrobbles your music to Last.fm and ListenBrainz.github
YTMusic2listenbrainzYouTubePython script to submit your YouTube Music watch history to Listenbrainz.fuddlgithub gist

ListenBrainz tools

External sites

WebsiteTypeInfoAuthorLink/s
ListenBrainz Playlist ToolSelect recent listens from a ListenBrainz account and add them to a playlist.YoGo9website/github
semaninha.Generates user listen ‘album art grids’ using ListenBrainz data.website
TuneMyMusicExport your ListenBrainz “Weekly Exploration” playlist to any music service, using TuneMyMusic.Drizzle3122forums (tutorial)
Unmapped Spotify ListensSpotifyFetches unmapped listens from ListenBrainz that were submitted via Spotify and provides MusicBrainz search and Harmony submit links for the release.YoGo9website/github
VinylScrobblerScrobble vinyl, based on your collection, with a click on the A or B side (WIP).aereauxwebsite/codeberg

Miscellaneous

TitleTypeInfoAuthorLink/s
AlistralA collection of CLI based tools for Listenbrainz.RustyNovagithub
elbisaurDeno command line app to access the ListenBrainz API. ListenBrainz submission and other tools, e.g. listen deletion.kellnerdwiki/github
lastfm-listenbrainz-syncLast.fmScripts to sync Last.fm scrobbles to ListenBrainz, allowing for local cleanup and backup of listen history.mwiencekgithub
lb-lidarr-plexPlex/LidarrBridging artist discovery and playlist curation between ListenBrainz, Lidarr, and Plex.DeviantEnggithub
ListenBrainz cmus submittercmusLogs offline listens in cmus (a console music player for Linux-like systems) to a TSV file.rnknforums
listenbrainz-discord-presenceDiscourseDisplay a Listenbrainz user’s now playing song as a rich presence status in Disord.qouesmgithub
ListenBrainz Ruby wrapperRubyA Ruby wrapper to the ListenBrainz API.Richard Degennegitlab
ListenBrainz_File_ParserParses database files from different music listen tracker applications, and imports them into ListenBrainz.Coloradohuskygithub
listenbrainz-normalizerMakes a list of your top artists based on actual time played.rustynailgitlab
Listenbrainz-Playlist-SyncPlexA Python project that imports the ‘Weekly Jams’ playlist from ListenBrainz into Plex.Mjsciarabbagithub
listenbrainz-rsRustListenBrainz API bindings for Rust.InputUsernamegithub
Listenbrainz Playlist UploaderPlaylistsRust tool to upload M3U playlists to Listenbrainz.Serene-Arcgithub
listenarrLidarrA script to add your most played artists from ListenBrainz to your Lidarr.Guillaumegitlab
ListenBrainzKitSwiftSwift wrapper for the ListenBrainz API.samgltgithub
Navidrome_love_to_ListenBrainzNavidromePython script to synchronize your play history (scrobbles) from Navidrome to your ListenBrainz profile.TheMemomangithub
Navidrome_scrobbles_to_ListenBrainzNavidromePython script to synchronize your loved songs from Navidrome to your ListenBrainz profile.TheMemomangithub
Navidrome ListenBrainz Daily Playlist ImporterNavidromeA Navidrome plugin to fetch daily/weekly playlists from ListenBrainz.kgarner7github
outsidecontext’s Projectsgit repositories/code for various MB and LB projects.outsidecontextsourcehut
ratingrelayPlexRelay ratings from Plex to ListenBrainz or Last.fm based on a defined Plex rating threshold.hnolancodeberg
re-commandNavidromeIntegrates ListenBrainz recommendations into Navidrome, including auto-downloading and tagging.Snapyou2github
ScottyTransfers your listens/scrobbles and favorite tracks between various music listen tracking [e.g. ListenBrainz] and streaming services.outsidecontextsourcehut
SonobarrLidarrMusic discovery for Lidarr power users, blending Last.fm insights, ListenBrainz playlists, and a modern web UI.github
Spotify to ListenBrainz History ImportSpotifyA small script that can import your old Spotify history to ListenBrainz.Stefan Gehrgitlab
Submit TSV from Rockbox lastfm_scrobblerRockboxTakes a TSV file as generated by the Rockbox lastfm_scrobbler as its only argument, and submits the listening data to ListenBrainz.rnknforums/gotweb
Troi Recommendation PlaygroundSubsonicThe Troi Playlisting Engine combines all of ListenBrainz’ playlist efforts: Playlist generation APIs, Local content database (resolve playlists to local files or via a Subsonic API, e.g. Navidrome, Funkwhale, Gonic), Playlist exchange (WIP)github

Widgets

WebsiteTypeInfoAuthorLink/s
Now-PlayingThe “official” now-playing ListenBrainz iframe widget.monkeygithub
Now-PlayingA minimal/simple HTML and Javascript now-playing ListenBrainz widget.jasoncrevierblog
Now-PlayingHugoA ready-to use module for Hugo, providing a layout and shortcode for adding a “Now Listening” ListenBrainz widget.Alex Palaistrasgit
Pinned trackThe “official” last pinned track ListenBrainz iframe widget.monkeygithub

AcousticBrainz tools

Miscellaneous

WebsiteTypeInfoAuthorLink/s
acousticbrainz-generatorAcousticBrainz feature extraction using Essentia.ahmedGitea
EssentiaWindows Essentia binaries with Gaia and Tensorflow support.regorxxxessentia github/download github

Old/defunct

This page is transcluded from External Resources.

DonateWikiForumsChatBug trackerBlogMastodonBlueskyUse beta site

Brought to you by MetaBrainz Foundation and our sponsors and supporters.

Developer Resources

See also Development.

Client libraries

libcoverart

Our C/C++ development library geared towards developers who wish to add cover art capabilities to their applications.

See also official alternatives and third-party alternatives.

libmusicbrainz

Our C/C++ development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.

See also third-party alternatives.

libdiscid

Our C library for creating MusicBrainz disc IDs from audio CDs.

See also language bindings and third party alternatives.

Bots

A full list of users with the bot flag can be found on http://musicbrainz.org/privileged

Developer documentation

MusicBrainz web API

The REST-based webservice API for direct access to MusicBrainz data with output in XML and JSON (Please review the libraries above before writing your own implementation).

See also: MusicBrainz API/Examples

Search requests and Indexed Search Syntax

XML RelaxNG schema

Release Editor Seeding: Providing programmatic information to the release editor (from another site or an application), the closest we have to an edit API as yet

(internal) JS autocomplete API

Server setup

The MusicBrainz Server is not available as an executable application. Setting up the server will require you to checkout the source code and follow the INSTALL file’s instructions.

The MusicBrainz Database contains all the metadata information available on musicbrainz.org and it’s free for anyone to download and make use of it (and we encourage this!). Setting it up will require access to a PostgreSQL database. See instructions from server setup or use third-party [1].

Server environment variables that may prove useful

Search Server Setup and Search Indexer Setup if you’re brave enough to want to try.

Embedded metadata

Picard Tag Mapping: The documentation for how Picard maps concepts to tags; useful if you want to use these tags elsewhere, or if you’d like to follow the same standard.

See also: ID3v2.4.0

Disc IDs and Tagging

MusicBrainz Identifier

Picard Development

Plugin API Documentation

Picard Tag Mapping

Building on Windows

Building on macOS

Communicating with other developers

IRC: Here’s where you ask questions of real live people, if anyone’s awake. You love it, you know it.

Forum: And here’s where you ask if we aren’t awake, or for anything style-related or needing more consideration than can be easily given in IRC.

MusicBrainz Summits: These happen occasionally, and people get together and talk about MusicBrainz. You should consider coming! Even if not, the discussions had here are sometimes important, and might be worth perusing.

The Musicbrainz bug tracker

This page is transcluded from revision #77143 of Developer Resources.

DonateWikiForumsChatBug trackerBlogMastodonBlueskyUse beta site

Brought to you by MetaBrainz Foundation and our sponsors and supporters.