Maybe because of the overhead on rendering time and extra bytes.
On a couple thousand requests the latency is not so noticeable. But on the long run maybe the API user should have a plugin on the client side to do that kind of beautification.
Not necessarily. You would only render the prettified version when the client has an Accept header that shows more capabilities than application/json.
Which, by the way leads to my single complaint with this API: it only renders JSON.
To call it truly "self-documenting", I should just browse to http://www.heyzap.com/api/v1/ (ok, second complaint: the "v1" also belongs in a header, not the URI) and get an HTML page describing the resource, and links to the other endpoints. Bonus points if this HTML allows me to run the queries with overridden parameters.
You have a point with the rendering option from the accept header...
About the v1 versioning in the URL, I understand your suggestion. But I see that little characteristic as a "no developer left behind" program for developers with less experience.
Also the format as an extension for your resource serves the same purpose
On a couple thousand requests the latency is not so noticeable. But on the long run maybe the API user should have a plugin on the client side to do that kind of beautification.