SerpHubAPI
Configuration

Installer SerpHubAPI

Quatre points d'entrée, selon votre usage — dans un agent, depuis le code, pour essayer, ou en masse. Tous utilisent la même clé et le même portefeuille.

Commencez par obtenir une clé sur /dashboard/keys (les nouveaux comptes reçoivent 1 000 crédits gratuits). Le serveur MCP est le package local serphubapi-mcp (version 0.1.0, stdio) — ce n'est pas un endpoint hébergé, votre clé reste donc dans la configuration de votre propre client.

Dans votre agent : MCP

Une ligne pour Claude Code, le même bloc stdio pour tous les autres clients — commande uvx, argument serphubapi-mcp, votre clé dans l'environnement.

Claude Code

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

C'est toute l'installation : votre agent obtient list_services, search, batch et fetch. Le serveur nécessite uv (qui fournit uvx) et communique avec https://api.serphubapi.com.

Cursor

Fichier : ~/.cursor/mcp.json (ou .cursor/mcp.json dans un projet).

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

VS Code

Fichier : .vscode/mcp.json. VS Code utilise servers au lieu de mcpServers comme clé de premier niveau.

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

Windsurf

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

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

Cline

Dans Cline, ouvrez les paramètres MCP Servers et ajoutez le même bloc.

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

OpenCode

Fichier : opencode.json. OpenCode décrit un serveur local avec type local et une liste command.

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

Outils et prix : list_services est gratuit ; search coûte le prix du service (par ex. google/web 10 crédits, cache_first à moitié prix, 0 sur un hit de cache) plus 3 par page de contenu ; fetch coûte 5 crédits par page, 0 en cas d'échec ; batch facture chaque élément comme une recherche. Référence complète : Documentation MCP →

Skill : pour les agents qui appellent l'API directement

Si votre agent appelle lui-même l'API HTTP au lieu d'utiliser MCP, donnez-lui le SKILL.md à la racine du dépôt. Il explique quand rechercher, quand demander une réponse avec citations, quand extraire une page, et comment grouper les recherches.

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

Les mêmes endpoints, sans MCP : POST /v1/search, POST /v1/ai-search, POST /v1/fetch et POST /v1/batch, tous avec l'en-tête X-API-Key.

Si les outils n'apparaissent pas

  • Lancez uvx serphubapi-mcp dans un terminal : s'il démarre, le package fonctionne et le problème vient de la configuration du client.
  • Vérifiez la clé : elle commence par shapi_ (les anciennes clés commencent par fapi_ et fonctionnent toujours).
  • Redémarrez le client après avoir modifié sa configuration, et consultez vos dépenses sur /dashboard/logs.

Depuis le code : REST tout simplement

Aucun agent nécessaire. Chaque appel est un simple POST avec votre clé dans l'en-tête X-API-Key ; les appels en échec, vides ou servis depuis le cache sont gratuits. Référence complète : Documentation de l'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"])

Autres endpoints avec la même clé : POST /v1/ai-search pour une réponse avec citations, POST /v1/fetch pour transformer une page en Markdown, POST /v1/batch pour jusqu'à 5 recherches en un seul appel.

Essayez d'abord : Playground

Inscrivez-vous, puis essayez sans configuration : connectez-vous et lancez des recherches dans le Playground de la console, facturées au tarif standard. Les nouveaux comptes reçoivent 1 000 crédits gratuits.

Ouvrir le Playground →

En masse : recherche groupée

Pour les pipelines de données et les comparaisons : jusqu'à 5 recherches indépendantes en un seul appel. Chaque élément est facturé comme une recherche unique, et l'échec d'un élément ne bloque pas les autres.

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

La réponse renvoie toujours du JSON, avec les résultats par élément et meta.total_credits_charged pour l'ensemble de l'appel.

Faites votre premier appel en cinq minutes

1 000 crédits gratuits à l'inscription. Sans carte bancaire.