I've been bitten by this feature as well in the past...
Responses from the API are by default compressed with GZIP (by default; you can request DEFLATE as well). Your browser automatically knows how to handle this; with most development libraries you have to specify explicitlyexplicitly that you want support for compression.
(I've been bitten by this as well I don't have experience with the 'request' library in NodeJS, but the past.solution in this Stack Overflow answer should work. You don't need to add the 'Accept-Encoding': 'gzip'
header, though.)