SerpHubAPI
Настройка

Подключить SerpHubAPI

Четыре способа подключения в зависимости от задачи: в агенте, из кода, чтобы попробовать или пакетно. Все четыре используют один ключ и один кошелёк.

Сначала получите ключ на /dashboard/keys (новым аккаунтам начисляется 1 000 бесплатных кредитов). MCP-сервер — это локальный пакет serphubapi-mcp (версия 0.1.0, stdio), а не размещённый у нас эндпоинт, поэтому ваш ключ остаётся только в конфигурации вашего клиента.

В вашем агенте: MCP

Одна строка для Claude Code и один и тот же блок stdio для всех остальных клиентов: команда uvx, аргумент serphubapi-mcp, ключ — в переменной окружения.

Claude Code

claude mcp add serphubapi -e SERPHUBAPI_API_KEY=shapi_xxxxxxxx -- uvx serphubapi-mcp

Вот и вся установка: ваш агент получает list_services, search, batch и fetch. Серверу нужен установленный uv (он предоставляет uvx), и он обращается к https://api.serphubapi.com.

Cursor

Файл: ~/.cursor/mcp.json (или .cursor/mcp.json в проекте).

{
  "mcpServers": {
    "serphubapi": {
      "command": "uvx",
      "args": ["serphubapi-mcp"],
      "env": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

VS Code

Файл: .vscode/mcp.json. В VS Code ключ верхнего уровня — servers, а не mcpServers.

{
  "servers": {
    "serphubapi": {
      "command": "uvx",
      "args": ["serphubapi-mcp"],
      "env": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

Windsurf

Файл: ~/.codeium/windsurf/mcp_config.json.

{
  "mcpServers": {
    "serphubapi": {
      "command": "uvx",
      "args": ["serphubapi-mcp"],
      "env": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

Cline

В Cline откройте настройки MCP Servers и добавьте тот же блок.

{
  "mcpServers": {
    "serphubapi": {
      "command": "uvx",
      "args": ["serphubapi-mcp"],
      "env": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

OpenCode

Файл: opencode.json. В OpenCode локальный сервер описывается через type local и список command.

{
  "mcp": {
    "serphubapi": {
      "type": "local",
      "command": ["uvx", "serphubapi-mcp"],
      "environment": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

Инструменты и цены: list_services бесплатен; search стоит по цене сервиса (например, google/web — 10 кредитов, cache_first — половина, 0 при попадании в кеш) плюс 3 за каждую страницу содержимого; fetch — 5 кредитов за страницу, 0 при неудаче; batch тарифицирует каждый элемент как поиск. Полный справочник: Документация MCP →

Skill: для агентов, которые вызывают API напрямую

Если ваш агент сам обращается к HTTP, а не через MCP, дайте ему SKILL.md из корня репозитория. В нём описано, когда искать, когда запрашивать ответ с цитатами, когда загружать страницу и как объединять поиски в пакет.

# In your agent's skills folder, or pasted into its instructions:
# https://github.com/sou2026x/serp/blob/main/SKILL.md

Те же эндпоинты без MCP: POST /v1/search, POST /v1/ai-search, POST /v1/fetch и POST /v1/batch, все с заголовком X-API-Key.

Если инструменты не появились

  • Выполните uvx serphubapi-mcp в терминале: если сервер запускается, с пакетом всё в порядке, и проблема в конфигурации клиента.
  • Проверьте ключ: он начинается с shapi_ (старые ключи начинаются с fapi_ и по-прежнему работают).
  • После правки конфигурации перезапустите клиент и проверьте расходы на /dashboard/logs.

Из кода: обычный REST

Агент не нужен. Каждый вызов — один POST с ключом в заголовке X-API-Key; неудачные, пустые вызовы и попадания в кеш бесплатны. Полный справочник: Документация API →

curl -s https://api.serphubapi.com/v1/search \
  -H "X-API-Key: shapi_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"q": "best espresso machine 2026", "engine": "google", "num": 5}'
import json, urllib.request

req = urllib.request.Request(
    "https://api.serphubapi.com/v1/search",
    data=json.dumps({"q": "best espresso machine 2026", "engine": "google", "num": 5}).encode(),
    headers={"X-API-Key": "shapi_xxxxxxxx", "Content-Type": "application/json"},
)
with urllib.request.urlopen(req) as r:
    print(json.load(r)["results"])

Другие эндпоинты на том же ключе: POST /v1/ai-search — ответ с цитатами, POST /v1/fetch — страница в Markdown, POST /v1/batch — до 5 поисков в одном вызове.

Сначала попробуйте: Playground

Зарегистрируйтесь и пробуйте без настройки: войдите и выполняйте поиски в Playground консоли по стандартной цене. Новым аккаунтам начисляется 1 000 бесплатных кредитов.

Открыть Playground →

Пакетно: пакетный поиск

Для конвейеров данных и сравнений: до 5 независимых поисков в одном вызове. Каждый элемент тарифицируется как отдельный поиск, и ошибка одного не блокирует остальные.

curl -s https://api.serphubapi.com/v1/batch \
  -H "X-API-Key: shapi_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"queries": [{"q": "espresso", "engine": "google"}, {"q": "espresso", "engine": "xiaohongshu", "type": "notes"}]}'

Ответ всегда возвращается в JSON — с результатами по каждому элементу и meta.total_credits_charged за весь вызов.

Первый вызов за пять минут

1 000 бесплатных кредитов при регистрации. Без банковской карты.