3.7 KiB
3.7 KiB
Node Bing API
Node.js lib for the Azure Bing Web Search API
Changelog v2
In order to follow JavaScript best practices and allow the library to be promisified, the callback function is now the last parameter.
Installation
npm install node-bing-api
Usage
Require the library and initialialize it with your account key:
var Bing = require('node-bing-api')({ accKey: "your-account-key" });
Web Search:
Bing.web("Pizza", {
top: 10, // Number of results (max 50)
skip: 3, // Skip first 3 results
}, function(error, res, body){
// body has more useful information, but for this example we are just
// printing the first two results
console.log(body.d.results[0]);
console.log(body.d.results[1]);
});
Composite Search:
Bing.composite("xbox", {
top: 10, // Number of results (max 15 for news, max 50 if other)
skip: 3, // Skip first 3 results
sources: "web+news", //Choises are web+image+video+news+spell
newsSortBy: "Date" //Choices are Date, Relevance
}, function(error, res, body){
console.log(body);
});
News Search:
Bing.news("xbox", {
top: 10, // Number of results (max 15)
skip: 3, // Skip first 3 results
newsSortBy: "Date", //Choices are: Date, Relevance
newsCategory: "rt_Business" // Choices are:
// rt_Business
// rt_Entertainment
// rt_Health
// rt_Politics
// rt_Sports
// rt_US
// rt_World
// rt_ScienceAndTechnology
newsLocationOverride: "US.WA" // Only for en-US market
}, function(error, res, body){
console.log(body);
});
Video Search:
Bing.video("monkey vs frog", {
top: 10, // Number of results (max 50)
skip: 3, // Skip first 3 result
videoFilters: {
duration: 'short',
resolution: 'high'
},
videoSortBy: 'Date' // Choices are:
// Date
// Relevance
}, function(error, res, body){
console.log(body);
});
Images Search:
Bing.images("Ninja Turtles", {skip: 50}, function(error, res, body){
console.log(body);
});
Adding filter(s) for the Image Search
Bing.images("Ninja Turtles", {
imageFilters: {
size: 'small',
color: 'monochrome'
}
}, function(error, res, body){
console.log(body);
});
Accepted filter values:
- Size:<Small | Medium | Large>
- Size:Height:<Height>
- Size:Width:<Width>
- Aspect:<Square | Wide | Tall>
- Color:<Color | Monochrome>
- Style:<Photo | Graphics>
- Face:<Face | Portrait | Other>
Related Search:
Bing.relatedSearch('berlin', {market: 'en-US'}, function (err, res, body) {
var suggestions = body.d.results.map(function(r){ return r.Title; });
console.log(suggestions.join('\n'));
});
Spelling Suggestions:
Bing.spelling('awsome spell', function (err, res, body) {
console.log(body.d.results[0]); //awesome spell
});
Specify Market
Getting spanish results:
Bing.images("Ninja Turtles", {top: 5, market: 'es-ES'}, function(error, res, body){
console.log(body);
});
Adult Filter
Bing.images('Kim Kardashian', {market: 'en-US', adult: 'Strict'}, function(error, res, body){
console.log(body.d.results);
});
Accepted values: "Off", "Moderate", "Strict".
Moderate level should not include results with sexually explicit images or videos, but may include sexually explicit text.
License
MIT