A JavaScript client library for the Guardian API
Warning
As of v5.0.0 the response data has been simplified to include just the body which is a major breaking change
$ npm install --save guardian-jsThe documentation for the Guardian News API can be found here
In order to connect you'll need an api key, which you can easily generate here
The developer api key gives you limited access to all portions of the api, and nearly all portions of the news (well over 1.7m articles)
To start using the API, you should first instantiate the guardian prototype
import Guardian from 'guardian-js';
const guardian = new Guardian(apiKey, false);The 2nd argument in the guardian constructor is a boolean indicating whether you'd like to use https or not.
To make a call, it's as easy as
api.content.search('football', {
tag: 'sports'
});The api object has 6 methods that all ship with a search function. The methods are as follows:
content, tags, sections, editions, item, customThe first parameter of the search function is the query term, the 2nd parameter can be any other valid parameter (see the documentation to see which parameters to use)
Parameters which contains dashes should be transformed to camel case.
For example, to search for a basketball article with a star-rating of 3, the following would be valid:
api.content.search('basketball', {
starRating: 3
});To get a single item you have to use getById
Ex:
api.item.getById('business/2014/feb/18/uk-inflation-falls-below-bank-england-target');All calls are promises, so you can extend like so:
api.editions.search('us') //make the call
.then(function(response){
console.log(response); //do something with the response
})
.catch(function(err){
console.log(err);
});or using async/await
try {
const resp = await api.editions.search('us');
console.log(resp);
} catch (err) {
throw err;
}All tests are ran using jest, install using
$ npm installThen run
$ npm testFeel free to contribute, just submit a PR if you have anything to add.
This product is released under the MIT license.
