Is it necessary to cache external api requests?
Depends. Do you display this on a specific page? Or on multiple pages? Is it a page, a block... ? Do you have many authenticated users?

If it's a single page callback or a block that's always the same, then it's possibly fine to not cache it yourself. That only makes sense when you call your code on many different pages.

If you also have a lot of users, especially with different roles, multiple languages or or cache contexts that might vary but always the same API call, then it might make sense again to cache it yourself.