# Music Metadata Providers & Aggregators Research Open-source projects that can be queried via API to lookup artist/album/track information. > **For deep analysis**: See [REVERSE_ENGINEERING_PROMPT.md](./REVERSE_ENGINEERING_PROMPT.md) for agent prompts to perform comprehensive architectural analysis of any project. > > **Execution plan**: See [REVERSE_ENGINEERING_PLAN.md](./REVERSE_ENGINEERING_PLAN.md) for the ordered plan covering all 17 projects. > > **Aggregator ERDs**: See [AGGREGATORS_ERD.md](./AGGREGATORS_ERD.md) for entity relationship diagrams of Tier 2 aggregators. > > **Architecture Analysis**: See [AGGREGATORS_ANALYSIS.md](./AGGREGATORS_ANALYSIS.md) for deep critique of aggregator flaws and proposed redesign. > > **Proposed Schema**: See [../PROPOSED_ERD.md](../PROPOSED_ERD.md) for the ground-up ERD design addressing all identified flaws. ## Quick Reference | Project | Type | API | Sources | Stars | |---------|------|-----|---------|-------| | [MusicBrainz](./musicbrainz-server/) | Database | REST | Self | Large | | [AcoustID](./acoustid/) | Fingerprinting | REST | MusicBrainz | - | | [ListenBrainz](./listenbrainz/) | Recommendations | REST | Self | - | | [music-metadata-api](./music-metadata-api/) | Bulk Lookup | REST | Pre-aggregated | New | | [MiniMediaMetadataAPI](./minimediametadataapi/) | Aggregator | REST | 5 providers | 29 | | [Lidarr Metadata](./lidarr-metadata-api/) | Enhanced MB | REST | MusicBrainz | - | | [Harmony](./harmony/) | Aggregator | REST | 10+ providers | 218 | | [GraphBrainz](./graphbrainz/) | Enhanced MB | GraphQL | Extensions | ~400 | | [Bedrock-API](./bedrock-api/) | Streaming | gRPC | 6 providers | - | | [minim](./minim/) | Library | Python | 7 APIs | - | | [MusicMetaLinker](./musicmetalinker/) | Entity Linking | Python | 4 sources | - | | [Meelo](./meelo/) | Server | REST | MB, Genius | 1,095 | | [Melodee](./melodee/) | Server | Multi | 5 sources | 62 | | [Navidrome](./navidrome/) | Server | Subsonic | Last.fm | High | | [gonic](./gonic/) | Server | Subsonic | Last.fm | - | | [LMS](./lms/) | Server | Subsonic | MusicBrainz | 1,569 | | [Accentor](./accentor/) | Server | REST | User-controlled | - | ## Categories ### Tier 1: Dedicated Metadata Services Core services focused on providing metadata: - **[MusicBrainz Server](./musicbrainz-server/)** - The canonical open music encyclopedia - **[AcoustID](./acoustid/)** - Audio fingerprinting → MusicBrainz lookup - **[ListenBrainz](./listenbrainz/)** - Recommendations, popularity, similar artists - **[music-metadata-api](./music-metadata-api/)** - 256M tracks, batch API - **[MiniMediaMetadataAPI](./minimediametadataapi/)** - Multi-provider aggregation - **[Lidarr Metadata API](./lidarr-metadata-api/)** - Enhanced MusicBrainz for Lidarr ### Tier 2: Aggregators (Multi-Source) Projects that combine data from multiple sources: - **[Harmony](./harmony/)** - Intelligent multi-source merge, MusicBrainz seeding - **[GraphBrainz](./graphbrainz/)** - GraphQL interface with extensible schema - **[Bedrock-API](./bedrock-api/)** - gRPC streaming aggregator - **[minim](./minim/)** - Python library for 7 music APIs - **[MusicMetaLinker](./musicmetalinker/)** - Entity linking across databases ### Tier 3: Self-Hosted Servers with Metadata APIs Streaming servers that expose comprehensive metadata: - **[Meelo](./meelo/)** - For collectors, flexible metadata parsing - **[Melodee](./melodee/)** - All-in-one with multiple APIs - **[Navidrome](./navidrome/)** - Popular, lightweight - **[gonic](./gonic/)** - Minimal Go implementation - **[LMS](./lms/)** - C++, comprehensive MusicBrainz support - **[Accentor](./accentor/)** - Metadata-focused, user-controlled ## Recommendations | Use Case | Best Choice | |----------|-------------| | Canonical metadata source | [MusicBrainz](./musicbrainz-server/) | | Multi-source aggregation | [Harmony](./harmony/) or [GraphBrainz](./graphbrainz/) | | High-volume lookups | [music-metadata-api](./music-metadata-api/) | | Lightweight self-hosted | [MiniMediaMetadataAPI](./minimediametadataapi/) | | Audio fingerprint → metadata | [AcoustID](./acoustid/) | | GraphQL API | [GraphBrainz](./graphbrainz/) | | All-in-one streaming + metadata | [Melodee](./melodee/) or [Meelo](./meelo/) | | Python integration | [minim](./minim/) | ## License Summary | License | Projects | |---------|----------| | MIT | music-metadata-api, Melodee, GraphBrainz, Bedrock-API, minim, MusicMetaLinker | | GPL-3.0 | MiniMediaMetadataAPI, Lidarr, Meelo, Navidrome, gonic, LMS | | GPL-2.0 | MusicBrainz, ListenBrainz | | AGPL-3.0 | Accentor |