Search code examples
jsonnode.jsapicurlhttprequest

NodeJS HttpGet to a URL with JSON response


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?


Solution

  • 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