The Full-featured, Unpublished Instagram API

Adam DuVander, December 15th, 2010

InstagramPopular iPhone photo-sharing app Instagram is a prime candidate for an API, which is probably why it already has one. Though documentation refers to it as an “unofficial” Instagram API, the fact that it uses the company’s own servers makes it seem pretty official. Instagram has not launched the API, nor is an API linked from its home page. Yet, it has a mobile app and right column Twitter integration, both of which likely consume the API.

Documentation is currently hosted in Github wiki pages by developer Mislav Marohnić. In a post, he explained how he discovered it:

To create Twin, a Ruby library that wraps your app in a Twitter API, I had to monitor my iPhone’s HTTP traffic to figure out which resources does the Twitter app consume. While doing this, it occurred to me that I can figure out the unpublished Instagram API in the same go.

An Instagram API has been high on developer lists since the service’s rise to popularity. Two months ago Instagram co-founder Kevin Systrom said in a Get Satisfaction thread that the company doesn’t yet have an API. “We’re planning on having one sometime in the not so distant future,” Systrom said.

When Twitter became a giant mashup we wondered whether the right column will become developer territory. Since then, Twitter has expanded its selection of companies with embeddable content, probably based on the URLs being shared. Instagram is now included in the right column and it also recently was added to TweetDeck Android.

Any iPhone app that exchanges data needs some set of APIs. Whether a company chooses to expose that API is a completely separate issue. As Marohnić showed, outside parties can document an API, but that does not mean any developer could use any iPhone API. For example, Instagram does not currently go to any effort to lock down its API. For example, it could tie a user to a specific device ID or use shared secret keys.

Since the methods were harvested from the iPhone app, the current Instagram API has all the functionality of the app. It provides access to authentication, user details, the social network, image metadata, embed info and more. You can even use the API to upload new media.

There are always trade-offs to consider when using any API. Will the company still be around in a year? How committed is that company to this API? When dealing with unofficial APIs, even from big companies (see Google’s Secret Weather API), it’s even touchier. If you like living on the edge, we list five unofficial APIs. For now, that includes Instagram.

Both comments and pings are currently closed.

11 Responses to “The Full-featured, Unpublished Instagram API”

January 8th, 2011
at 3:40 pm
Comment by: Quora Can’t Wait Any More, Releases Alpha API

[...] API could almost be classified as unofficial, much like the Instagram API, which was reverse engineered from its iPhone app. The Quora API was discovered because of a browser extension that used it, but the company quickly [...]

January 9th, 2011
at 12:26 pm
Comment by: Quora Can’t Wait Any More, Releases Alpha API | Another Newyork Times

[...] API could almost be classified as unofficial, much like the Instagram API, which was reverse engineered from its iPhone app. The Quora API was discovered because of a browser extension that used it, but the company quickly [...]

January 12th, 2011
at 12:56 pm
Comment by: Instagram Shuts Down Third Party Developers, Plans Official API

[...] may remember the full featured, unpublished API from popular mobile photo sharing site Instagram that we covered last month. The interface was [...]

February 7th, 2011
at 10:47 pm
Comment by: Instagram API Accepting Sign-ups for Public Beta

[...] December we shared the full-featured, unpublished Instagram API. By January, Instagram shut down apps built on that private API and announced it planned an [...]

February 24th, 2011
at 1:37 pm
Comment by: Once Slow to Expose Its API, Instagram Goes Real-time

[...] API was reverse engineered late last year by sniffing the official app’s calls to the server. Later the company shut [...]

February 24th, 2011
at 10:39 pm
Comment by: Once Slow to Expose Its API, Instagram Goes Real-time | Another Newyork Times

[...] API was reverse engineered late last year by sniffing the official app’s calls to the server. Later the company shut [...]

March 10th, 2011
at 4:04 pm
Comment by: History of APIs – Instagram API | API Evangelist

[...] In December a developer name Mislav Marohnić took it upon himself to reverse engineer how the iPhone app worked, and built his own unofficial Instagram API. [...]

September 15th, 2011
at 4:24 pm
Comment by: Google Plus API for Public Data Released

[...] unofficial Google Plus APIs. That’s always a good sign of developer interest, such as when Instagram was reverse engineered. This might be the first time a Google service has had this much interest since developers hacked [...]

February 3rd, 2012
at 11:48 am
Comment by: Where is the Lanyrd API?

[...] seen hot companies hold off on launching developer communities. The Instagram API started off as an unofficial implementation. The FoodSpotting API is only semi-public. Facebook’s former head of platform advised [...]

February 9th, 2012
at 7:13 am
Comment by: Pinterest API: Coming Soon or Already Here?

[...] over, Instagram API, there’s a new hotness. In a similar way that developers sought out Instagram, photo tagging site Pinterest has its share of API sniffers and unofficial wrappers. That and the [...]

March 22nd, 2012
at 2:16 pm
Comment by: Hipstamatic Now API BFFs with Instagram

[...] month. For developers who couldn’t wait for Instagram to publish its API (resourceful hackers reverse-engineered the system back in December, 2010), this could be the beginning of a beautiful [...]

Follow the PW team on Twitter

ProgrammableWeb
APIs, mashups and code. Because the world's your programmable oyster.

John Musser
Founder, ProgrammableWeb

Adam DuVander
Executive Editor, ProgrammableWeb. Author, Map Scripting 101. Lover, APIs.