Instagram, Albums, and Grey Squares

Developer? Work with the Instagram API? Or work with an Instagram library by a third party? Wondering why your Instagram implementation is suddenly showing grey squares? Wondering how to stop it?


It’s the fault of Instagram Albums, rolled out today. You might have read about it on Mashable – they are not a fan.

At the moment (and hopefully this changes FAST), creating an album in Instagram screws with the official Instagram API. Here’s what happens:

  • type field is wrong – thus far, there are two values for “type” – “image” and “video”. Albums are returned as “video” no matter what mix of media is in the album. All photos, all videos, or a mix, type will equal “video”
  • no video urls – The video urls are missing. Go figure.
  • images urls are all null.jpg – all resolutions – standard_resolution, thumbnail and low_resolution – are being returned with a url of

How to Stop It:

Depends on your implementation. But basically, add a check to throw out any media where the image url ends in “/null.jpg” (or if all the media URLs are equal, that’s probably a good sign too).

If you’re working with a third party library, pester the authors with a link to this post, or contribute a bugfix of your own.

And submit reports to Instagram. This is their problem to fix, ultimately. There’s no workaround right now. Our only option is to ignore the problem or toss out corrupted data.


  1. Update on this: API is currently returning the first photo in the album, but type still coming up as “video” even if the media is an image. A post of all videos will still not include a video, just it’s poster image.


    1. Further update on this: the API now returns “carousel_media” with media objects included. “type” now has a third option. “carousel”, “photo” and “video” are all valid. However, if you have videos in your carousel_media object, they do not come with poster urls (jpgs). So still seems a little incomplete.

Leave a Reply to Tony Downey Cancel reply

Your email address will not be published. Required fields are marked *