I can't login to Tidal

Like so many other people I can’t login to Tidal. I’m new to Roon and most of my library is Tidal, and having this fail immediately upon trying the app has given an extremely poor impression.

I’m using the latest builds of Roon server & remote. Roon server is running on Linux, remote on Windows.

I’ve attempted all the troubleshooting suggested in these forums:

  • my tidal account is in good standing and works everywhere else
  • restarting the server
  • restarting my router
  • changing dns servers multiple times
  • removing the tidal folder (doesn’t exist since i’ve never logged in)
  • removing the whole roon database folder
  • reinstalling roon server
  • turning off all my firewalls
  • turning off the tidal + plex integration that is successfully running on that same Linux server

Nothing works. There is absolutely nothing novel about my network topology. It’s a Linux machine behind an ASUS router with no particularly suspect settings. The Linux box is on ethernet, the Windows client is on ethernet.

I can type a garbage username & password into the login field and I get the same “InvalidRemoteData” error, so the error clearly isn’t related to my Tidal account. Roon is experiencing an error just attempting any login. There is clearly a networking problem, but this server isn’t limited in any way. It’s running several of cloud-enabled services that are working fine. What is so unique about Roon + Tidal?

As for other users that might see this - the continual outpouring of issues surrounding Tidal support I see in this forum makes me wonder if as Tidal user should I even bother with Roon? Is it even well integrated? Is it actually reliable?

I’ll tag @support for you

Hi @Nils_Lundquist,

We aren’t currently seeing any widespread issues with logging in to TIDAL through Roon. Typically, if a problem were to occur, a reboot of the Core machine would resolve, but it looks like there’s something else going on here.

In order to better understand where this issue might be stemming from, I was hoping you might be able to perform a test with the Windows remote. If you temporarily use the Windows machine as your Core (go to Settings > General, Disconect, and then choose This PC), are you able to login to TIDAL?

Hi @dylan,

I’m currently away from home for work but I am able to confirm that installing Roon to my work laptop and logging into Tidal there works. As I proposed in my original post there is some networking issue that is preventing my home Roon server from being able to login to Tidal.

Unfortunately, as Roon provides no context around what sort of connection it is attempting to make to Tidal I have no way of testing that connection in isolation to ensure hosts are reachable, etc. I’ve modified every setting I can think of that could be responsible, to no avail.

Given the issues with Tidal integration that are frequently posted here I’d have hoped the implementation details would be documented to assist in troubleshooting.


@support please make an official statement regarding the state of the Tidal integration and these ongoing issues that have arisen in recent months. There are lots of paying users here with nebulous problems that are occurring in setups that have worked flawlessly for years.

They deserve a statement acknowledging that there’s a problem with the integration and stating whether or not it has the attention of the Roon & Tidal developers.

So is there any further advice from the Roon team for debugging this?

I lost my TIDAL after a manual back-up. (this following a clean install) Strange thing is the fact I didn’t get a warning, seemed logged-in, but it just didn’t load anything.

All playlists are empty. Only the one I opened yesterday was there and it played, the signal path showed TIDAL as origin. Even the song of which I’m sure I didn’t play before. (I only played two of the list)

So connected, but no info or data showing, just a loading icon.

@support my setup is still broken in the exact manner described in my original post.

I’ve found logs that finally give some detail around the failure:

02/08 11:19:32 Trace: [tidal/http] POST https://api.tidalhifi.com/v1/login/username => Success
02/08 11:19:32 Warn: [tidal/http] https://api.tidalhifi.com/v1/login/username? failed (deserialize): Sooloos.JSONExtensi
ons.JSONException: JSON: missing required string field: userId
at Sooloos.JSONExtensions.Extensions.GetString (System.Object o, System.String key) [0x0001a] in <a0f3dcf79d2341d68a98
at Sooloos.Tidal.LoginResult.Parse (System.Object o) [0x00005] in <d2c716725a6a4ba99c35faee3b0db77e>:0
at Sooloos.Tidal.Proxy.HandleJsonResponse[T] (System.String url, System.String etag, System.Func`2[T,TResult] parse_js
on, System.String responsebody, Base.ResultCallback`1[T] cb_result) [0x0009d] in <d2c716725a6a4ba99c35faee3b0db77e>:0
02/08 11:19:32 Info: [broker/locations] updating location Tidal:Name=TIDAL:Id=a2bc918b-81fb-abc3-f24b-19bcfed910a2

