deedy5/ddgs
A metasearch library that aggregates results from diverse web search services
What it solves
DDGS (Dux Distributed Global Search) is a metasearch library that allows users to aggregate search results from multiple web search engines simultaneously. It simplifies the process of gathering data from the web by providing a single interface for text, images, videos, news, and books search, as well as content extraction from URLs.
How it works
The library provides a DDGS class that acts as a wrapper around various search backends. Users can specify a backend (e.g., Google, Bing, DuckDuckGo, Brave, Yahoo) or set it to "auto" to let the library handle the selection. It offers several specialized search functions:
- Text Search: Aggregates results from engines like Bing, Brave, DuckDuckGo, Google, Grokipedia, Mojeek, Startpage, Yandex, Yahoo, and Wikipedia.
- Media Search: Provides dedicated functions for images, videos, and news.
- Content Extraction: The
extract()function fetches a URL and converts its content into various formats, such as Markdown, plain text, or raw HTML.
The project also provides an API server (via FastAPI) and an MCP (Model Context Protocol) server, making it easy to integrate these search tools into AI agents or other applications.
Who it’s for
Developers building AI agents, RAG (Retrieval-Augmented Generation) pipelines, and data gathering tools who need a unified, programmatic way to access multiple search engines without managing multiple individual APIs.
Highlights
- Multi-Backend Support: Supports a wide array of search engines across different modalities (text, image, video, news, books).
- AI-Ready Integration: Includes a built-in MCP server for direct integration with AI clients like Cursor or Claude Desktop.
- Content Extraction: Built-in utility to convert web pages into AI-friendly Markdown format.
- Flexible Deployment: Can be deployed as a Python library, a standalone API server, or via Docker Compose.
Related
- Project
- Project
- Project
- Project
- Project