Une alternative à Google Custom Search JSON API pour des résultats organiques en direct

Selon la documentation de Google, la Custom Search JSON API est fermée aux nouveaux clients, et les clients existants ont jusqu’au 1er janvier 2027 pour effectuer la transition. Serper.live n’est pas un remplacement direct : le service renvoie en JSON les résultats organiques en direct d’une recherche Google dans le pays choisi.

Publié : Mis à jour :
Une alternative à Google Custom Search JSON API pour des résultats organiques en direct
Sur cette page
01

Ce qui change

Selon la documentation de Google, la Custom Search JSON API est fermée aux nouveaux clients, et les clients existants ont jusqu’au 1er janvier 2027 pour passer à une solution alternative. La même page décrit l’API comme un moyen d’obtenir des résultats web et images depuis un Programmable Search Engine, le moteur que vous configurez et identifiez avec cx.

Les dates et les conditions sont celles de Google et peuvent changer ; vérifiez-les sur la page de Google avant de fixer une échéance.

02

Ce que Serper.live renvoie à la place

Serper.live est une API SERP Google en temps réel : chaque requête lance une vraie recherche Google pour le pays et l’appareil choisis et renvoie en JSON les résultats organiques affichés à ce moment-là, jusqu’à 100 par requête (10 par défaut).

Ce n’est ni un moteur de recherche à part entière ni une recherche interne de site : aucun moteur à configurer, aucun index de vos pages. Une requête prend généralement 2–3 secondes, car elle charge Google en direct, et elle est facturée à la requête depuis un solde prépayé.

Si votre intégration Custom Search vous montrait ce que Google classe pour une requête, c’est la solution la plus proche. Si elle alimentait la recherche dans votre propre site ou sur une liste fixe de domaines, il vous faut plutôt un produit de recherche interne : dans ce cas, la documentation de Google oriente vers Vertex AI Search.

03

Correspondance des paramètres

Custom Search JSON API à gauche, Serper.live à droite :

  • q → query : le mot-clé, de 2 à 120 caractères.
  • gl → country : le code à deux lettres d’un marché ouvert, issu de GET /v1/countries (actuellement Allemagne, France, Royaume-Uni, Turquie, Ukraine et États-Unis).
  • hl → language : la langue de l’interface Google ; facultatif, par défaut la langue du pays.
  • num → limit : résultats organiques par requête, de 1 à 100 (10 par défaut ; chaque bloc de 10 entamé coûte un prix du marché).
  • start → pas d’équivalent : au lieu de paginer, augmentez limit, et un seul appel renvoie jusqu’à 100 résultats organiques.
  • cx → inutile : il n’y a pas de moteur à configurer, la requête interroge Google pour le marché.
  • key → un en-tête Authorization: Bearer avec votre jeton sl_live_.
  • items[] → organic[] : link devient url, displayLink correspond à peu près à domain ; title et snippet gardent leur nom, et snippet peut valoir null.
04

Étapes de la migration

La requête ci-dessous constitue toute l’intégration ; voici les étapes autour :

  1. Créez un compte et un jeton, puis rechargez à partir de 5 $ en USDT ou USDC.
  2. Remplacez le GET vers l’endpoint Custom Search par POST https://api.serper.live/v1/search, un corps JSON et l’en-tête Authorization.
  3. Faites correspondre les paramètres comme ci-dessus ; supprimez cx et start.
  4. Lisez organic[] au lieu de items[], renommez link en url et gérez un snippet à null.
  5. Portez le délai d’attente HTTP à au moins 100 secondes et placez l’appel dans une file d’attente au lieu de l’exécuter dans la requête de l’utilisateur : une recherche en direct prend généralement 2–3 secondes, la première vers un marché après une pause davantage.
  6. Envoyez une Idempotency-Key pour qu’un appel répété ne soit jamais facturé deux fois.
  7. Faites tourner les deux en parallèle pendant quelques jours, comparez, puis basculez.
curl
curl -X POST https://api.serper.live/v1/search \
  -H "Authorization: Bearer sl_live_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"best coffee shops","country":"DE"}'
JavaScript
const response = await fetch('https://api.serper.live/v1/search', {
    method: 'POST',
    headers: {
        Authorization: 'Bearer sl_live_YOUR_TOKEN',
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({ query: 'best coffee shops', country: 'DE' }),
    signal: AbortSignal.timeout(100000),
});
const result = await response.json();

console.log(result.organic);
Python
import requests

response = requests.post(
    "https://api.serper.live/v1/search",
    headers={"Authorization": "Bearer sl_live_YOUR_TOKEN"},
    json={"query": "best coffee shops", "country": "DE"},
    timeout=100,
)
print(response.json()["organic"])
FAQ

Questions sur la migration

Serper.live remplace-t-il directement la Google Custom Search JSON API ?

Non. L’endpoint, l’authentification, les paramètres et la forme de la réponse sont différents, et les résultats proviennent d’une recherche Google en direct plutôt que d’un moteur que vous configurez. Prévoyez un petit adaptateur, pas un simple changement d’URL.

L’arrêt de la Custom Search JSON API concerne-t-il les clients existants ?

Selon la documentation de Google, oui : les clients existants ont jusqu’au 1er janvier 2027 pour passer à une solution alternative. Consultez la page de Google pour la formulation actuelle avant de fixer une date.

Puis-je limiter les résultats à mon propre site, comme avec un Programmable Search Engine ?

Pas par configuration. Serper.live interroge Google pour le marché et renvoie les résultats organiques jusqu’à limit : le top 10 par défaut, jusqu’à 100 ; filtrez organic[] par domain de votre côté. Que Google applique ou non les opérateurs de recherche dans le mot-clé dépend de Google : testez-le d’abord dans le Playground.

Commencez avec quelques dollars de crédit.

Sans abonnement ni engagement minimum. Créez un compte Serper.live, ajoutez de l’USDT ou de l’USDC et envoyez votre première requête en direct en quelques minutes.