You may have noticed this summer that a lot of sites that used to prominently feature Instagram feeds have replaced them with empty space, question marks, or error messages.
As part of a larger revamp to exercise control over how their content is displayed, Instagram (as of June 1, 2016) has taken some steps to more fully control use of its API by third-party developers. One very visible effect of this has been a lot of broken feeds, widgets, and integrations.
Several of our clients have asked us what this means to them and what the new rules mean for their website. Here are some of the questions we’ve gotten and our answers to them.
Q. Say I’m a brand like Vistaprint and I want to feature all #vistaprint Instagram posts on my website. I can still do that, right?
Unfortunately not. This is the change that’s breaking the whole Internet; Instagram has eliminated access to public feed data from its public API. Keep reading for more options, though!
Q. Can I display my own Instagram feed on my site?
Yep! If it’s an account you control (can log into), this is still easy and does not require your app to be approved by Instagram. There are some new limits: you can only pull the 20 most recent posts and usage limits are reduced.
Q. Can I allow users to share or display their Instagram content on my site?
Yes, but this use-case now requires that your app be approved by Instagram, which means you’ll need to take some additional steps.
Previously, users could simply enter their Instagram handle and your site would be able to retrieve their public feed. This is no longer the case. Users will now have to explicitly connect their Instagram accounts to your site (via an Instagram login popup) before you can access their feed.
This approach is also fragile: if the user’s access token expires (which can happen if they change their password), their public content will no longer be available to display.
There is also an option to display users’ feeds without having to put your app through the approval process, via the Instagram developer sandbox. The user whose feed you want to display needs to log into their Instagram developer account and accept an invitation you send. The number of invitations that each application and each user can accept is limited, and as with other unapproved app flows, you’re limited to the 20 most recent posts.
Q. Can I allow users to share my content (or content they create on my site) to Instagram?
No, but you could never do this. Instagram has been serious about protecting the authentic quality of its content; as a result, they’ve only allowed posts to be created from their own native apps and have not provided the ability to do so via their API or website.
Q. Why didn’t I hear about this before now?
There was quite a bit of advanced notice from Instagram as well as coverage in the tech media, but the lede has perhaps been a bit buried. Communications have emphasized the positive aspects of these changes for user control and fraud-prevention rather than providing a straightforward list of what stopped working and what still works. As a result, we’ve been getting a lot of “What does this mean for me?” from clients and friends.
Q. Why did Instagram do this?
Well, nobody other than Instagram officially knows, but this isn’t atypical for a growing social network. As it has matured, Twitter has made several moves to lock down its API and exert more control over its content and data. Facebook disabled searching of public posts. This seems to be part of the lifecycle of many successful social networks: first, open their platforms to encourage as much growth as possible; then gradually restrict access as their focus switches from growth to monetization.
Instagram has always been focused on the integrity of their brand experience. They’ve enforced this on the way in. They’ve never had share or tweet buttons along the lines of Facebook; content has always had to come from their app on your phone. These new API changes can be seen as enforcing this on the way out as well, by raising the bar to displaying Instagram content on third-party websites