• Data Stream URL Method

    6
    0 Votes
    6 Posts
    290 Views
    H
    @jonas Hi Jonas, got on search for some hours. Problem is that api.tidalhifi.com is the legacy one and to get a Client ID, you have to fetch X-Tidal-Token from a legacy app. (see below) Your statement at https://forum.strawberrymusicplayer.org/topic/6048/tidal-authentication-error seems to be wrong because of this require openapi.tidal.com! Couldn't you please update api.tidalhifi.com to openapi.tidal.com where i can just create an app @developer.tidal.com and that's it. *To use Tidal with Strawberry Music Player, you need a legacy Tidal API token (often referred to in the community as an X-Tidal-Token or client string used by older official apps or specific third-party integrations). You are entirely correct that the modern developer portal (openapi.tidal.com) issues client IDs intended for the new Open API, which are incompatible with the older endpoint (api.tidalhifi.com) that Strawberry relies on. How to Find or Obtain the Required Token Because Tidal does not officially issue legacy API tokens to end-users anymore, the token must typically be sourced from an application package or extracted using network monitoring tools. The most common approaches include: Extracting from a Legacy Tidal Client / APK: Many open-source media player communities (such as for Strawberry, Clementine, or similar client tools) rely on tokens extracted from older desktop or mobile versions of the official Tidal app where the client token was embedded in the installation files or cache. On Linux or Android environments, users traditionally locate configuration or cache files (such as okhttp cache files on Android or application binaries) and search for the X-Tidal-Token string. Using Network Inspection (Fiddler / Wireshark): Some users capture traffic from an older official desktop client. By routing the official app's traffic through a local proxy tool like Fiddler or Charles Proxy while logging in, you can inspect the HTTP headers of the outgoing requests to api.tidalhifi.com to view the client token being passed in the headers. Community Repositories and Discussions: Because hardcoded legacy client tokens frequently change or get deprecated by Tidal's backend infrastructure, the Strawberry Music Player community forums and issue trackers are generally the best place to look for current working tokens or scripts designed to acquire them. You can check the Strawberry Music Player Forum where users discuss working implementation strings. To use Tidal inside **Strawberry Music Player**, you need an older application client ID / `X-Tidal-Token` (which functions as the API client key for the legacy `api.tidalhifi.com` endpoints). The newer developer portal credentials utilize `openapi.tidal.com`, which is incompatible with Strawberry’s legacy implementation. --- ### Does the Linux Flatpak TIDAL Hi-Fi provide the `X-Tidal-Token`? **No.** The unofficial Linux Flatpak client (often based on web wrappers or newer electron builds) communicates with Tidal's modern infrastructure and OAuth setups. It does not natively expose or store a legacy `X-Tidal-Token` in a format that Strawberry can read or use as a Client ID. --- ### How to Get a Client ID / Token for Strawberry Because Tidal has progressively locked down or phased out legacy unauthenticated client strings from their modern desktop and mobile apps, users typically obtain a working token using one of the following methods: 1. **The Android App Cache Method (Older APK):** * Many users sideload an older version of the Tidal Android app (such as version `2.32.1` via an APK archive site) inside an emulator (like BlueStacks or Anbox/Waydroid) or an older phone. * Log into your account on that app version. * Navigate to the app's cache directory using a file explorer: `/Android/data/com.aspiro.tidal/cache/okhttp/` * Copy those cache files to your computer and run a terminal command like: ```bash grep -r "X-Tidal-Token" /path/to/copied/cache/files/ ``` This will reveal the embedded token string required for Strawberry. 2. **Using Third-Party CLI/Python Tools:** * Open-source python packages or command-line downloaders built for Tidal (such as older forks of `tidal-dl` or python-tidal async clients) sometimes store or print out legacy config parameters or client tokens inside their local `.json` configuration files after an initial login. ### How to Get a Client ID / Token for Strawberry Music Player Strawberry requires an API token (historically referred to as an `X-Tidal-Token` or legacy client ID) that interacts with Tidal's legacy/mobile API endpoints (`api.tidalhifi.com`). Official developer portal client IDs use `openapi.tidal.com` and enforce modern security layers that incompatible open-source clients cannot natively parse for playback streams. To make Strawberry work, you need a token sourced from an older mobile client setup or community-vouched legacy strings. #### Methods to obtain one: 1. **Community/Publicly Shared Tokens:** Because extracting raw tokens requires network packet inspection (using tools like Fiddler, Charles Proxy, or looking through older open-source client repositories like `python-tidal`), many users look up known working client IDs shared on the [Strawberry Music Player Forums](https://forum.strawberrymusicplayer.org/) or GitHub discussions. 2. **Mobile App Packet Capture (Advanced):** Traditionally, developers extracted these tokens by routing traffic from an older Android or iOS Tidal APK through an HTTPS intercepting proxy (like mitmproxy or Charles) while logging in. Once you acquire a valid legacy string, paste it into Strawberry's **Client ID** field, check **Use OAuth**, and click login. This will open a browser window for you to safely authenticate your actual Tidal account. --- ### Does the Linux Flatpak TIDAL Hi-Fi Provide an `X-Tidal-Token`? **No.** The popular Linux Flatpak/Snap package (`tidal-hi-fi`) is built by wrapping the official **Tidal Web Player** inside an Electron container with Widevine DRM support. * It communicates directly with Tidal's standard web infrastructure rather than acting as a standalone native API client. * Because it relies on web wrappers and browser-based tokens managed dynamically under the hood, it does not expose or provide a static `X-Tidal-Token` or client ID that you can copy-paste into Strawberry. --- ### Does the Official macOS TIDAL App Provide It? **No.** The official macOS desktop application is a closed-source native/Electron application compiled by Tidal. * It obfuscates its network calls and uses backend authentication tokens dynamically negotiated via secure channels. * Inspecting the macOS app package contents or configuration files will not yield a plain-text `X-Tidal-Token` or legacy client ID suitable for third-party media players like Strawberry.*
  • Unable to reinstall after Fedora 45 upgrade

    3
    1
    0 Votes
    3 Posts
    134 Views
    S
    @jonas Thank you so much! Last time I checked, the Fedora 45 package wasn't yet available.
  • Song lyrics

    3
    0 Votes
    3 Posts
    155 Views
    jonasJ
    @dragonfly45 Make sure it's enabled under Tools / Settings: [image: image.jpeg] Make sure LrcLib and Musicmatch is enabled under Lyrics for best lyrics match, optionally elyrics.net, azlyrics.com and songlyrics.com too. Leave Genius, Lyrics.ovh letras.mus.br disabled unless you specifically have lyrics you need from them. [image: image.jpeg]
  • Is there a way to silence the "click" between tracks?

    4
    0 Votes
    4 Posts
    599 Views
    J
    @maxbaxter I'm awarding you a new record (possibly erroneously): 238 days between Answer and Thank You
  • Setting up Collection and Playlists

    1
    0 Votes
    1 Posts
    87 Views
    No one has replied
  • to play files with video data

    1
    0 Votes
    1 Posts
    165 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    13 Views
    No one has replied
  • gst-plugin-spotify has stopped functioning after the latest update

    19
    0 Votes
    19 Posts
    2k Views
    T
    Might be related: https://github.com/mopidy/mopidy-spotify/issues/437
  • 1 Votes
    4 Posts
    510 Views
    jonasJ
    @DoraDora74 You can use the Ubuntu PPA (https://wiki.strawberrymusicplayer.org/wiki/Ubuntu_PPA) for the latest release, or the equivalent Ubuntu Noble package: https://github.com/strawberrymusicplayer/strawberry/releases/download/1.2.31/strawberry_1.2.31-noble_amd64.deb
  • 0 Votes
    5 Posts
    613 Views
    N
    @jasmint I have exactly the same issue. It used to work fine until a couple of days ago when it was updated to version 1.2.30 (flatpack version is always late as it seems). So apparently I just need to wait for the next update ?
  • spotify "track not found"

    5
    0 Votes
    5 Posts
    381 Views
    jonasJ
    @rat120 Open a terminal and run gst-inspect-1.0 spotify I can't find that Linux Mint (which is basically Ubuntu) has gst-plugins-rs or GStreamer Spotify Plugin at all, I checked http://packages.linuxmint.com/ and https://packages.ubuntu.com/
  • MusicBrainz tag fetcher is not working?

    7
    0 Votes
    7 Posts
    460 Views
    J
    @jonas Thank you so much, Jonas! The update went smoothly, and the tag fetcher is working!
  • Strawberry Scrobbling with ListenBrainz disconnectet

    3
    0 Votes
    3 Posts
    343 Views
    KendramK
    @jonas Thank you, I did as you said and scrobbling with ListenBrainz is working again.
  • Icon missing from system tray (Linux)

    1
    0 Votes
    1 Posts
    162 Views
    No one has replied
  • copy playlist with metadate textfile

    1
    0 Votes
    1 Posts
    181 Views
    No one has replied
  • same album showing up twice

    2
    1
    0 Votes
    2 Posts
    301 Views
    M
    I sometimes find duplicate songs in my list . The only I have found to fix it is to modify the database manually.
  • Does EBU R128 Loudness Normalization have clip protection?

    1
    0 Votes
    1 Posts
    208 Views
    No one has replied
  • Collection not recognizing and updating an addition to Music folder

    1
    0 Votes
    1 Posts
    153 Views
    No one has replied
  • MTP device does not show up when plugged in (KDE, Debian 12)

    1
    0 Votes
    1 Posts
    155 Views
    No one has replied
  • Buffering continuously

    1
    0 Votes
    1 Posts
    186 Views
    No one has replied