Twitter API Updates Mean an End to GeoAPI

Romin Irani
Dec. 23 2010, 12:00AM EST

The Twitter API is one of the widely used APIs in our directory. It is also one of the fastest changing, with updates going out to its developer list on what feels like a weekly basis. Some recent changes are especially big and mean an end to the GeoAPI, which Twitter acquired a year ago.

Matt Harris, Developer Advocate for Twitter announced GeoAPI's end of life because "core functionality and commonly used endpoints of GeoAPI.com have already been migrated to the Twitter API." Indeed, in another message to developer earlier this month, Harris explained some changes and fixes that Twitter made to its API, including some that are geo-related.

Twitter has fixed several issues. One of the API changes is quite interesting. If you are using Twitter trends and are retrieving your result set with the /1/trends/available.format, there is going to be an additional attribute now in the response named parentid. This field will contain the WOEID (Where On Earth ID) of the place within which the location is found. Twitter provided a sample JSON response, reproduced below:

[
  {
    "name": "San Francisco",
    "woeid": 2487956,
    "placeType": {
      "name": "Town",
      "code": 7
    },
    "country": "United States",
    "url": "http://where.yahooapis.com/v1/place/2487956",
    "countryCode": "US",
    "parentid": 23424977
  }
]

You will notice that the parentid is “23424977” which corresponds to USA, within which San Francisco lies. You could now end up with interesting possibilities now that you have the parentid too. If you use Yahoo Query Language (YQL), you could use the woeid across their geo.places tables to get interesting geographical data.

Another change to the API is handy if you are using Twitter OAuth and have been having issues debugging it in case your oauth_timestamp is not within the allowed time skew of Twitter servers.. The API will now start returning an error message “Timestamp out of bounds” if that is the case.

Looking back at the changes that Twitter has made to its API over the last few months, it brings a larger question to the front. API Providers are working furiously to provide more features. As a result of that, we have newer versions of API, data fields getting changed and in some cases, even a deprecation of existing API versions and methods. If your application is depending on APIs, it is a given that you have to track these APIs closely for changes to make sure that your application functionality is going to remain intact. What tools and processes are you using to keep your application stable in the constant in the face of API changes?

Romin Irani Romin loves learning about new technologies and teaching it to others. Follow me on Google+

Comments

Comments(1)