AI Potluck
Back to Gap Map Product / UX / Search & retrieval

DDGS

deedy5
open source / Overall score: 4.0(strong)

Metasearch library that runs one query against ten public web search services - Bing, Brave, DuckDuckGo, Google, Grokipedia, Mojeek, Startpage, Yandex, Yahoo and Wikipedia - and returns their results in one list. Ships a CLI, an optional FastAPI server and an optional MCP server, all run by the caller with no account and no key.

Formerly `duckduckgo_search`; DuckDuckGo is now one backend of ten, so the DuckDuckGo framing the name still carries is wrong and the display name follows the repository. `deedy5` is an individual GitHub account rather than an organization. Two things worth knowing before this is read as an ordinary MIT library: what it does to Bing, Google, Brave and Startpage is scraping those engines have not sanctioned, and the README's entire disclaimer is the single line "This library is for educational purposes only" - which sits in the README and not in the LICENSE, so it does not narrow the MIT grant.

Openness

5 high confidence
5.0
license
MIT(OSI
source
public(the whole library, CLI and both optional servers)
self-host
yes(there is nothing else - no hosted service exists)
service
none
core features withheld
no — no vendor tier for anything to be withheld for

Open source with nothing behind it: the MIT grant covers the product itself rather than a client in front of a closed index, which is what separates this record from every other search product in the category. The READMEs "educational purposes only" line is a disclaimer about use and not a licence term - it is not in LICENSE.md, which is the unmodified MIT text.

Adoption

4 high confidence
4.0

Adoption is measured by PyPI downloads of the ddgs package. The library is the product itself, with no separate service or client to call, so package downloads measure use of the product itself, not a proxy for it.

Capability

4 high confidence
4.0

DDGS answers a query with ranked references through text(), and extract() fetches the full content of any URL. That find-then-fetch combination puts it level with Firecrawl.

  • https://raw.githubusercontent.com/deedy5/ddgs/main/README.md recorded 2026-09-17

    The README: "A metasearch library that aggregates results from diverse web search services", the backend table listing ten `text()` backends, the worked `text()` example returning objects of exactly {title, href, body}, and "extract(): Fetch a URL and extract its content in various formats" documented as taking `url`.

Verified 2026-09-16