Google documente cette fonctionnalité sous le nom Grounding with your search API. L’adaptateur de ce guide s’exécute dans votre propre projet Google Cloud, et les recherches qu’il effectue sont facturées sur votre compte Firecrawl.
Fonctionnement
- Votre requête à Gemini inclut un outil de récupération de type
externalApiqui pointe vers votre adaptateur. - Lorsque Gemini a besoin d’informations, il envoie
POST {"query": "..."}à l’adaptateur, en ajoutant votre clé sous la forme?key=. - L’adaptateur appelle l’endpoint
/v2/searchde Firecrawl et renvoie un tableau JSON d’objets contenant chacun unsnippetet unuri. Un tableau vide signifie qu’il n’y a aucun résultat. - Gemini utilise les snippets comme sources d’ancrage et les répertorie dans le champ
groundingMetadatade la réponse.
Prérequis
- Une clé API Firecrawl
- Un projet Google Cloud avec la facturation, Vertex AI et Cloud Run activés, et la CLI
gcloudauthentifiée - Un modèle Gemini compatible avec l’ancrage (grounding) via votre API de recherche. Google en fournit la liste sur la page mentionnée ci-dessus ;
gemini-2.5-flashen fait partie.
Créer l’adaptateur
Créez un dossier contenant les trois fichiers suivants.?key=. Il transmet cette clé à Firecrawl sous forme de jeton au porteur ; la valeur apiKeyString que vous fournissez à Gemini est donc votre clé API Firecrawl. Une clé manquante ou refusée renvoie 401. Le Dockerfile démarre gunicorn sans journal d’accès, car celui-ci enregistrerait la valeur de ?key=. L’adaptateur n’enregistre jamais la requête ni la clé.
Déployer sur Cloud Run
/v0/search. Gemini ne pouvant pas joindre de jeton d’identité Google à cet appel, le service accepte les requêtes non authentifiées et c’est la vérification ?key= qui assure le contrôle d’accès.
Ne pas exposer la clé Firecrawl dans les URL
Cloud Run conserve un journal des requêtes pour chaque service, dans lequel figurent les URL des requêtes. Pour que votre clé Firecrawl n’y apparaisse pas, exécutez l’adaptateur en mode Gateway : vous choisissez un secret partagé que Gemini enverra, et l’adaptateur utilise la clé Firecrawl stockée dans Secret Manager.roles/secretmanager.secretAccessor sur les deux secrets. Dans ce mode, apiKeyString correspond au secret de la Gateway, que vous pouvez récupérer avec gcloud secrets versions access latest --secret grounding-gateway-key.
Vérifier le point de terminaison
snippet et uri. Sans ?key=, le service répond avec un code 401.
Ancrer une requête Gemini
YOUR_SERVICE_URL par l’hôte de votre service et YOUR_KEY par votre clé API Firecrawl, ou par le secret de la Gateway si vous avez déployé en mode Gateway. Pour une localisation régionale autre que global, utilisez LOCATION-aiplatform.googleapis.com comme hôte, conformément à la référence de Google.
Dans la réponse, les sources utilisées par Gemini figurent sous candidates[0].groundingMetadata.groundingChunks. Dans la réponse REST, le champ retrievedContext de chaque fragment contient l’uri et le snippet renvoyés par votre adaptateur.
Options
Définissez-les comme variables d’environnement du service Cloud Run, par exemple avecgcloud run services update firecrawl-grounding --update-env-vars RESULT_LIMIT=5.
Choisir un snippet
Gemini s’appuie sur le texte du snippet : son contenu compte donc davantage que le lien. Par défaut, c’est la description renvoyée par la recherche Firecrawl qui est utilisée. Dans ce champ, la recherche renvoie par défaut des extraits pertinents pour la query et, lorsqu’elle ne peut pas en produire, se rabat sur la simple description de la page : chaque snippet est ainsi un extrait choisi en fonction de la query. Le modemarkdown reprend les premiers caractères du contenu principal de chaque résultat, qui, sur certains sites, correspondent à une bannière ou à un menu placé avant l’article ; c’est donc généralement le choix le moins pertinent. Il alourdit en outre considérablement chaque réponse de Firecrawl. Utilisez-le lorsque les résultats qui vous intéressent n’ont pas de description exploitable.
Limites et comportement
- Google permet à une seule requête de génération d’utiliser jusqu’à 10 sources d’ancrage, et vous pouvez combiner cet outil avec d’autres, comme Google Search.
- La page de Google n’indique ni taille maximale de réponse ni délai d’expiration pour votre point de terminaison. Veillez à ce que l’adaptateur reste rapide et que les snippets soient courts. Avec les valeurs par défaut, une réponse contient au maximum 10 snippets de 1 200 caractères.
- La recherche Firecrawl accepte des requêtes de 500 caractères maximum. Au-delà, l’adaptateur tronque les requêtes à cette longueur.
- Chaque requête correspond à une requête de recherche Firecrawl : vos limites de débit et votre facturation s’appliquent donc à chaque recherche effectuée par Gemini.
- Gemini appelle l’adaptateur une fois pour chaque recherche qu’il décide de lancer, et une seule requête peut en déclencher plusieurs.

