title: External API calls from the frontend or backend?
body: <p><strong>Scenario:</strong>
  I have a Node and Angular web app.
  It needs to call an external api (a third party service) for data (more specifically this: <a href="https://api.represent.me/api/questions/" rel="noreferrer">https://api.represent.me/api/questions/</a>).</p>
  
  <p><strong>Question:</strong>
  Is it better to make this external call from the Angular frontend: <code>GET http://thirdpartyservice.com/api/data</code> or have the frontend calling a same domain Node endpoint: <code>GET http://example.com/node-backend-api</code> which then calls <code>GET http://thirdpartyservice.com/api/data</code> which then fetches and processes the data from the third party api before passing it back to angular?</p>
  
  <p><strong>Thoughts:</strong></p>
  
  <ul>
  <li>I guess two api calls is less desirable, but it is on the same domain
  so would this not really be an issue?</li>
  <li>GETing from the Node side would be more secure (especially if secret
  keys were used), and also mask the fact that a third party service is
  used.</li>
  <li>CORS stuff might get in the way if calling from the frontend.</li>
  <li>Is context key here, e.g. calling font apis from the
  frontend is probably best, but fetching and needing to process data
  is probably better from the backend.</li>
  </ul>
  
  <p>What do others recommend (and do) and are there any other for or against points to add to the 'thoughts' too?</p>