The submission of my username & password to /login/username was a success, but then the response didn’t contain the “userId” field that was expected.

This doesn’t appear to be any issue at the networking level of my machine since a request is being made to the Tidal API successfully.

@dylan @support Additionally I’ve been able to write a basic NodeJS script using the tidal-api-wrapper library to test a Tidal login from this Linux machine and it succeeded without any error whatsoever:

> var Tidal = require('tidal-api-wrapper')
> var tidal = new Tidal();
> tidal.login(myUsername, myPassword).catch((e) => console.log('error', e)).then((s) => console.log('success', s))
Promise {
   Domain {
     domain: null,
     _events: { error: [Function: debugDomainError] },
     _eventsCount: 1,
     _maxListeners: undefined,
     members: [] } }
> success { userId: 167432555,
  sessionId: CENSORED,
  countryCode: 'CA' }

This request, essentially the same one as Roon is attempting, succeeds and returns a userId, when running in the same system & network environment.

What is Roon doing that is so different than every other way of logging into Tidal? I can’t assist in debugging this unless I understand how it’s supposed to be working.

2 posts were split to a new topic: Having difficulties logging in to TIDAL

I’ve rebooted my server way more than twice already. Please refer to the OP for everything I’ve tried in an attempt to resolve this or post in your own thread.

@support is there anything I should try to continue debugging this?

Comparing my logs with those of another user (and the request I made from the NodeJS script) I noticed something. My Roon logs don’t include the required Tidal API token as part of the request!! See my logs:
Trace: [tidal/http] POST https://api.tidalhifi.com/v1/login/username => Success
vs this user:
Trace: [tidal/http] POST https://api.tidalhifi.com/v1/login/username?token=Imi5DLPIAVRmszdL => Success
and while investigating how the NodeJS library works, it also makes a request inlcuding a token:
url: 'https://api.tidal.com/v1/login/username?token=wdgaB1CilGA-S_s2',

A missing parameter in the request like this would explain why the response doesn’t contain the userId like expected.

Why might Roon forget to include this required parameter in it’s requests?

Hi @Nils_Lundquist,

I discussed this issue with the team and I think the next step here is to enable some diagnostics on your account so our technical staff can get some more insight into what’s going on here.

However, before I enable this feature, I’d like to ask for your help ensuring we gather the right information.

First, can you please reproduce the issue once more and note the time at which the error occurs. Then respond here with that time, and I’ll make sure we review the diagnostics related to that timestamp.

1 Like

hi @dylan so I’ve done as you’ve asked. I attempted 3 logins today. All of which readily reproduced the issue:

1 @ ~12:44:30PM MST
2 @ ~12:45:00PM MST
3 @ ~12:45:30PM MST

I can confirm that if you enter incorrect username/password, the Tidal API will return a JSON object that does not have a userId field.

{'status': 401, 'subStatus': 3001, 'userMessage': 'Username or password is wrong'}
This is how the error you posted would have happened.

failed (deserialize): Sooloos.JSONExtensi ons.JSONException: JSON: missing required string field: userId

@Nils_Lundquist , are you able to successfully sign in to https://listen.tidal.com with the username/password that you’re trying with Roon?

@Benjamin_Rumble …yes. The first point of my OP:

  • my tidal account is in good standing and works everywhere else

The NodeJS script that makes a successful login you see above? It was run by me. With my Tidal credentials. Which work.

The Tidal app works. The Tidal website work. My Tidal phone apps work. The Plex/Tidal Integration works. It all works with one notable exception.

(I even ended up turning off & unpairing the Plex/Tidal integration to confirm it wasn’t interfering somewhow. I’ve also conducted testing with the Plex instance on this machine disabled, to no effect.)

@support / @dylan when you get a chance please confirm if your team was able to gather the diagnostics they needed

Thanks for the timestamps, @Nils_Lundquist — The diagnostics report has been received and with the team for analysis. I’ll be sure to reach out to you as soon as I have their feedback.