Deezer
- Unofficial ARL
- Official API
This Source uses unofficial methods to access Deezer data that are likely in violation of Deezer's TOS. Deezer may change or remove these methods at any time, breaking functionality. Use this Source at your own risk.
This Source will work only if you have a Premium Deezer account.
Retrieve ARL
The arl is a browser cookie that Deezer uses to store your login information. Multi-scrobbler uses the arl value to make authorized requests to Deezer's API where it can retrieve listening history.
After logging into Deezer, use one of the methods below to retrieve the arl cookie value:
- Chrome
- Firefox
- On deezer.com, press F12 to open the Developer Tools window.
- Go to the Applications tab. Press the '>>' More tabs icon if it's hidden.
- Under the Cookies Filter, click deezer.com, then the text bar name
arl. - Copy all the contents shown in the Cookie Value pane.
- On deezer.com, hit Ctrl+Shift+I to open Developer Tools
- Go to the Storage Tab, then expand Cookies in the sidebar and select deezer.com
- Find the row with
arlas the name, then double click the Value column and right click -> copy the value
Configuration
- ENV
- File
- AIO
| Environmental Variable | Required? | Default | Description |
|---|---|---|---|
DEEZER_ARL | Yes | The ARL cookie value retrieved from your browser |
[
{
"name": "DeezerARL",
"enable": true,
"clients": [],
"data": {
"arl": "UOsRPjT3U5Dhaaup3xQ30DWFoSgqugdSYzL3QE743waaVy2eur2ckyJcZ4RV123Q3PsbKXkLwA6ahc9XmEfev6BtfSP8LujE3JswWRQogZCDUOwVzWO5sAig",
}
}
]
or explore the schema with an example and live editor/validator
{
"sources": [
{
"name": "DeezerARL",
"enable": true,
"clients": [],
"data": {
"arl": "UOsRPjT3U5Dhaaup3xQ30DWFoSgqugdSYzL3QE743waaVy2eur2ckyJcZ4RV123Q3PsbKXkLwA6ahc9XmEfev6BtfSP8LujE3JswWRQogZCDUOwVzWO5sAig"
},
"type": "deezer"
}
]
}
or explore the schema with an example and live editor/validator
Duplicate detection
Third party integrations with Deezer (Sonos) may cause Deezer to report the same track many times in listening history. If you experience this issue modify your Deezer Source config (file-based only) to include the option "fuzzyDiscoveryIgnore": "aggressive"
deezer.json example
[
{
"name": "MyDeezer",
"data": {
"arl": "UOsRPjT3U5Dhaaup3x...",
},
"options": {
"fuzzyDiscoveryIgnore": "aggressive"
}
}
]
This option comes with some trade-offs: MS will aggressively detect repeated tracks within a window of time that should eliminate all duplicates. However, this will also prevent intentionally repeated tracks from being scrobbled. See this thread for more information on how this works.
This Source is DEPRECATED because Deezer has dropped official API support. This Source will not be removed but no further support or fixes will be given. See this issue for more discussion.
Users cannot create new applications on Deezer Developers and there is no guarantee existing applications will continue to work.
As a workaround consider:
- Using the alternative Deezer Source that uses unofficial, internal API via ARL
- Connect Deezer with Last.fm and then use Last.fm as a Source
Create a new application at Deezer Developers
- Application Domain must be the same as your multi-scrobbler domain. Default is
localhost:9078 - Redirect URL must end in
deezer/callback - Default would be
http://localhost:9078/deezer/callback
After application creation you should have credentials displayed in the "My Apps" dashboard. You will need:
- Application ID
- Secret Key
- Redirect URL (if not the default)
If no access token is provided...
After starting multi-scrobbler with credentials in-place open the dashboard (http://localhost:9078) and find your Deezer source. Click (Re)authenticate and (re)start polling to start the login process. After login is complete polling will begin automatically.
Configuration
- ENV
- File
- AIO
| Environmental Variable | Required? | Default | Description |
|---|---|---|---|
DEEZER_CLIENT_ID | Yes | Your Application ID | |
DEEZER_CLIENT_SECRET | Yes | Your Secret Key | |
DEEZER_REDIRECT_URI | No | http://localhost:9078/deezer/callback | URI must end in deezer/callback |
[
{
"name": "DeezerOfficalDeprecated",
"enable": true,
"clients": [],
"data": {
"clientId": "a89cba1569901a0671d5a9875fed4be1",
"clientSecret": "ec42e09d5ae0ee0f0816ca151008412a",
"redirectUri": "http://localhost:9078/deezer/callback",
"interval": 60
}
}
]
or explore the schema with an example and live editor/validator
{
"sources": [
{
"name": "DeezerOfficalDeprecated",
"enable": true,
"clients": [],
"data": {
"clientId": "a89cba1569901a0671d5a9875fed4be1",
"clientSecret": "ec42e09d5ae0ee0f0816ca151008412a",
"redirectUri": "http://localhost:9078/deezer/callback",
"interval": 60
},
"type": "deezer"
}
]
}
or explore the schema with an example and live editor/validator