Twitter finally switched off version 1.0 of their API on June 11, 2013. If your website or application is failing today, this is likely to be the reason.
Twitter announced they were scrapping the first API last year and gave us at least six months to get our code in order. The initial May 7 stoppage date was postponed but if, you’re still using it, API 1.0 REST URLs will now report “The Twitter REST API v1 is no longer active. Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview.”
The major differences between API v1.0 and v1.1:
- API v1.1 is SSL only.
- JSON is now the only available data format — XML, RSS and ATOM have been retired.
- All requests must be authenticated via OAuth.
Private Authentication for Public Data?
It’s this last point which causes the most confusion.
If your application wants to tweet on a user’s behalf, the user must provide permission. That’s understandable and was implemented in the first API. However, what if you simply want to display your own tweets on your own website? In API 1.0, you could access your timeline using a REST URL such as:
The returned data could be parsed and displayed accordingly. There are plenty of examples — I published a small Twitter widget on SitePoint in early 2011.
Even though those tweets are publicly available on Twitter.com (and could be screen-scraped), the raw data is no longer available unless your app provides authentication.
It gets worse. Twitter has ruled that all applications must adhere with the Developer Display Requirements to ensure tweets and timelines are presented in a consistent manner across the web “in a way that meets the user’s expectation”.
Has anyone ever been confused when encountering a 140-character message? Not any more — Twitter logos and links must be plastered across it. Finally, don’t forget to check the guidelines frequently; you have a duty to update your application whenever Twitter says you should.
Twitter wants to take back control of an unruly system. From a commercial perspective, they’d prefer you to use the official Twitter widgets which permit them to manipulate tweets and presentation. If you insist on using an app, API 1.1 allows Twitter to shut down a service without warning or reason.
The policy could backfire. One of the reasons Twitter growth exploded was because of an open API which allowed developers to create apps and widgets which were never envisaged by the company. While they must make money to survive, closing the door will force many sites to scrap feeds which ultimately promoted Twitter. Will as many people use a more corporate and less useful service?
Twitter no longer owns the service they created; it’s owned by the users. Does Twitter have a future if they cannot understand or monetize this concept?
Has your Twitter app been affected today? Do you have the time and inclination to migrate to API 1.1? Will you switch to the official Twitter widgets? Or will you abandon some Twitter applications?
Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.
Your First Year in Code
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers
Jump Start Git, 2nd Edition