Cache API result and better pagination