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.
-
photophroggy
commented
Very clear use cases here.
Many DJs take requests. With an API, tools could be created to screen incoming requests against the music catalog.
I would argue that providing these endpoints is essential at this point.
There is already a GraphQL API serving the search on this page: https://www.twitch.tv/dj-signup#dj-music-catalog
Even only creating an oauth API endpoint that does much the same thing would be hugely helpful and a step in the right direction.
-
TreeToPfLyeR_
commented
Partnering with Rekordbox and Serato to implement a solution to analyze a streamers current library of music against the Twitch restricted list is in the best interest of all parties / stakeholders.
As you've seen this community is knowledgeable on the topic, willing to contribute ideas, and working very hard to make this new format successful for all stakeholders.
As a partner of the DJ community, we respectfully ask that Twitch resources be devoted to resolving this in a manner that is effective, timely, and gives consideration to the resources available to everyone that makes up the DJ community as a whole.
-
Groooooooooooot
commented
I've put in a request for Serato to be able to query and label song restrictions upon loading a crate. That would be my ideal workflow. Failing that, I just need to be able to run a utility against my library and have it report which songs are in my collection that are restricted so I can flag them in metadata appropriately. Ideally this would work both for local songs I've downloaded from record pools, or against online service playlists such as Tidal/Beatport for things I don't have locally but want to add to my set on the fly.
-
DjH4Kor
commented
Great idea!
One case: Have "Now Playing" post the track ID on chat.
Have my homebrew bot look it up and log it so I can update my DJ Library.
The homebrew bot is like an R2 unit to help me keep up on which songs are fobbien and which are allowed. -
ctfrmusic
commented
I think the use case here is ingesting rekordbox xml or whatever system’s metadata and cross-referencing tracks in bulk + maybe adding comment to id3. Burden of update is on the DJ of course. I’d write a script for myself to help with this and limit potential strikes. It would be nice for improvised sets.
-
JSouND_001
commented
I agree with all the comments regarding an efficient and effective way to monitor and maintain our libraries - right now it's impractical without constraining our streams to fully pre-programmed sets. Given that DJ Pools and sources (e.g. Producers) are not consistent in how they name and tag music, it needs to enable fuzzy search too. Comments about it actively overriding playability in RB/Serato/VDJ etc actually might not be the best approach. Considering the above suggestion of a fuzzy search, then a way of flagging potential tracks (and actually why, rather than generic 'this song may not comply') would be a better standpoint. Compliance still rests with the user at the end of the day, there just needs to be a better method than what's been made available now.
-
biscobuddha
commented
it would be very helpful to be able to query the catalog programmatically and use that to cross-reference my track collection. eventually this could be used to integrate with DJ software such as Rekordbox so that DJs could filter their collection, and stay up-to-date as tracks are added to the catalog or restricted.
-
Pegasus_Dj
commented
It's impossible to cross reference even single songs let alone entire libraries with this current search system.
What we need is something that can integrate with our djing software to highlight tracks right in EngineDJ or Rekordbox or Serato or whatever software we use, either built in or with a plugin.
-
kentamusic
commented
I'd like to reference my library against the twitch music catalog to automatically mark tracks that's not allowed to spin while streaming. It's not feasible to make manual searches for all tracks you play.
-
tinyjams
commented
I made a separate suggestion for "Playlist import Tool" before I saw this topic. I think it's important to add there needs to be a way to upload a .csv or .m3u playlist on a tool created by Twitch, not just API access, for those less tech-savvy users like myself. It's near impossible to search the library one at a time, and even the search itself as it currently stands is awkward and clunky.
-
Stonx_Music
commented
Without this is basically impossible to curate a DJ set and stay within the terms of service. This isn't just an optional add on this is a necessity to ensure your users can adhere to your new rules
-
SalWidge
commented
Use Case: Playlist Validation for DJs
Description:
Streamers who curate playlists offline need an efficient way to ensure their selected tracks comply with Twitch’s new DJ program catalog. This will help them plan their streams without interruptions or legal issues.Scenario:
1. Playlist Preparation: DJs create playlists from various sources, mixing popular and underground electronic music.
2. Catalog Validation: Using the API endpoint, streamers can upload or input their playlists. The API then checks the playlist against the Twitch music catalog.
3. Instant Feedback: The API quickly indicates which tracks are legally playable, which are not, and any restrictions.
4. Playlist Adjustment: DJs adjust their playlists based on the feedback, removing restricted tracks and replacing them with compliant ones.
5. Stream Planning: With a validated playlist, streamers can confidently plan their DJ sets, minimizing the risk of warnings, strikes, or bans.Benefits:
• Efficiency: Reduces the time and effort needed to manually check each track.
• Compliance: Ensures DJs follow Twitch’s copyright rules.
• User Experience: Allows DJs to focus on their performance rather than legal concerns.
• Flexibility: Enables quick adjustments and real-time validation.Conclusion:
Implementing this API endpoint will help DJs manage their playlists effectively, ensuring a smooth and compliant streaming experience on Twitch. -
DJ_Acidion
commented
I would love an API to exist so that I can cross-check my music library against what is both explicitly cleared for play and not cleared for play. This would also let me know what isn't yet in the catalog so that I can make sure I have the correct documentation on my side to play (or not play) the tracks during my live sets.
Right now the user experience isn't great with a manual entry of each track or artist. There is a decently sized market of 3rd party DJ tools to help with library management, and having an API available to check the thousands of tracks a DJ typically has would make stream preparation a lot more user friendly.
-
TotalRage_
commented
I would really love a way to input my playlist, so it will sort out for me wich tracks i cannot play. It would be nice if it then gives me an option to handle those like flag remove from list or remove from disk ect.
If this could be inside Traktor that would be lovely ofcourse but i wont mind putting my lists in a separate app or plugin.
I dont use streaming platforms. All from own archive. If it will be a separate app it could be usefull to all Twitch users that make use of music in streams.For dj's with a huge catalog it would have like a disk scan option?
Just thinking from a dj perspective -
GnuHouse
commented
From a general workflow, the process of manually checking music to see if it is in the catalog is tedious. I checked one of my playlists from an old stream to see how much of it was in the catalog. 32 songs took me approximately 30 minutes, not including the time it took me to transform the data to something that made it easy to search with.
DJ libraries are in the thousands. My library is approximately 7700 songs. I source over 100 new songs every month. This means I would spend over 2 hours trying to determine which songs I have already downloaded are part of the catalog. Having an API would minimize this time tremendously
-
Tripwire_1001
commented
Allowing APIs for the DJ catalog would enable 3rd parties including DJ software makers such as Alpha Theta (Rekordbox), Serato, Native Instruments (Traktor), Atomix Production (VirtualDJ), etc. to integrate their software to enable DJs to remain compliant with the program policy in a way that fits the DJ workflow.
There is already a lot of mental overhead with spinning a DJ set, especially while managing a stream. If you are building a set on the fly, you need a fast way to ensure the next tracks you cue up are compliant. The current DJ catalog interface will not work in those scenarios.
DJs do not always pre-plan their sets and even when they do, there is often an element of improvisation or deviation from the plan. Many take requests. DJs need a way to verify we are playing compliant tracks quickly and that fits within the DJ workflow.
-
pattrriick
commented
This API will be useful for writing a middleware to get the catalog, compare it to the Traktor/Rekordbox library, and only play music that is allowed. This ensures a 100% compliance solution.
It would also help if Twitch had this API so Traktor/Rekordbox can develop a native solution.
Additionally, there are several open-source projects that could benefit from such an API:
Crate Digger https://github.com/Deep-Symmetry/crate-digger : A Java library for fetching and parsing Rekordbox exports and track analysis files.
Beat Link https://github.com/Deep-Symmetry/beat-link : A Java library for synchronizing and communicating with Pioneer DJ Link equipment.
Mixxx https://github.com/mixxxdj/mixxx : Free DJ software that gives you everything you need to perform live mixes. -
OriusKhan
commented
You guys have been theoretically working on a solution for this legal situation for years. How was this not part of the feature release? The 'solution' involves thousands of people manually typing thousands of artist names one at a time forever?
-
modernmeerkat
commented
It is currently really hard to run through thousands of tracks to see what is OK. Really need an API + tooling to determine these limitations for us. That starts with opening an API... the tooling will quickly follow.
-
GnuHouse
commented
This would definitely be handy to check playlists against the catalog, or help DJs autotag their music as "Twitch Friendly" or not