karust/openserp

Self-hosted SERP API for AI, SEO & automation. Browser-rendered Google, Bing, Yandex, Baidu, DuckDuckGo and Ecosia search with page extraction 🎉

What it solves

OpenSERP provides a free, open-source alternative to paid Search Engine Results Page (SERP) APIs. It allows users to programmatically retrieve structured search results from multiple major search engines without requiring API keys or per-search billing.

How it works

It operates as a self-hosted API server or a CLI tool that interfaces with search engines like Google, Yandex, Baidu, Bing, DuckDuckGo, and Ecosia. The tool can return results in various formats (JSON, Markdown, Text, NdJSON) and includes a "Megasearch" feature to query multiple engines simultaneously, merge, and deduplicate the results. It also features a built-in URL extraction system that can fetch and convert target web pages into clean markdown for easier consumption by other applications.

Who it’s for

  • AI Developers: Those building LLM-powered agents or RAG systems that need real-time web search capabilities for grounding.
  • SEO Professionals: Users needing a backend for tracking search rankings.
  • Data Collectors: Anyone needing structured search data from multiple engines without paying for commercial API services.

Highlights

  • Multi-Engine Support: Unified JSON schema for Google, Yandex, Baidu, Bing, DuckDuckGo, and Ecosia.
  • Megasearch: Parallel querying across several engines with deduplication and clustering.
  • Content Extraction: Ability to fetch and embed clean markdown of target pages directly within the search result call.
  • Flexible Deployment: Available as a Docker image, Go binary, or a hosted cloud version.
  • Agent-Ready: Includes an MCP server for AI agents and official SDKs for Python and JavaScript/TypeScript.