ddgs
DDGS (Dux Distributed Global Search) is a Python metasearch library that aggregates results from several web search services. The README lists backends per function: text search can use Bing, Brave, DuckDuckGo, Google, Grokipedia, Mojeek, Yandex, Yahoo and Wikipedia; news uses Bing, DuckDuckGo and Yahoo; images and videos use DuckDuckGo; and book search uses Anna's Archive. `DDGS().text("python programming", max_results=5)` is the basic call, with parameters for region, safe search, time limit, page and backend, plus proxy (http, https or socks5), timeout and certificate verification on the client.
Install with `pip install -U ddgs`, or `pip install -U ddgs[api]` to get an API server. `ddgs api` starts it in the foreground or detached, with options for host, port and proxy, or you can run it with Docker Compose or a bash script. The server serves an MCP endpoint over SSE at `/sse`, API docs at `/docs` and a health check, and exposes five tools: `search_text`, `search_images`, `search_news`, `search_videos` and `search_books`. There is also a CLI (`ddgs --help`). The README's disclaimer says the library is for educational purposes only. It is MIT licensed.