API endpoints to query the music catalog for DJs
Please provide an endpoint to query the music catalog for DJs by Artist name and title or by ISRC.
This will help automating synchronizing the local catalog with the Twitch catalog to know which tracks are legally playable on Twitch and helps also with music request tools to instantly tell if the request is fulfillable.
There are probably tons of more use cases that come up in the coming weeks and after the dj program started.
We are actively investigating APIs for the music catalog. It is a complex challenge that requires more scrutiny than our usual endpoints. We will have further information about the potential implementation and availability of these APIs at a later date. If you have a use case in mind, please include it in the comments below as this would be helpful for our development process.
-
CravinAdventure
commented
We're new to Twitch and putting together an online showcase for bass music DJs. Every DJ we work with has to check a full set or library against the DJ Program catalog, one track at a time, and recheck it as the catalog changes. A bulk lookup, by pasting a tracklist or uploading a Rekordbox, Serato or Traktor playlist export, or a simple read-only API, would save hours per DJ and help everyone avoid muted streams and copyright strikes.
-
DJ_Watuh
commented
Use case: I keep a local library of about 370 tracks and have to check each one by hand against the catalog dashboard, and recheck regularly because the catalog changes. A query by artist + title (or ISRC) would let me sync my local library automatically and see which tracks were added or removed, so I can build sets only from currently allowed tracks.
-
flume_de
commented
This is soon 2 years under "investogation".
How complex could it be to provide an API for this? -
MartenFaulkwing
commented
I am just in the process of manually vetting full crates of a genre I intend to play and it's such a pita.
So a possible use-case is to upload a playlist /crate-as-playlist and get an output of those tracks that should be removed from the selection.
Embrace the imperfection. ".m3u -> Info". Catalog might not be 100%, Playlist/Track Ident may not be perfect, time passes and data change... so make it "advice" not "permission" and we just get so much safer without hating our lives doing it manually and still not having perfect safety.Anything live checking without consulting the website by hand for requests would be neat as well.
Haste this, please.
-
TRIODEOfficial
commented
Developer of Now Playing here.
Request for a bulk API endpoint that would allow me to send a JSON object that contains multiple tracks at once.
Internally my app can read many DJ program's databases (Rekordbox, Traktor, Serato, etc). So I could make a separate tool for the community that would check a stream's entire library all at once or in batches.
-
wopiTV
commented
Oh, I am a bit late, haven't seen that comment.
There are many use cases. First of all, there could be 3rd party interfaces that allow better usability than the one that Twitch offers currently which is.. not very handy.
Also, this way plugins could be built for DJ software that would automatically tag/warn, if a track loaded into the player could potentially be blocked on Twitch (I actually have a rough version of such tool for myself built which currently looks up a static database instead of an endpoint).The endpoint also could allow searching be modification date, since we should have a way to see/query if blocks were lifted or new blocks were added.
-
foster1054
commented
It's a great suggestion to improve the music catalog for DJs via API endpoints! Having a more detailed API would make it easier to integrate music selection into live streams. This could help DJs better interact with their audience and give them more control over their sets. In fact, if you're into exploring music options beyond the mainstream, there are many resources available that can enhance your content. For example, if you're interested in finding unique gaming-related content or even looking for fun ways to enjoy blackjack, check out https://findmyblackjack.com/ Find My Blackjack. It’s always exciting to explore new avenues for enhancing your streams.
-
HamNCheddar
commented
Having this API endpoint would help me loads. I want to check song requests against the catalog efficiently and quickly.
-
Vegas_Vibe
commented
Would it be possible to get a status update on music catalog APIs?
As an initial minimum viable product it'd be nice to be able to post both a sanitized Artist and Song Title (with sanitization being the responsibility of the DJ) and get a response with a restricted/allowed flag based on match.
A lot of us have libraries that contain 10s of thousands of tracks and validating via manual entry at present is a painstaking and cumbersome process.
Access to an API would allow the DJ community to create the necessary tooling to process a large number of these tracks automatically, leaving a smaller number to manually search for.Thanks for any information you can provide.
-
Tugvarish
commented
This is insane! Without an API or a playlist submission (upload) feature it is impossible to follow the DJ program terms and stream without burning out.
There are an average of 20 songs per hours (+-5 depending on style), but a DJ brings double those to make sure there is something mixable. Infact an average DJ session of 2 hour is equivalent to a couple of crates which is 120-150 records (albums). An album is anything from 6 to 12 songs, lets say 8. So 8 x 120 = 960 songs (at the low end).
So if the DJ want to make sure that it is not spinned something It shouldn't be, there is the daunting task of searching 960 times by artist and then by title, so TYPE 1920 phrases.
Twitch need to do its part if it wants to attract good DJs and not get them and itself in trouble.
Let's consider first the fact that in a standard event not only the DJ does not pay songs' royalties and fees, because the DJ already has a bunch of expenses for DJ software, plugins, effects, hardware etc, and the most important part a large songs library; so normal venues pay for the performance license and fees.
And second In regular venues, not only the DJ would not spend half a day to type phrases in one line form, but instead the DJ would just UPLOAD to the venue, in A SINGLE SUBMISSION, BY FORM, OR EMAIL part of a library, 'the gig crates list', for approval and at the end of my performance, the same would update the venue with the actual play(ed)list exported from the DJ software, this also in one go: the whole process takes seconds, without possibility of errors nor mistakes.
This is even more dramatic if any song is not approved and more time is needed to rearrange and replace them without breaking the flow.
So again please do at least the minimal part of making your platform usable.
Thanks
-
pattrriick
commented
Let’s consider this issue as more of a legal matter rather than a technical one.
Given that there is a Head of Music Licensing and Label Relations at Twitch, is there any guidance or expectation that can be provided regarding the feasibility of this request? We can see progress being made in terms of attribution, as evidenced by the Symphonic partnership with Twitch (https://community.symphonicdistribution.com/join-symphonic-twitch).
However, there remains a usability aspect concerning DJs adhering to the intent of the DJ Program.
Any additional insight or transparency would be greatly appreciated.
-
TuuliKauri
commented
Just popping in to poke this as something that's critical if the TRACKS instead of the (short list of) ARTISTS are going to remain the way to know if something is Restricted or not and the source of truth. DJs cannot be reasonably expected to review track-by-track without a database to programatically complete this check.
And also I agree with @wopiTV's comment that a CSV export would also be a good workable temporary solution.
And ALSO samples are a big headache - detecting a sample from a restricted track, inside of an allowed track, seems to be occuring (I've seen one example of this, and I'm sure it's occuring elsewhere too). This necessitates a quick turnaround for a review / appeal of restricted track detection. Honestly I'm not sure Audible Magic is the right vendor for this use case, as the current system seems to be slow and non-responsive on issues of false DMCA detection or false DMCA claimants. Ideally the whole management of Restricted Tracks is under review on what the workflows will be, and whether the tasks and timelines are reasonable expectations to be implemented by all the parties. The whole DJ Program relies on the Restricted Tracks piece being workable (or ditched? hey there's an idea...).
Thanks Twitch for breaking ice through new territories.
-
marketing_porpoises
commented
The DJ program is utter trash
-
wopiTV
commented
By the way... I would also be fine with just a CSV export of all songs that I may not play - One that I can automatically fetch once a day so I can check against it automatically and keep the list up to date.
-
TheDallasTexan
commented
To stack on to what everyone else has already stated, there has to be some sort of automation around this catalog verification process. It is impractical to expect DJs to thumb through the catalog one artist/song at a time. It is even more necessary to perform ongoing continual catalog checks making sure some song or artist hasn't been changed to restricted or completely removed from the catalog.
Even in the interim having the ability to upload a CSV file to bounce against the catalog would be a good start.
-
MashupMike808
commented
Add to this post, I have 110,000 songs in my library as I cover a wide range of music genres. One post stated 30 minutes to search 30 songs, that means it would take me 110,000 minutes (1,834 hours, 76.4 24-hour days) to search every song in my library.
-
MashupMike808
commented
Ok, I am going to add into the whole allowed/blocked conversation here. I have gotten one of the warnings and yes, after I played about 60 seconds of the track from a forbidden artist, I realized it was one I recently added and didn't red-line it and mixed out real quick. I will own that one. However, there is another DJ that has now gotten two warnings for tracks that 80% of the songs by that artist are allowed and a small number are not. He got hit on those. He and I are open-format, non pre-planned playlist DJs. We are already doing a lot on stream and to now have to play a track, think of the next track, go to a browser, search that track, and hope that we don't have to find another one because it is a track from an artist that has a bunch of approved tracks, and if it is forbidden, quickly think of another track, search it, and hope we have enough time to load and mix it in.... All of this while watching and interacting with the chat, the activity feed, the dog peeing on our leg, and praying we don't get follow botted... Twitch, PLEASE open an API and for the love of God, someone write us a tool for at least Serato/Virtual DJ/RecordBox to start with that would pop up a NO NO NO warning when we load a track while streaming. I know they are warnings right now, but soon they will be category strikes! (copy/pasted from my comment in the Twitch Creator Club Discord)
-
mikaeltomt
commented
Why cant you just expose the backend api for the web catalog?
-
peetiedj
commented
My use case involves bulk validation of tracks. Many DJs have thousands or tens of thousands of tracks at their disposal, and validating these one-by-one with the Twitch UI is cumbersome, inefficient, and error-prone. Any sort of programmatic interface to the search engine would make this process more efficient and more likely to produce correct, legally-compliant, and policy-compliant results.
-
Kagger911
commented
I think something simple such as using an API to have a search query which we already do. Query the search engine to give a readout of a checkmark or x in chat or on a extension. I'm trying to build one now and it seems the only way is web scrapping