Splendid challenge!! I always suggested that we should equip API to new version from old days, but was not come true at all. Will there be the plan to add feature in future?
1) Management capability of the "API key" which other API have
2) Traffic (request) restraint feature based on API key
3) Remake API as plugin
4) Do you make real client application? e.g. Mobile application, Desktop application, Mountable widget etc...
In addition, I watched your code. And I found some hard coded constants. I want you to re-define these as "const" with one file.