BackTube is a streaming app for music lovers who can create and follow playlists of their favorite songs from Youtube or Bandcamp.
There are 4 different repositories:
- UI
- Backend API
- Stream API (this repository)
- Youtube Music Search API
Use the package manager npm to install the UI.
npm install
npm start
And then type in the URL directly in the browser: http://localhost:5000/youtube/stream?videoId=TPxukQ7lH94
Set environment variable with domain name for CORS
export CORS_DOMAIN_NAME=http://localhost:5000
- [GET] /youtube/stream?videoId=: stream youtube audio from video with id (CORS protected)
- [GET] /youtube/info?videoId=: get video metadata from video with id (CORS protected)
- [POST] /bandcamp/search: search for artists/albums/songs/labels (payload: {"query": YOUR_QUERY})
- [POST] /bandcamp/albums: get all albums of an artist (payload: {"url": ARTIST_URL})
- [POST] /bandcamp/songs: Retrieve all tracks (payload: {"url": ALBUM_URL})
- [GET] /bandcamp/stream?url=<track_url>: stream bandcamp track (CORS protected)
Currently deployed on Heroku https://api-backtube-stream.herokuapp.com. Please note that both of the stream endpoints are not opened to public (CORS protected). Only BackTube UI can query those at the moment.
Please open an issue prior to submitting a pull request, so that we can discuss whether it makes sense to be implemented or not. Feature ideas or bug reports are more than welcome!