title: NodeJS - Third party Api call from app.js
body: <p>I need to call 3rd party api from backend in NodeJS and return the data to ajax call in frontend</p>
  
  <p>Below is my code:</p>
  
  <pre><code>router.post('/get_data', function(request, response){
  var city_name = request.body.city_name;
  if(city_name in city_name_done){
  
  }
  else {
      city_name_done.push(city_name);
      console.log('city_name: ' + city_name);
      var options = {
          host : 'api.openweathermap.org',
          path : '/data/2.5/forecast/daily?q=' + city_name + '&amp;mode=json&amp;units=metric&amp;cnt=14&amp;appid=75e843de569fb57a783c2e73fd9a7bb5',
          method : 'GET'
      }
      var maybe = '';
      console.log('till here')
      var req = http.request(options, function(res){
          var body = "";
          res.on('data', function(data) {
              console.log('data came');
              body += data;
          });
          res.on('end', function() {
              console.log('ended too');
              maybe = JSON.parse(body);
              console.log(maybe.city);
          });
      });
      console.log('here too man');
      req.on('error', function(e) {
          console.log('Problem with request: ' + e.message);
      });
      response.send(maybe);
  }
  });
  </code></pre>
  
  <p>I am able to get the city_name parameter from ajax post request from frontend side however I get 500 internal server error everytime I execute the post request</p>
  
  <p>PS: Pardon my English and even the level of the question as I am an absolute beginner in NodeJS</p>