SerpHubAPI
Einrichtung

SerpHubAPI installieren

Vier Einstiege, je nachdem, wie du es nutzt – in einem Agent, aus dem Code, zum Ausprobieren oder in großen Mengen. Alle vier nutzen denselben Key und dasselbe Guthaben.

Hol dir zuerst einen Key unter /dashboard/keys (neue Accounts erhalten 1.000 kostenlose Credits). Der MCP-Server ist das lokale Paket serphubapi-mcp (Version 0.1.0, stdio) – kein gehosteter Endpunkt, dein Key bleibt also in deiner eigenen Client-Konfiguration.

In deinem Agent: MCP

Eine Zeile für Claude Code, derselbe stdio-Block für jeden anderen Client – command uvx, Argument serphubapi-mcp, dein Key in der Umgebung.

Claude Code

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

Das ist die ganze Installation: Dein Agent erhält list_services, search, batch und fetch. Der Server braucht eine uv-Installation (sie liefert uvx) und kommuniziert mit https://api.serphubapi.com.

Cursor

Datei: ~/.cursor/mcp.json (oder .cursor/mcp.json in einem Projekt).

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

VS Code

Datei: .vscode/mcp.json. VS Code verwendet servers statt mcpServers als Top-Level-Key.

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

Windsurf

Datei: ~/.codeium/windsurf/mcp_config.json.

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

Cline

Öffne in Cline die Einstellungen für MCP Servers und füge denselben Block hinzu.

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

OpenCode

Datei: opencode.json. OpenCode beschreibt einen lokalen Server mit type local und einer command-Liste.

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

Tools und Preise: list_services ist kostenlos; search kostet den Preis des Service (z. B. google/web 10 Credits, cache_first die Hälfte, 0 bei Cache-Treffer) plus 3 pro Seite Inhalt; fetch kostet 5 Credits pro Seite, 0 bei Fehler; batch rechnet jedes Element wie eine Suche ab. Vollständige Referenz: MCP-Doku →

Skill: für Agents, die die API direkt aufrufen

Wenn dein Agent HTTP selbst aufruft statt MCP zu nutzen, gib ihm die SKILL.md aus dem Root des Repositorys. Sie beschreibt, wann gesucht, wann eine Antwort mit Quellenangaben angefordert, wann eine Seite abgerufen und wie Suchen gebündelt werden.

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

Dieselben Endpunkte, ohne MCP: POST /v1/search, POST /v1/ai-search, POST /v1/fetch und POST /v1/batch, alle mit dem X-API-Key-Header.

Wenn die Tools nicht erscheinen

  • Führe uvx serphubapi-mcp in einem Terminal aus: Startet es, ist das Paket in Ordnung und das Problem liegt in der Client-Konfiguration.
  • Prüfe den Key: Er beginnt mit shapi_ (ältere Keys beginnen mit fapi_ und funktionieren weiterhin).
  • Starte den Client nach dem Bearbeiten der Konfiguration neu und prüfe deine Ausgaben unter /dashboard/logs.

Aus dem Code: einfaches REST

Kein Agent nötig. Jeder Aufruf ist ein POST mit deinem Key im X-API-Key-Header; fehlgeschlagene Aufrufe, leere Aufrufe und Aufrufe mit Cache-Treffer sind kostenlos. Vollständige Referenz: API-Doku →

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"])

Weitere Endpunkte mit demselben Key: POST /v1/ai-search für eine Antwort mit Quellenangaben, POST /v1/fetch, um eine Seite in Markdown umzuwandeln, POST /v1/batch für bis zu 5 Suchen in einem Aufruf.

Erst ausprobieren: Playground

Registrieren und ohne Setup loslegen: Melde dich an und starte Suchen im Playground der Konsole, abgerechnet zum Standardtarif. Neue Accounts erhalten 1.000 kostenlose Credits.

Playground öffnen →

In großen Mengen: Batch-Suche

Für Datenpipelines und Vergleiche: bis zu 5 unabhängige Suchen in einem Aufruf. Jedes Element wird wie eine einzelne Suche abgerechnet, und ein fehlerhaftes Element blockiert die anderen nicht.

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"}]}'

Die Antwort ist immer JSON, mit Ergebnissen pro Element und meta.total_credits_charged für den gesamten Aufruf.

Dein erster Aufruf in fünf Minuten

1.000 kostenlose Credits bei der Registrierung. Keine Kreditkarte.