Instagram API Example as an iPad Application
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


The universal application demonstrates, how you can work with the instagram API, featuring a custom fullscreen UI.
The code is written with ARC and iOS 5.0 support, but also uses some old classes without ARC.

See some screenshots below.

Class structure:


  • UserInfoDataProvider - gets the user info from the Instagram API
  • ImageListDataProvider - loads a list of images from the Instagram API
  • Photo - stores a single Photo json entry and provides a simple interface to access the most used keys


  • HeaderView - displays the login button. After login, the user info is displayed here.
  • ContentView - represents the area, where you can see your photos.
  • ThumbnailView - represents a single thumbnail


  • MainViewController - as the name states, this is the main / starting screen
  • FullscreenViewController - this represents the detail view of a single photo
  • WebViewController - as the name states, this wraps a webview into a controller. This class also handles the oauth callback.

What could be done better:

  • JSON Parsing should be done asynchronous in the background
  • The GridView should use a system with reusable imageviews for better performance
  • You could generate Retina thumbnails from bigger sizes for better visuals on the new iPad
  • The DataProvider is not needed anymore. We should use the block-based NSURLConnection API instead.


This project uses:

File created using the great Mou App.


iPad screenshot one

iPad screenshot two