External Integrations (A.K.A. Agents)

Configure Navidrome to get information and images from external services

Navidrome uses external services (through agents) to enrich your music library with artist biographies, images, album covers, similar artists, and more. Multiple agents can be configured, and they are tried in priority order. If one fails or returns no results, the next one is tried.

How Agents Work

The Agents config option controls which agents are enabled and in what order. It accepts a comma-separated list of agent names.

The default is "deezer,lastfm,listenbrainz", meaning Deezer is tried first, then Last.fm, then ListenBrainz. A built-in local agent is always appended automatically as a final fallback.

To disable a specific agent, either remove it from the Agents list or set its individual *.Enabled option to false. To disable all external integrations at once, set EnableExternalServices to false.

Last.fm

Last.fm provides the broadest set of metadata among the built-in agents.

Provides: Artist biographies, artist images, similar artists, top songs, album covers, similar songs

Configuration: Requires API keys. Set the config options LastFM.ApiKey and LastFM.Secret. You can obtain these values by creating a free API account in Last.fm:

  1. Go to https://www.last.fm/api/account/create and create an API account. Only the Application Name field is mandatory:

  1. After submitting the form, you can get the API Key and Shared Secret from the Account Created page:

  1. Copy the values above to your configuration file as LastFM.ApiKey and LastFM.Secret (or set them as environment variables ND_LASTFM_APIKEY and ND_LASTFM_SECRET)
  2. After the configuration is done, you can set up scrobbling for your user.

Last.fm can be completely disabled by setting LastFM.Enabled to false.

Deezer

Deezer’s public API doesn’t require API keys or authentication, making it the simplest external integration.

Provides: Artist images, artist biographies, similar artists, top songs

Configuration: Enabled by default, no setup required. To disable it, set Deezer.Enabled to false in your configuration file or set the environment variable ND_DEEZER_ENABLED to false.

ListenBrainz

ListenBrainz provides metadata based on MusicBrainz data and community listening statistics. It works best when your music files have MusicBrainz IDs in their tags.

Provides: Artist URLs, similar artists, top songs, similar songs

Configuration: Enabled by default, no setup required for metadata. To disable it, set ListenBrainz.Enabled to false.

ListenBrainz also supports scrobbling, which requires per-user authorization.

Local Agent

The local agent is always active and serves as the final fallback. It provides top songs based on your own library’s play counts and ratings. No external service is contacted.

Extending with Plugins

Navidrome’s external metadata capabilities can be extended through plugins. Plugins can provide additional metadata agents for artist and album information and images, lyrics providers, and scrobblers. See the Plugins documentation for more information.