Simple API Calls with Node.js and Express


I'm just getting started with Node, APIs, and web applications.

I understand the basic workings of Node.js and Express, but now I want to start making calls to other service's APIs and to do stuff with their data.

Can you outline basic HTTP requests and how to grab/parse the responses in Node? I'm also interested in adding specific headers to my request (initially I'm using the API to crunch my time sheet data).

P.S. This seems simple, but a lot of searching didn't turn up anything that answered my question. If this is dupe, let me know and I'll delete.


12/26/2017 12:52:38 PM

Accepted Answer

You cannot fetch stuff with Express, you should use Mikeal's request library for that specific purpose.

The API for that library is very simple:

var request = require('request');
request('', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Print the google web page.

Edit: You're better of using this library instead of the http default one because it has a much nicer API and some more advanced features (it even supports cookies).

12/15/2011 7:16:34 AM

You can use the http client:

var http = require('http');
var client = http.createClient(3000, 'localhost');
var request = client.request('PUT', '/users/1');
request.on("response", function (response) {
  // handle the response

Also, you can set headers as described in the api documentation:

client.request(method='GET', path, [request_headers])

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow