OpenSERP — self-hosted SERP API для AI, SEO и автоматизации

· 2 мин чтения
search api cli llm tools self-hosted mcp web-scraping
📂 Исходный код на GitHub

Self-hosted SERP API на Go с поддержкой Google, Yandex, Bing, Baidu, DuckDuckGo и Ecosia. Браузерный рендеринг, извлечение контента страниц, megasearch, MCP-сервер для AI-агентов, SDK для Python и TypeScript.

OpenSERP — self-hosted SERP API для AI, SEO и автоматизации

OpenSERP — бесплатный open-source SERP API и CLI для живых поисковых данных из шести поисковиков: Google, Yandex, Baidu, Bing, DuckDuckGo и Ecosia. Написан на Go, MIT-лицензия, 1.1k звёзд на GitHub. Особенно полезен, когда рабочему процессу нужно покрытие RU/CN-сегмента веба, а не очередное Google-only API.

Запускается локально, на своём сервере или через облачную версию. Одинаковые эндпоинты и схема ответа — клиентский код мигрирует в любую сторону без привязки к вендору.

Возможности

  • Мульти-движок — отдельные эндпоинты для Google, Yandex, Baidu, Bing, DuckDuckGo, Ecosia со стабильным JSON для SEO-пайплайнов
  • Megasearch/mega/search выполняет один запрос через все выбранные движки, сливает и дедуплицирует результаты
  • Извлечение контента — возвращает результаты поиска вместе с чистым markdown/text содержимым целевых страниц в одном вызове
  • SERP-фичи — AI-саммари, answer boxes, people-also-ask, related searches
  • Поиск картинок/bing/image, /mega/image
  • Продвинутые фильтры — язык, диапазон дат, тип файла, поиск по сайту
  • Форматы ответа — JSON, Markdown, Text, NdJSON
  • Прокси и кэш — HTTP и SOCKS5 прокси, пулы с тегами, настраиваемый кэш
  • Docker — готовые образы на Docker Hub

SDK и интеграции

Тип Пакет Установка
JavaScript / TypeScript SDK @openserp/sdk npm install @openserp/sdk
Python SDK openserp pip install openserp
MCP-сервер (AI-агенты) @openserp/mcp npx @openserp/mcp
n8n community node @openserp/n8n-nodes-openserp Через n8n community nodes

MCP-сервер позволяет AI-агентам (Claude, OpenCode, Cursor) выполнять поисковые запросы напрямую — это превращает OpenSERP в инструмент заземления (grounding) для LLM и RAG-пайплайнов.

Быстрый старт

Docker:

docker run --rm -p 127.0.0.1:7000:7000 karust/openserp:latest serve -a 0.0.0.0 -p 7000

Go install:

go install github.com/karust/openserp@latest
openserp search duckduckgo "open source serp api" --format markdown

Первый запрос:

curl "http://127.0.0.1:7000/mega/search?engines=bing,google&text=golang+vs+rust&extract=1&mode=any"

Megasearch: три режима

Режим Поведение
balanced Параллельный запрос ко всем движкам, слияние и дедупликация результатов
fast Минимальная задержка — используется самый быстрый доступный движок
any Последовательный перебор движков, пока один не ответит

Результаты дедуплицируются по нормализованному URL, кластеры сохраняют информацию о том, какой движок что нашёл.

CLI-поиск

Сервер не обязателен — можно искать прямо из терминала:

openserp search google "golang generics" --limit 20
openserp search yandex "wetter berlin" --format text --lang DE --region DE
openserp search bing "release notes" --site github.com --format ndjson
openserp search google "llm observability" --extract 2 --format markdown

CLI разделяет те же движки, форматы и фильтры, что и API.

Параметры запросов

Основные параметры: text (поисковый запрос), lang (EN, DE, RU, ES), region (DE, en-GB, Berlin), date (20250101..20251231), file (pdf, doc, xls), site (github.com), limit (до 100), start (смещение пагинации), format (json, markdown, text, ndjson).

Параметр extract извлекает и встраивает контент целевых страниц для топ-N результатов (1-5). Стратегия извлечения: auto (raw HTTP, затем браузер при необходимости), fast (только raw HTTP), rendered (всегда браузер).

Прокси и отказоустойчивость

OpenSERP поддерживает HTTP и SOCKS5 прокси. Расширенная конфигурация через config.yaml: tagged proxy pools и per-request override через заголовки X-Use-Proxy: <tag> или X-Use-Proxy: direct. Эндпоинты health, ready, stats, stats/cache, stats/proxy, stats/cb для мониторинга.

Когда использовать

  • AI-агенты и RAG: заземление LLM через поиск + извлечение контента
  • SEO-трекинг: отслеживание позиций в поисковой выдаче Google, Yandex, Baidu
  • Мультиязычные проекты: когда нужно покрытие RU/CN-сегмента, а не только Google
  • Автоматизация: n8n-нода, CLI, SDK — встраивается в любые пайплайны

Облачная версия на openserp.org/cloud — те же эндпоинты, обслуживается командой проекта. Каждый запрос через облако помогает финансировать и улучшать open-source ядро.

Источник: https://github.com/karust/openserp