Add caching for API calls