Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Please note, this repo has not been abandonned. Development is ongoing, but the codebase is unstable due to changes to the API and new integrations with Spotify and It is my intention to wrap these together and push them up here once I am able to package everything so it's able to be replicated on another environment.

-Mike Garrett, Feb 10, 2016

Issue Count Code Climate

Play Later for Spotify

Replicating Rdio functionality for finding new releases and adding them to your queue and implementing it with the Spotify API.

h/t for the original code

Word of Warning

This is very, very much a work-in-progress. I have made every attempt to solidify the database structure and file structure before deploying to Github, but they can still change.

Use at your own risk!


  • Tested using PHP 5.5 and MySQL 5.6.
  • Requires at least PHP 5.4 and MySQL 5.5.
  • Recommended that you have command line access and ability to create cron jobs.
  • Excited to use PHPFastCache for plug-and-play caching


You need a mysql database and Spotify app before you begin.

Add your mysql connection details to config.php

Add your Spotify API credentials to spotify-config.php including full redirect and callback URIs.

Finally, run the following commands via the command line to ingest the initial data set:

$ php cron/cron.php
$ php cron/get_album_art.php
$ php cron/update_popularity.php

If you're running locally change into the cron directory to run the tasks and remove cron/ and run the commands above.

You should add these three commands as cron tasks to keep your data up to date.

First, run $ crontab -e then enter the following:

# Run every night at midnight
00 00 * * * cd /path/to/cron/; php cron.php >> /path/to/log/play-later-cron.log
# Run every night at 1 AM
00 01 * * * cd /path/to/cron/; php get_album_art.php >> /path/to/log/play-later-get-art.log
# Run every night at 2 AM
00 02 * * * cd /path/to/cron/; php update_popularity.php >> /path/to/log/play-later-update-popularity.log


Working example:

Example of Play Later

The index.php in your web root displays a list of releases for the current week (since last Friday) in order of popularity with some filters.

Clicking Log In signs you in to Spotify and delivers you back to the list.

A Play Later playlist is created in Spotify and Play Later buttons are added beneath each album.

Clicking on Play Later adds the album listed above to your playlist. The playlist also keeps a record of what you have saved already, displaying these greyed out in the list.

Filters exist for genres (may take a bit to populate all) and date ranges for this week, last week, and two weeks ago.

Output it limited to 100 per page. Pagination works by increasing and decreasing offset by multiples of 100.


Please open an issue for support.


Please contribute using Github Flow. Create a branch, add commits, and open a pull request.


The code is available under the MIT license.


The Play Later functionality from Rdio for new releases using Spotify







No releases published


No packages published