Skip to content

Instantly share code, notes, and snippets.

@CoreyAR CoreyAR/
Last active Sep 15, 2018

What would you like to do?
API Documentation for the Crank Live Api

Realtime Airplay

This page displays real-time airplay by station call letters, artist, label, title, date and time. If it displays a genre like 'Pop Hits" or "Alternative" those are Music Choice channels as they are broadcast nationally.

(These feeds are captured directly from the over the air source and not internet monitored in order to provide 99.9% accuracy)

Historical Airplay

This is updating in realtime so if queried every few seconds after a song is detected it will be available

API Path :{startdate}/{endDate}?page=1&pageSize=200

HttpMethod : GET

Parameters :

  1. startdate (required) route parameter eg (09-14-2018)
  2. enddate(required) route parameter eg (09-15-2018)
  3. page (optional) querystring paramater (default value 1)
  4. pageSize (optional) querystring paramater (default value 100)

startdate must be less than from enddate or equal

Bearer Token


Reponse : Api return airplays and count of total airplays as per given parameter values

{airplays: AirplayResponse, totalCount: int }

airplays are list of :

public class AirplayResponse
        public string StationName { get; set; }
        public DateTime PlayedOnDate { get; set; }
        public string Title { get; set; }
        public string Album { get; set; }
        public string Label { get; set; }
        public string Acrid { get; set; }
        public string StationType { get; set; }
        public string ArtistName { get; set; }

Python example

import requests
token = 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9lbWFpbGFkZHJlc3MiOiJjaHJpcy5tY211cnRyeUBleGFjdHVhbHMuY29tIiwiVWxzSWQiOiI1Yjk2YThhOGE1ZDZhYzBlMDhjMWRlY2EiLCJVc2VySWQiOiJjaHJpcy5tY211cnRyeUBleGFjdHVhbHMuY29tIiwiSWQiOiI1Yjk2YTA5MzllYTZjMGRiNjNiY2FkYWYiLCJVc2VyVHlwZSI6ImxhYmVsIiwiSXNTdXBlclVzZXIiOiJGYWxzZSIsImV4cCI6MTUzNzIwNTAzMiwiaXNzIjoiY3JhbmtsaXZlLmNvbSIsImF1ZCI6ImNyYW5rbGl2ZS5jb20ifQ.tLOsT0jpALMUBpQCwuWO1Grwk6HDAoUrILi9tm4wwqA'

headers = { 'Authorization': token }

start_date = '09-10-2018'
end_date = '09-15-2018'
url = '{}/{}'.format(start_date, end_date)
params = { 'page': 1, 'pageSize': 200 }
r = requests.get(url, headers=headers, params=params)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.