
Security News
Feross on Risky Business Weekly Podcast: npm’s Ongoing Supply Chain Attacks
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
bing-image-search-stream
Advanced tools
Query Bing Image Search API (v7) and get a readable stream of response objects.
Bing Image Search API returns up to 150 results per API call. To access more results, you need to specify the proper offset
request parameter in a subsequent API call. This module automates the process of filling the offset
parameter value and determines when to stop making API calls— what you get in the end is a readable stream of parsed responses.
Please note that response objects wrap search results in the value
field.
{
_type: 'Images',
totalEstimatedMatches: 834,
nextOffset: 195,
value: [
{
name: ...,
thumbnailUrl: ...,
datePublished: ...,
contentUrl: ...,
...
},
...
],
...
}
This module doesn't unwrap search results for you because response objects may contain additional metadata (e.g., queryExpansions
, pivotSuggestions
, similarTerms
and relatedSearches
).
npm install --save bing-image-search-stream
Here's an example the calculating the total number of search results.
const BingImageSearchStream = require('bing-image-search-stream');
let responses = [];
new BingImageSearchStream({
key:'<YOUR_BING_IMAGE_SEARCH_API_SUBSRIPTION_KEY>',
query: 'kittens',
amount: 151,
}).on('data', (data) => {
responses.push(data);
}).on('end', () => {
const total = responses.reduce((acc, result) => acc + result.value.length, 0);
console.log('total: ', total);
});
This example takes advantage of Node.js 10's experimental support for asynchronously iterating over readable streams to print out search results to the console.
const BingImageSearchStream = require('bing-image-search-stream');
(async () => {
const resultsStream = new BingImageSearchStream({
key:'<YOUR_BING_IMAGE_SEARCH_API_SUBSRIPTION_KEY>',
query: 'kittens',
amount: 151,
})
for await (const results of resultsStream) {
for (const result of results.value) {
console.log(result);
}
}
})();
Parameter | Type | Default | Description |
---|---|---|---|
key | string | (Required) Bing Image Search API Subscription Key | |
query | string | (Required) Search query | |
amount | integer | 2000 | Desired count of results |
market | string | Market Code of request origin (e.g., en-US ) | |
safeSearch | string | Moderate | Filter adult content (Off , Moderate , Strict ) |
offset | integer | 0 | Offset of the initial API call |
count | integer | 150 | Count of results per API call (lower this value may result in more API calls) |
queryParams | object | Additional query params (e.g., { imageType: "AnimatedGif" } ) | |
headerParams | object | Additional header params (e.g., { Pragma: "no-cache" } ) | |
fetchCb | function | fetch | Callback to construct a request that returns a response promise |
offset
API parameter with previous response's nextOffset
valueX-MSEdge-ClientID
automatically based on previous API responsesMIT
FAQs
Readable stream to Bing's Image Search API
The npm package bing-image-search-stream receives a total of 0 weekly downloads. As such, bing-image-search-stream popularity was classified as not popular.
We found that bing-image-search-stream demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.
Research
/Security News
Ongoing npm supply chain attack spreads to DuckDB: multiple packages compromised with the same wallet-drainer malware.