/duckduckgo-images-api

lightweight package to get image results from duck duck go

Primary LanguageJavaScriptMIT LicenseMIT

duckduckgo-images-api

A lightweight node package to programmatically obtain image search results from DuckDuckGo search engine.

The method used is inspired from python package with same name. Thanks to, deepanprabhu for original source. This is my first node package and it was fun to write.

usage

To install, run:

npm i duckduckgo-images-api

When using TypeScript, run:

npm i @types/duckduckgo-images-api

The package provides simple async api. And uses following config object as input:

{ 
    query: "search term", 
    moderate : false,   
    iterations : 2 ,
    retries  : 2
}
  • query param is mandatory
  • moderate (optional) to moderate search results if none provided defaults to moderation off (false)
  • iterations (optional) limit the number of result sets fetched, default 2
  • retries (optional) limit retries per iteration, default 2

image_search function return a promise that resolves to array of complete results.

image_search({ query: "birds", moderate: true }).then(results=>console.log(results))

image_search_generator function is a async generator that yield promise of result set on each iteration. Useful for large iterations. Please check the node version compatability for this syntax.

async function main(){
    for await (let resultSet of image_search_generator({ query: "birds", moderate: true ,iterations :4})){
      console.log(resultSet)
    }
  }
  
main().catch(console.log);

Please feel free to report any issues or feature requests.

note

DuckDuckGo provides an instant answer API. This package does not use this route. This package mocks the browser behaviour using the same request format. Use it wisely.