Original Instagram API Capabilities
The original Instagram API was developed to allow 3rd party developers to interact with a user’s Instagram account. This API allowed mobile apps and websites to perform the same actions users were already familiar with on the Instagram platform.
Sharing images, liking or commenting on another user’s post, and other actions were all available through this API. In addition, a number of photo sharing and printing mobile applications, such as our client PhotoSquared, used the API to access users’ photos in order to allow users to select and print high quality images for personal use.
Facebook User Privacy Issues Drive Instagram API SunSet in 2018
In early 2018, when Facebook came under scrutiny regarding user privacy, they announced that they would slowly start to deprecrate the existing Instagram API.
The announcement indicated that the API would be deprecated in three phases and finally be taken down in early 2020. In that same announcement Facebook promised a new platform based on their Graph API that would allow Instagram business and consumer accounts access to the same data.
Below is the official announcement:
To continuously improve Instagram users’ privacy and security, we are accelerating the deprecation of Instagram API Platform, making the following changes effective immediately. We understand that this may affect your business or services, and we appreciate your support in keeping our platform secure.
These capabilities will be disabled immediately (previously set for July 31, 2018 or December 11, 2018 deprecation). The following will be deprecated according to the timeline we shared previously:
Public Content – all remaining capabilities to read public media on a user’s behalf on December 11, 2018
Basic – to read a user’s own profile info and media in early 2020
For your reference, information on the new Instagram Graph API.
Source: https://www.instagram.com/developer/
Instagram Basic Display API Released, Sunset of original Instagram API is March 20, 2020
While Facebook announced changes and slowly rolled out their new API for business accounts throughout 2019, not much was mentioned about consumer accounts.
It wasn’t until October of 2019, nearly two years after the initial announcement, that Facebook announced their “Basic Display API” for consumer accounts. This announcement also provided March 2nd, 2020 as the sunset date for the existing API leaving developers roughly six months to make necessary changes.
Basic Display API vs. Original Instagram API – What’s Gained & What’s Lost
Facebook Graph API
The biggest change is that the API is now based on Facebook’s Graph API. The Graph API has been around for years and is documented well. If developers are comfortable working with the Graph API then the new Instagram API should seem familiar enough.
Using Facebook’s OAuth Process
The second change in the API is that authentication now must be done using Facebook’s OAuth process. Apps can no longer authenticate directly against Instagram from within a browser window.
This OAuth process requires an exchange of tokens between an app and a backend server. Existing apps that use Instagram will have to ensure they have a server somewhere to complete this OAuth process.
Loss of Consumer Media Data
Sadly, the largest change is that data developers were used to having on the Instagram platform is no longer available. In the original API developers had access to all sorts of data regarding consumer media.
For each image posted to Instagram, developers had access to an array of metadata including URLs for different image resolutions. The new API only returns limited information and unfortunately only one URL for the standard 1080×1080 resolution that Instagram is known for.
Thankfully this new platform being built on the Graph API will allow for additional fields to be added easily enough in the future.
How to Switch to the Basic Display API
1. Facebook App Account Set-up
To switch to the new Basic Display API requires an existing app on Facebook as well as an account with administrator privileges. Once inside the developer area of Facebook you will have to add Instagram as a product to your Facebook account. After Instagram has been added you can then setup your account to use the Basic Display API.
2. Unique Instagram App ID & App Secret
This setup process involves getting your new unique Instagram App ID as well as your Instagram App Secret which is used during the OAuth process. You will also have to manually invite Instagram users to your app for testing. Only these invited users can authenticate against Instagram using the new API until Facebook during the development stage.
3. Submit Your App For Facebook Review
Finally, after your app has been tested thoroughly you will need to submit your app for review to Facebook. This app review includes answering questions on how you will use the Instagram API as well requiring you to provide a video of your app using Instagram.
A Positive Change For Consumers & Developers
The changes Facebook made by deprecating its old API are understandable. They obviously felt that there was not enough security in place to guarantee the security and privacy of its users. But with the new Instagram platform built on top of their existing Graph API any changes in the future should be easy for developers to manage with better documentation provided than in the past.