Add caching layer to API requests