It needs to be seen how much this impacts the import. I wouldn’t call it worthless right now, import should still be possible. But the lack of region information (available_markets) and partly also the information about substituted tracks (the linked_from field on tracks) definitely makes things worse. But I think the substituted tracks info was already not really working before.
[REMOVED] Get Several Tracks (GET /tracks) – Get Spotify catalog information for multiple tracks based on their Spotify IDs.
Album
[REMOVED] available_markets – The markets in which the album is available: ISO 3166-1 alpha-2 country codes.
[REMOVED] label – The label associated with the album.
[REMOVED] external_ids — Known external IDs for the album.
Track
[REMOVED] available_markets – A list of the countries in which the track can be played, identified by their ISO 3166-1 alpha-2 code.
[REMOVED] external_ids — Known external IDs for the track.
[REMOVED] linked_from – Original track when relinked.
Their consequences for Harmony release lookups on Spotify:
No GTIN/barcode returned for release lookups by ID/URL: It will become impossible to lookup multiple providers starting with a Spotify URL (Spotify lookup by GTIN may still work?)
No ISRC returned for tracks… (The “positive” aspect of this is that we no longer need the removed GET /tracks endpoint and can save some API requests.)
No release label returned
No available/excluded regions returned (making Deezer the only source for digital media availability info)
Starting Wednesday, 11 February, all newly created Development Mode Client IDs will be created under the updated Development Mode rules and will have the following restrictions applied by default:
Development Mode use will require a Spotify Premium account
From March 9, these same requirements will also apply to all existing Development Mode integrations.
RIP Spotify provider, I’m surely not going to pay for Premium to access a crippled API
Relying purely on Deezer for checking geographic availability wouldn’t have been so bad if they too haven’t enshittified their API with their region-specific redirects (still not as bad as what Spotify has in store). At least seeing the discussions in the repo about possible Qobuz implementation are giving me hope since their availability info is rather explicitly given in the HTML source of release pages. An option for iTunes lookups would have been nice, but I’m aware that right now there’s no easier way than checking every country/store one at a time.
With the endpoint that returned UPC/barcodes being cut off however, I’m already dreading the exponential increase of lazy/incomplete imports that more dedicated editors will have to look after.
You forgot album label too. Not that that API field has been useful in years, when Universal Music and Warner Music have been using a different field to represent the release label that isn’t part of the API.
I’ve already patched the Spotify provider for the upcoming API changes in advance. The removed properties required only two minor changes to future-proof them, but I don’t really know in advance whether I’m handling the to-be-removed /tracks endpoint properly. (Will the request fail or will it return an unexpected response?)
Since 11 February has passed, my Spotify developer dashboard shows a warning:
Your application will be blocked from the Web API at ‘2026-03-09’ unless you have a Spotify Premium subscription. Upgrade to Spotify Premium to access the Web API and unlock additional features for your app.
API access is still working as it was previously, so I can’t test the adapted Spotify provider myself. Maybe someone else with Spotify Premium can create a new developer application and test with Harmony’s main branch before March 9?
As I said before, I won’t give money to Spotify, so unless someone donates API credentials, I will have to disable the Spotify provider on the pulsewidth instance in a month anyway.
I already have Spotify Premium - let me try on main and see if I can get it working. If so, I’ll gladly donate API credentials; while I’m not the biggest fan of Spotify as a music platform by any means, it’s still a great resource from which to seed MB IMO.
FYI, the Beatsource website and data format is so similar to Beatport’s that it only requires minor changes to make a Harmony provider for Beatsource.
As far as I remember, this was only discussed on Discord previously. I even have a working proof of concept implementation (which would only need a bit of cleanup).
Unfortunately there are many unfixable issues with the current scraper implementation.
Therefore I would like to switch from extracting the JSON from their HTML pages to accessing their API first.
If we find out how to obtain credentials for their API, that should solve most if not all of these issues and make the provider faster.
Update from today - external_ids are here to stay!
We have heard you, and after deliberations we are reversing the `external_id` removal. I will provide an update when the reversal is live, and the reference/documentation is updated.
So to be clear - we will not remove `external_id` on the 9th of March, and we will deploy a fix to re-introduce it to newly created development mode apps in the coming days.
Beatport imports don’t work at all anymore as of today. Even directly pasting in the URL no longer works. Harmony spits back the following error message:
Earlier today I got a “checking your browser” message with a captcha when trying to access a beatport page. I’m assuming they enabled some form of protection against bots temporarily, since I can access the website just fine now.
Harmony relies on web scraping for beatport lookups, so it’s probably getting caught in that filter