---
title: Listenbrainz
description: Listenbrainz (Source)
toc_min_heading_level: 2
toc_max_heading_level: 5
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import CodeBlock from '@theme/CodeBlock';
import ListenbrainzConfig from '!!raw-loader!@site/../config/listenbrainz.json.example';

This Source monitors a Listenbrainz account's scrobble history and then re-scrobbles discovered tracks to configured clients.

:::tip[Other Uses]

* To **scrobble to** a Listenbrainz server, create a [Listenbrainz (Client)](/configuration/clients/listenbrainz)
* To accept scrobbles from outside applications as if multi-scrobbler was a Listenbrainz server, create a [Listenbrainz (Endpoint)](/configuration/sources/listenbrainz-endpoint)

:::

You will need to run your own Listenbrainz server or have an account [on the official instance](https://listenbrainz.org/login/).

On your [profile page](https://listenbrainz.org/profile/) find your **User Token** to use in the configuration.

## Configuration

<Config config="ListenBrainzSourceConfig" fileContent={ListenbrainzConfig} name="listenbrainz">
        | Environmental Variable | Required? | Default                       | Description                     |
        | ---------------------- | --------- | ----------------------------- | ------------------------------- |
        | `SOURCE_LZ_ID`         | Yes       |                               | A unique ID                     |
        | `SOURCE_LZ_TOKEN`      | Yes       |                               | User token from your LZ profile |
        | `SOURCE_LZ_USER`       | Yes       |                               | Your LZ username                |
        | `SOURCE_LZ_URL`        | No        | https://api.listenbrainz.org/ | The base URL for the LZ server  |
        | `SOURCE_LZ_NAME`       | No        |                               | A vanity name different than ID |d
</Config>