Add caching to API requests

If possible we don't want to send repeat API requests. This should ease
up the number of API requests we make and hold off hitting our limit a
little longer.