Streaming Artist MusicBrainz Lookup
| Provider | ISRC Lookup | UPC Lookup | Entity Lookup | Artist Search | Album Matching |
|---|---|---|---|---|---|
| MusicBrainz | ✅ | ✅ | ✅ | ❌ | N/A |
| Spotify | ✅ | ✅ | ✅ | ✅ | ✅ |
| Deezer | ✅ | ✅ | ✅ | ✅ | ✅ |
| Tidal | ✅ | ✅ | ✅ | ✅ | ✅ |
| Bandcamp | ✅ | ✅ | ✅ | ||
| MusixMatch | ✅ | ❌ | ❌ | ❌ | ❌ |
| SoundCloud | ❌️ | ❌️ | ✅️ | ✅️ | ✅️ |
https://community.metabrainz.org/t/sambl-spotify-artist-musicbrainz-lookup/716550
.env
REACT_APP_VERSION=$npm_package_version
REACT_APP_NAME=$npm_package_name
SPOTIFY_CLIENT_ID=<Spotify Client ID>
SPOTIFY_CLIENT_SECRET=<Spotify Client Secret>
SPOTIFY_REDIRECT_URI=<Spotify Redirect URI>
CONTACT_INFO=<Contact email>
MUSIXMATCH_API_KEY=<MusixMatch Api Key or browser cookie [Optional]>
MUSIXMATCH_ALTERNATE=<Bool 1 or 0>
NEXT_PUBLIC_MASTODON_URL=<Mastodon URL [Optional]>
TIDAL_CLIENT_ID=<Tidal Client ID>
TIDAL_CLIENT_SECRET=<Tidal Client Secret>
- The Spotify Redirect URI does not need to be a valid URL, but must match your Spotify developer application
- The contact email is for MusicBrainz's api requirements
- MUSIXMATCH_ALTERNATE allows you to use browser cookies for an alternate authentication method
| Provider | Namespace |
|---|---|
| Musicbrainz | musicbainz |
| Spotify | spotify |
| Deezer | deezer |
| Tidal | tidal |
| MusixMatch | musixmatch |
These API endpoints were created with public use in mind and will be fully supported for the foreseeable future.
The API root is /api/ (Ex: https://sambl.lioncat6.com/api/find)
query(string) [Required]type(UPCorISRC) [Required]- Looks up tracks or albums by barcode (UPC) or ISRC across Spotify, MusicBrainz, Deezer, and MusixMatch (ISRC only).
provider_id(Provider Identification Number) [Required]provider(Provider namespace) [Required]mbid(MusicBrainz artist ID)- Only necessary if you want to check if the associated albums are linked to that artist.
quick(boolean)- Uses URL matching to check for Spotify album links in MusicBrainz. This returns faster, but contains less information, removing the orange album status.
full(boolean)- Adds inc parameters to the MusicBrainz query. (Does not affect quick mode)
spotifyId(Spotify album ID or URL) [Required]mbid(MusicBrainz artist ID) [Required]
These API endpoints were created for internal use but are publicly accessible for the time being. Note that these may change unexpectedly and without warning.
/getArtistAlbumsprovider_id(Provider Identification Number) [Required]provider(Provider namespace) [Required]offset(integer | string)- Used as the page identifier for tidal lookups
- Ignored for Deezer lookups
limit(integer)- Ignored for Deezer lookups
/getArtistInfoprovider_id(Provider Identification Number) [Required]provider(Provider namespace) [Required]
/getMusicBrainzAlbumsmbid(MusicBrainz artist ID) [Required]offset(integer)limit(integer)
/getMusicBrainzFeaturedAlbumsmbid(MusicBrainz artist ID) [Required]offset(integer)limit(integer)
/lookupArtistprovider_id(Provider Identification Number) [Required]provider(Provider namespace) [Required]- Only spotify is currently supported here
/searchArtistsprovider_id(Provider Identification Number) [Required]provider(Provider namespace) [Required]query(string) [Required]
/getArtistReleaseCountmbid(MusicBrainz artist ID) [Required]featured(boolean)
/ping- Health check endpoint, returns
{ message: "Pong" }
- Health check endpoint, returns
See each endpoint's source in /pages/api/ for