Home

Awesome

Spotify Web Playback

Spotify Web Playback is a TypeScript-enabled API for using the Spotify Web Playback SDK.

The Spotify Web Playback SDK enables developers to stream and play Spotify tracks in any web browser that supports Encrypted Media Extensions (currently only FireFox, Google Chrome, and Microsoft Edge are supported).

Read the documentation here.

Setup

Install spotify-web-playback by running:

npm i -s spotify-web-playback

or

yarn add spotify-web-playback

Web browsers can use:

import Spotify from 'https://esm.sh/spotify-web-playback';

Getting Started

const token = '<SPOTIFY_TOKEN>';

const uri = 'spotify:track:54flyrjcdnQdco7300avMJ';

const spotify = new SpotifyPlayer();

await spotify.connect(token);

spotify.play(uri);

Authorization

This library does not handle obtaining a Spotify token. You have to take care of that yourself.

You have two options:

  1. Click here to obtain a temporary token. You can pass it to your code, but be aware it will expire after one hour.
  2. Use the Spotify Web API to obtain an access token. See this gist for a full example of how to obtain a Spotify token in a web application. This workflow is highly recommended for production apps.

An example of #2 is included. Please see demo.mjs and public/demo.mjs for more information. Set CLIENT_ID and CLIENT_SECRET then run npm run demo and open http://localhost:8989/ to view the demo.

Acknowledgements

Much of the inspiration for this API comes from Gil Barbara's react-spotify-web-playback.

License

Licensed under the MIT license. See LICENSE.md for more details.