swinton / playlists

:headphones: :relaxed: Playlists on Spotify, released every day using GitHub Actions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

playlists

🎧 ☺️ Playlists on Spotify, released every day using GitHub Actions

What is this even about?

Spotify genre radio (where you could listen to a continuous stream of songs of a particular genre) used to be a thing, and now I'm bringing it back!

Playlists in this repo are defined using seed data and regenerated every day, using the Spotify recommendations API and GitHub Actions.

Example

Here's the seed data for the folk playlist:

params:
  limit: 100
  seed_genres: folk
  market: from_token

Can I use this to generate my own Spotify playlists?

Absolutely! This is open source, so feel free to fork, reuse, and remix as much as you like. Also, since it's built using GitHub Actions, you can also just reference this repo in your workflow to regenerate your own playlists, e.g.

    - name: Regenerate
      uses: swinton/playlists@master
      env:
        SPOTIFY_CLIENT_ID: ${{ secrets.SPOTIFY_CLIENT_ID }}
        SPOTIFY_CLIENT_SECRET: ${{ secrets.SPOTIFY_CLIENT_SECRET }}
        SPOTIFY_REFRESH_TOKEN: ${{ secrets.SPOTIFY_REFRESH_TOKEN }}

Where:

  1. SPOTIFY_CLIENT_ID: A Spotify Client ID, created via developer.spotify.com.
  2. SPOTIFY_CLIENT_SECRET: The Client Secret associated with your Client ID.
  3. SPOTIFY_REFRESH_TOKEN: A refresh token, generated through a call to the Spotify Accounts Service /authorize endpoint, having playlist-modify-public,playlist-modify-private scope. More details on this Authorization Code Flow can be found here.

Resources

About

:headphones: :relaxed: Playlists on Spotify, released every day using GitHub Actions

License:ISC License


Languages

Language:TypeScript 48.0%Language:Shell 29.6%Language:JavaScript 22.4%