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.
1. Dans votre agent
Serveur MCP ou SKILL.md — pour Claude Code, Cursor, VS Code et plus.
2. Depuis le code
REST tout simplement : curl ou n'importe quel client HTTP, aucun agent nécessaire.
3. Essayez d'abord
Playground dans la console, après connexion.
4. En masse
Jusqu'à 5 recherches par appel avec /v1/batch.
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.
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.