Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bing-image-search-async-iterator

Package Overview
Dependencies
Maintainers
0
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bing-image-search-async-iterator

Async iterator for Bing Image Search API call responses

  • 1.2.7
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-81.82%
Maintainers
0
Weekly downloads
 
Created
Source

Bing Image Search Async Iterator

Query Bing Image Search API (v7) and get an async iterator of response objects.

Motivation

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 async iterator of parsed responses.

Response objects

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).

Installation

npm install --save bing-image-search-async-iterator

Example Usage

This example prints out unwrapped search results returned from the API calls.

const search = require('bing-image-search-async-iterator');

(async () => {
  const responses = search({
    key:'<YOUR_BING_IMAGE_SEARCH_API_SUBSRIPTION_KEY>',
    query: 'kittens',
    amount: 151,
  })
  for await (const response of responses) {
    for (const result of response.value) {
      console.log(result);
    }
  }
})();

Options

Basic Options

These are the main parameters you should specify.

ParameterTypeDefaultDescription
keystring(Required) Bing Image Search API Subscription Key
querystring(Required) Search query
amountinteger2000Desired count of results
marketstringMarket Code of request origin (e.g., en-US)
safeSearchstringModerateFilter adult content (Off, Moderate, Strict)

Filtering Options

You may specify your search query's filters with the following settings.

ParameterTypeDefaultDescription
aspectstringAllFilter images by aspect ratio (Square, Wide, Tall, All)
colorstringFilter images by color (ColorOnly, Monochrome, Black, Blue, Brown, Gray, Green, Orange, Pink, Purple, Red, Teal, White, Yellow)
imageContentstringFilter images by content type (Face, Portrait)
imageTypestringFilter images by image type (AnimatedGif, AnimatedGifHttps, Clipart, Line, Photo, Shopping, Transparent)
licensestringAllFilter images by image license type (Any, Public, Share, ShareCommercially, Modify, ModifyCommercially, All); Any excludes images without known license
freshnessstringFilter images by discovery time (Day, Week, Month)
sizestringAllFilter images by image size (Small, Medium, Large, Wallpaper, All)
widthintegerFilter images by specific width
heightintegerFilter images by specific height
minWidthintegerFilter images by where width is greater than or equal to specified value
minHeightintegerFilter images by where height is greater than or equal to specified value
maxWidthintegerFilter images by where width is less than or equal to specified value
maxHeightintegerFilter images by where height is less than or equal to specified value
minFileSizeintegerFilter images by where file size is greater than or equal to specifie value
maxFileSizeintegerFilter images by where file size is less than or equal to specified value

Advanced Options

You do not need to set these parameters under normal circumstances.

ParameterTypeDefaultDescription
offsetinteger0Offset of the initial API call
countinteger150Count of results per API call (lower this value may result in more API calls)
clientIDstringAPI request header X-MSEdge-ClientID (auto-determined if not set)
clientIPstringAPI request header X-MSEdge-ClientIP
locationstringAPI request header X-Search-Location
queryParamsobjectAdditional query params (e.g., { imageType: "AnimatedGif" })
headerParamsobjectAdditional header params (e.g., { Pragma: "no-cache" })
fetchCbfunctionfetchCallback to construct a request that returns a response promise

Features

  • Turns a search query into an async iterator of search API call response objects
  • Ends iterator when requested amount is reached or when there are no more results
  • Avoids results overlap by specifying the offset API parameter with previous response's nextOffset value
  • Fills in X-MSEdge-ClientID automatically based on previous API responses

License

MIT

Keywords

FAQs

Package last updated on 21 Sep 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc