from duckduckgo_search import DDGS from serp.base import SERPBackendBase, SerpResultItem class DuckDuckGoSerpBackend(SERPBackendBase): def __init__(self): self.ddg = DDGS() super().__init__() @property def name(self): return "duckduckgo" async def query(self, query, client) -> list[SerpResultItem]: results = [] for result in self.ddg.text(query.query, max_results=query.n_results): results.append(SerpResultItem( title=result["title"], body=result["body"], href=result["href"], content_slug=None)) return results @property def category(self): return "general"