Should external API integrations be handled by the frontend or via the backend?

In our Node–Angular setup, should we make direct API calls from Angular (e.g., using GET /service/info) or use a Node endpoint (e.g., getRemoteInfo()) for security?

async function getRemoteInfo() {
  const endpoint = 'http://newapi.com/info';
  const response = await fetch(endpoint);
  return response.json();
}

In our experience, handling external API integrations through the backend provides notable benefits. Performing API calls on the server side enables better management of security concerns and centralizes error handling and logging. This approach also allows you to implement business logic, sanitization, and caching on one consistent platform, rather than distributing these responsibilities across several client-side components. Additionally, centralizing the API calls simplifies the developer’s ability to manage API keys and credentials, reducing the risk of exposing sensitive information. Backend integration also facilitates easier maintenance and future scalability of your application.