Explaining the new features in this v2 API, Tumblr said it has focused on features which have received larger adoption, rather than providing a complete feature set in this API. Some of the features include:
- Ability to access the list of blogs a user is following, upon authorization.
- Ability to update multiple photos to create Photoset posts.
- Obtain a specific blog’s description, avatar, and the last time it was updated.
Further, Tumblr has consolidated API access to api.tumblr.com in order to make things easier for developers and also keep track of the traffic and balance it using DNS and other mechanisms. This is a much appreciated move, considering that the previous API differentiated between read and write operations, and pushed different activity onto different domains.
Additionally, it has also unveiled two primary concepts in its URI, namely /blog and /user, hoping that the developers can now get a clearer picture on how the various parts of Tumblr work.
The API documentation has been rewritten so as to provide a brief explanation of every detail in an easily readable format. However, Tumblr said that developers should be able to easily dive in and play around with the API, without the need for poring over the documentation.
Inspired by Facebook and Foursquare, Tumblr has also eliminated XML support from the API and is currently working on its JSON implementation for developers. Furthermore, the API now allows for the composing of simple URLs instead of being completely “RESTful”. That is, developers can now easily compose URLs as per their needs. Hence, http://api.tumblr.com/v2/blog/thenextweb.tumblr.com/avatar will return the avatar in its default size and http://api.tumblr.com/v2/blog/thenextweb.tumblr.com/avatar/512 will return the same avatar in 512px.
Finally, developers using the new API will need to adhere to OAuth version 1.0a protocol to access all non-public data with support for OAuth 2 coming in the future; non-authenticated access will require an API key from now on, so that Tumblr can calculate API usage without relying alone on IP addresses and eliminate any misuse.