API: providers/duckduckgo
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#
Properties#
| Property | Modifier | Type | Default value | Description | Defined in |
|---|---|---|---|---|---|
name | readonly | "duckduckgo" | "duckduckgo" | Stable provider identifier (e.g. “brave”, “tavily”, “duckduckgo”). | src/providers/duckduckgo.ts:17 |
Methods#
search()#
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#
| Parameter | Type |
|---|---|
query | string |
opts | SearchOptions |
Returns#
Promise<SearchResult[]>
Implementation of#
Functions#
parseHtmlResults()#
parseHtmlResults(
html,limit):SearchResult[]
Defined in: src/providers/duckduckgo.ts:64
Parse DuckDuckGo HTML search results into normalized SearchResults.
Parameters#
| Parameter | Type |
|---|---|
html | string |
limit | number |