Is there a way to get async data for XML from API and then display it as website.com/sitemap.xml
?
No you cannot... but take a look to the nuxt sitemap module
you can use the routes
option to load async data (see eg. https://sitemap.nuxtjs.org/usage/sitemap-options#from-a-function-which-returns-a-promise)