Build Status Dependency Status Coverage Status Code Climate License

A data API for the band

The band website is very data-driven, but Jekyll (at least on Github Pages) will not let us publish JSON. This clearly needs to be fixed.

Content negotiation

The API will respond to the following Accept values with appropriate content:


Content will be returned as JSON.



Returns a list of available endpoints.


Returns a list of gig metadata.

When the client sends an Accept: application/vnd.github.v3+json header, GeoJSON will be returned, as used in the gig map.


Returns a list of music metadata.


Returns a list of photograph metadata.


Returns a list of video metadata.


Returns a list of photographer metadata.


Returns metadata for a photographer.

More endpoints coming soon.

Your questions answered

How does this work?

It's pulling data from the Jekyll sources, clouting it into shape, and serving it up as JSON. There's no database here (yet), just a bit of Redis caching.


As a very wise person once told me, Your website is your API - I'd very much prefer to serve this data from the main domain via content-negotiation, but Github Pages won't let me. If I find a satisfactory solution to this then this will definitely move there. For now, a request for text/html will see your client redirected to the same path on the main website (apart from /, obviously), where you may encounter a 404.

What I'm trying to say is, this is quite possibly a temporary arrangement and should be considered extremely alpha (like anybody's ever going to use this).

Why are you doing this?

Have you met me?


All of this data is released under a Creative Commons Attribution Share-alike license.