SerpHubAPI
セットアップ

SerpHubAPIをインストール

使い方に応じた4つの入り口:エージェントで、コードから、まず試す、一括で。4つとも同じAPIキー、同じウォレットを使います。

まず、APIキーを取得してください: /dashboard/keys (新規アカウントには1,000の無料クレジットが付与されます)。MCPサーバーはローカルパッケージ serphubapi-mcp(バージョン 0.1.0、stdio)です。ホスト型のエンドポイントではないため、APIキーはお使いのクライアント設定の中にだけ保存されます。

エージェントで:MCP

Claude Code なら1行、他のクライアントはすべて同じ stdio ブロックです。コマンドは uvx、引数は serphubapi-mcp、APIキーは環境変数に設定します。

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 ではトップレベルのキーが mcpServers ではなく servers です。

{
  "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 とコマンドリストで記述します。

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

ツールと料金:list_services は無料。search はサービスの料金(例:google/web は10クレジット、cache_first は半額、キャッシュヒットは0)に加え、本文1ページごとに3クレジット。fetch は1ページ5クレジット、失敗時は0。batch は各項目を検索と同様に課金します。詳細なリファレンス: MCPドキュメント →

Skill:APIを直接呼び出すエージェント向け

エージェントがMCPを使わずHTTPを直接呼び出す場合は、リポジトリのルートにある 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 を実行してください。起動すればパッケージは正常で、問題はクライアントの設定にあります。
  • APIキーを確認してください。shapi_ で始まります(旧キーは fapi_ で始まり、引き続き利用できます)。
  • 設定を編集したらクライアントを再起動し、/dashboard/logs で利用状況を確認してください。

コードから:シンプルなREST

エージェントは不要です。各呼び出しは X-API-Key ヘッダーにAPIキーを入れた1回のPOSTです。失敗、空の結果、キャッシュヒットは無料です。詳細なリファレンス: 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"])

同じAPIキーで使えるその他のエンドポイント:引用付きの回答は POST /v1/ai-search、ページのMarkdown化は POST /v1/fetch、1回で最大5件の検索は POST /v1/batch。

まず試す:Playground

登録したらセットアップなしで試せます。ログインしてコンソールのPlaygroundで検索を実行でき、標準料金で課金されます。新規アカウントには1,000の無料クレジットが付与されます。

Playgroundを開く →

一括で:バッチ検索

データパイプラインや比較に:1回の呼び出しで最大5件の独立した検索を実行できます。各項目は単一の検索と同様に課金され、1件が失敗しても他の項目はブロックされません。

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 を含みます。

5分で最初の呼び出しを

登録で1,000クレジットを無料プレゼント。クレジットカード不要。