You could stand-up a memcached server and proxy your API requests through that. You can easily configure the TTL of the cache to balance the freshness of data with your API limitations. This all depends on the cardinality of unique API requests though. If you are making a lot of identical requests to Instagram, this would be an ideal setup.
Storage in memcached would be trivial if you are using PHP as you can write objects directly (no explicit serialization required):
http://www.php.net/manual/en/memcached.set.php
You would use the API request string directly or a hashed version of it as the key for the memcached entry containing the Instagram API response object.