API: providers/duckduckgo

better-web-search-mcp


better-web-search-mcp / providers/duckduckgo

providers/duckduckgo#

Classes#

DuckDuckGoProvider#

Defined in: src/providers/duckduckgo.ts:16

DuckDuckGo provider (free, keyless fallback).

Scrapes the public HTML search endpoint and parses results with cheerio. Always enabled — no API key required. On any failure (network, timeout, parse) it returns an empty array and logs a warning rather than throwing.

Implements#

Constructors#

Constructor#

new DuckDuckGoProvider(): DuckDuckGoProvider

Returns#

DuckDuckGoProvider

Properties#

PropertyModifierTypeDefault valueDescriptionDefined in
namereadonly"duckduckgo""duckduckgo"Stable provider identifier (e.g. “brave”, “tavily”, “duckduckgo”).src/providers/duckduckgo.ts:17

Methods#

search(query, opts): Promise<SearchResult[]>

Defined in: src/providers/duckduckgo.ts:19

Run a search and return normalized results.

Implementations MUST NOT throw on provider errors (missing key, HTTP 401/429, timeout). They return an empty array and log a warning instead, so one failing provider never breaks the aggregate search.

Parameters#
ParameterType
querystring
optsSearchOptions
Returns#

Promise<SearchResult[]>

Implementation of#

SearchProvider.search

Functions#

parseHtmlResults()#

parseHtmlResults(html, limit): SearchResult[]

Defined in: src/providers/duckduckgo.ts:64

Parse DuckDuckGo HTML search results into normalized SearchResults.

Parameters#

ParameterType
htmlstring
limitnumber

Returns#

SearchResult[]