Fetching ISRCs from Spotify

Also, as requested before, I’ve exposed the release date that Spotify has in its catalogue. But please please use it with caution.

An example of where it isn’t trustworth, is ARTPOP by Lady Gaga, where it has the barcode/catalogue number (0)0602577441974. This was the version issued this year which removed Do What U Want from the tracklist entirely (initially the licence was simply withdrawn making it unstreamable but still listed in the tracklist).

Even though this edition is clearly new (the older versions can still be found in Spotify with a direct link, but have no licensed territories), true to the motive of erasing history, it has a release date in 2013.

5 Likes

I found a release date on there that was 2 years before the original CD was even available, so yeah, it can definitely be wrong. However, I love that you added that. New changes look great.

3 Likes

@tatsumo This an awesome work you’ve pulled off, I have one question, do you think in the near future can you have the writers credits?

The Spotify API doesn’t tell you writers credits unfortunately.

If you can add the label that the Spotify API gives, then I’ll never have to look at the Spotify API again :-). I’m talking about the label that is listed next to the release date, not the phonographic copyright/copyright gate.

1 Like

I wasn’t aware it had this to be honest.

Added now.

I also started caching Spotify API calls for 15 minutes, so sequential navigation across various related entities should be slightly faster (or significantly faster in some cases)

However, it could potentially run out of disk space if it’s bombarded with many many distinct requests in a short space of time, so if it goes down, just wait a while till it expires the cache. I’ll be monitoring it but not 24/7

6 Likes

Hello @tatsumo,
Currently I see spotify-isrc, which is the source but not the client.
IMO the Client field should be the name of your script / slash version (or code date if you don’t have version numbers). Actually maybe spotify-isrc is the script name, then only lacks the version (useful in the case we notice a bug at some point, later on).
And the spotify source shoul come as edit note, maybe edit note will be soon possible. :slight_smile:

4 Likes

I do consider that to be the client name.

As regards version, since it’s “live” I don’t see how a version number is useful or meaningful. Whenever an edit was submitted, it was submitted using the most recent version as of that date, i.e. whatever was live.

As regards edit note, yes I do plan to add that, when/if it’s supported.

1 Like

Users can use non updated scripts, can’t they?
Or it’s a website, not a user script?
List be that. Sorry if I don’t remember, I don’t edit digital releases.

Precisely that. It’s only online, the backend scripts can’t (currently) be downloaded.

If they become open source (which is my aim eventually, once I get around to cleaning up dead code, ugly hacks etc) then that would change, and version numbers would become meaningful. But until then, it’s not possible to be using anything but the latest version at any given time.

1 Like

Hello @tatsumo

I am not a user of this site and do not contribute. However, I was very happy to stumble upon this topic when I was looking for information about places where you can extract or find ISRC codes. Your site really helps me. I use it and add information to discogs.com. Thanks for your work.

I noticed one thing that may be important to you: Spotify intentionally translates some UPC codes into EAN codes by adding 0 at the beginning of the code. Here is an example:

Initial barcode
https://isrcsearch.ifpi.org/#!/search?artistName=Layers%20Of%20Sound&releaseName=Thinking%20Of%20You&tab=search&showReleases&start=0&number=10

but from spotify
https://tatsumo.pythonanywhere.com/album/3EKHkr9uQQokcputCj0qAL

I don’t know how critical this is for your site, but I think it’s better to use UPC.

I would also like to draw attention to the release dates. Sometimes they are displayed incorrectly. In most cases, this is due to re-releases of releases. And re-releases are due, for example, to the purchase by one company of the past catalog of a label. Copyrights and so on often change right there.

I just wanted to recommend that using spotify release dates has a lot of risks. In particular, iTunes also has the same problem. I always search the entire Internet, especially the official sources of the publishers themselves, before making sure that the date is correct. I hope this helps you.

7 Likes

It’s just for me or the website isn’t accessible or very slow for a few days?

1 Like

yeah, it’s not working for me either

1 Like

The CPU is being throttled because there’s a huge amount of traffic coming from one IP address. Can’t do much about that quickly except to throttle specific users when they’re sending too much traffic, to stop them eating up all the CPU.

3 Likes

OK, actually looks like it’s better. Thanks for the quick reply :wink:

Someone may have written a bot.

Can I request a feature @tatsumo?

Would it be possible for the “Bearer token not ready” button to take you back to the page on which you clicked it? At the moment it takes you to the index page, which is quite annoying if you’ve come in directly via a link containing an MB and spotify ID (e.g. when using my userscript).

Thanks!

6 Likes

Sorry to necro-bump an old topic, but the links to this tool via marlonob’s multi-source seeder have been returning internal server errors frequently for the past few days. I’ve been waiting for several hours to submit ISRCs for one album, and every time I’ve attempted to do so I get the same error message.

EDIT: I manually removed the ?bind= syntax from the URL the seeder generates, and the link worked then. (I couldn’t submit anything to MB, though.) There has to be an issue with interaction between the two services.

Also sorry for a necro-bump, but I have some feedback for the tool.

5 Likes

Fot what it’s worth, the ISRC can be written in two ways indeed, and with hyphens, is more readable, by the way, but they are optional:

/[A-Z]{2}\-?[A-Z0-9]{3}\-?[0-9]{2}\-?[0-9]{5}/
(regular expression)

  • Country code (2 characters)
  • Label code (3 characters)
  • Year of either ISRC registering or of actual recording process (2 digits)
  • Label assigned (free) code for this recording (5 digits)
3 Likes