Turns out Twitter needs considerably more than 140 characters to explain its increasingly restrictive application-programming interface (API) changes to developers. On Wednesday, the company
started spelling out more details of
version 1.1 of that API. (Third-party Twitter apps function using the API, which provides the necessary hooks for developers to fetch and post tweets, look up users and hashtags, and so on.)
Some of the changes are of consequence only to developers, such as the fact that whereas some API calls used to return data in one of several formats, in version 1.1 they appear to return data only in the JSON format. Also notable to developers is that entities—bits of metadata about a tweet, such as which user(s) it mentions, or what hashtags it includes—are now required elements, and not optional; in practice, that won’t affect much for endusers.
There is some good news for users (and developers): For example, the substantially improved
rate limits on certain common API calls—most now can be accessed at least once per minute, with some supporting many more calls than that. That means encountering API rate-limiting errors should become a thing of the past.
Last month, Twitter handed down
stricter rules for third-party developers, prohibiting anonymous access to the API, changing limits on how often certain API calls can be issued, and seriously clamping down on how unofficial Twitter clients can function. Third-party apps such as Tweetbot, Twitterrific, and Twitterfon now face user caps, and they also must adhere to Twitter’s Display Requirements (which were once merely Display Guidelines) that directly affect how such apps can display tweets.
Back when Twitter announced these changes,
the company wrote only that the “stricter guidelines” in version 1.1 of the Twitter API would be released “in the coming weeks.” And as of Wednesday, the new API has apparently arrived, though, again, not all of the API is yet available for viewing.
At the time, Twitter also told developers that they would have six months to migrate their apps from version 1.0 of the API to version 1.1. When that period expires, version 1.0 of the API will be deprecated, so apps that fail to update to use the new API will cease to work. It’s not clear whether that six-month grace period started last month, when the new API was announced, or today.
As part of its new
Developer Rules of the Road, Twitter explicitly states that it reserves the right to temporarily or permanently block access to its API form those developers it determines “have attempted to exceed or circumvent” its limitations, and says that it will “monitor [developers’] use of the Twitter API…to ensure your compliance with these Rules.” The Rules also state that developers must use Twitter’s own options as the defaults for common features such as photo uploading (via pic.twitter.com), suggested user lists, and trending topics. The rules further state that developers can “not attempt to interfere with, disrupt, filter, or disable any features of the Twitter API…including the content of embedded Tweets and embedded timelines.” That seems to imply that showing content that Twitter embeds in tweets—iTunes Store previews, images, and the like—will no longer be optional for third-party clients.
And Twitter hints that ads may be coming to your timeline in third-party apps. The documentation states, “Twitter reserves the right to serve advertising via its APIs (“Twitter Ads”). If you decide to serve Twitter Ads once we start delivering them, we will share a portion of advertising revenue with you per our then-current terms and conditions.” Though the company says it will allow developers to continue showing ads around tweets—in other words, elsewhere in an app or on a website—the only ads that can be displayed in the actual Twitter timeline are Twitter Ads.
None of the newly revealed API specifics are shocking, but they do make clear that Twitter is standing its ground, making life for third-party developers tougher and more restricted than ever before. Whether that will stifle innovation across third-party clients and apps remains to be seen.