NodeJS HttpGet to a URL with JSON response

CaliCoder picture CaliCoder · Nov 30, 2013 · Viewed 97k times · Source

I'm new to Node development and I'm trying to make a server-side API call using a RESTful protocol with a JSON response. I've read up on both the API documentation and this SO post.

The API that I'm trying to pull from tracks busses and returns data in a JSON output. I'm confused on how to make a HTTP GET request with all parameters and options in the actual URL. The API and it's response can even be accessed through a browser or using the 'curl' command. http://developer.cumtd.com/api/v2.2/json/GetStop?key=d99803c970a04223998cabd90a741633&stop_id=it

How do I write Node server-side code to make GET requests to a resource with options in the URL and interpret the JSON response?

Thanks in advance!

Answer

Matt Esch picture Matt Esch · Nov 30, 2013

request is now deprecated. It is recommended you use an alternative:

Stats comparision Some code examples

Original answer:

The request module makes this really easy. Install request into your package from npm, and then you can make a get request.

var request = require("request")

var url = "http://developer.cumtd.com/api/v2.2/json/GetStop?" +
    "key=d99803c970a04223998cabd90a741633" +
    "&stop_id=it"

request({
    url: url,
    json: true
}, function (error, response, body) {

    if (!error && response.statusCode === 200) {
        console.log(body) // Print the json response
    }
})

You can find documentation for request on npm: https://npmjs.org/package/request