Paramètres et opérateurs d’URL de recherche Google : liste 2026 (50+)

Référence complète aux paramètres et opérateurs des URL de recherche Google pour 2026, couvrant les modifications, les nouveautés et leur utilisation avec l’API SERP.
44 min de lecture
Google Search URL Parameters & Operators blog image

Google a supprimé le paramètre num en septembre 2025 sans avertissement. Le rendu JavaScript est devenu obligatoire et les aperçus IA ont été déployés dans 200 pays et territoires. Si vous effectuez du scraping sur Google, vos requêtes HTTP brutes renvoient désormais des réponses vides ou dégradées, la pagination basée sur num est interrompue et le contenu généré par l’IA repousse les résultats organiques sous le pli.

Chaque URL de recherche Google contient des paramètres après le ? (comme q pour votre requête, gl pour le pays, hl pour la langue, tbs pour les filtres temporels, et des dizaines d’autres). Si vous vous trompez, votre Scraper renvoie des données provenant du mauvais pays ou des résultats vides difficiles à déboguer.

Vous trouverez ci-dessous tous les paramètres importants, avec du code testé et des exemples pratiques. Tout le code a été exécuté sur l’API SERP de Bright Data en direct.

TL;DR : Ce que vous devez savoir pour 2026 :

  • Suivi du classement : q=...&gl=us&hl=en&pws=0&udm=14&brd_json=1 (non personnalisé, pas d’aperçus IA)
  • Pagination : start=10, start=20, etc. (10 résultats par page). num ne fonctionne plus
  • Filtres temporels : tbs=qdr:d (jour précédent), tbs=sbd:1 (tri par date), tbs=li:1 (mot pour mot)
  • Nouveau : udm étend tbm avec des modes tels que udm=14 (web uniquement, sans IA). Les deux fonctionnent aujourd’hui. Prise en charge des deux.
  • Requis : rendu JavaScript. Les appels bruts requests.get() renvoient des résultats vides depuis janvier 2025

Exemple minimal fonctionnel :

curl -X POST "https://api.brightdata.com/request" 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer <API_TOKEN>" 
  -d '{"zone":"<ZONE_NAME>","url":"https://www.google.com/search?q=tools+for+scraping+web+content&gl=us&hl=en&brd_json=1","format":"raw"}'

(brd_json=1 dans l’URL indique à Bright Data d’analyser le code HTML de Google en JSON structuré. format: raw dans le corps de la requête renvoie la réponse telle quelle depuis l’infrastructure de Bright Data, qui dans ce cas est le JSON analysé produit par brd_json=1.)

Référence rapide : aide-mémoire des paramètres de recherche Google

Paramètre Fonction Statut
q Requête de recherche Actif
hl Langue de l’interface (en, fr, de) Actif
gl Géolocalisation / pays (us, gb, in) Actif
lr Limiter les résultats à des langues spécifiques Actif
cr Limiter les résultats aux pages hébergées dans des pays spécifiques Actif
num Résultats par page Inactif (septembre 2025)
début Décalage de pagination Actif
tbm Type de recherche (isch, nws, shop, vid) Actif
udm Filtre de mode de contenu (14, 2, 39, 50) Actif (Nouveau)
tbs Filtres temporels et avancés (qdr:d, qdr:w) Actif
sécurisé Filtrage SafeSearch Actif
filtre Filtrage des résultats en double Actif
nfpr Désactiver la correction automatique Actif
pws Désactiver les résultats personnalisés (pws=0) Actif
uule Emplacement codé (ciblage au niveau de la ville) Actif
sclient Identifiant du client de recherche Actif (interne)
kgmid ID d’entité du graphe de connaissances Actif
si Onglets du Knowledge Graph (chaîne codée opaque ; non constructible par l’utilisateur) Actif (interne)
ibp Contrôle du rendu (emplois, listes d’entreprises) Actif
ei, ved, sxsrf Suivi interne / jetons de session Actif (interne)

Les opérateurs de recherche Google (site:, filetype:, intitle:, etc.) sont décrits dans la section consacrée aux opérateurs plus bas.

Essayez les recherches de base dans l’API SERP – aucune connexion requise. Pour obtenir l’ensemble complet des paramètres, utilisez directement l’API.

Que sont les paramètres de recherche Google ?

Les paramètres de recherche Google contrôlent la requête, l’emplacement, la langue et le filtrage des résultats. Ils sont importants pour le suivi du classement SEO, l’analyse de la concurrence, la surveillance des publicités et l’alimentation des résultats de recherche dans les applications LLM.

Un changement intervenu en 2025 : Google a annoncé en avril 2025 que les ccTLD (domaines de premier niveau nationaux tels que google.co.uk, google.de, google.ca) redirigeraient vers google.com. Le déploiement est progressif et certains ccTLD continuent de fournir directement des résultats. Dans tous les cas, utilisez gl et hl pour la localisation, et non le domaine.

Paramètres de recherche de base

Ce sont ceux que vous définirez pour presque toutes les requêtes : requête, langue, pays et pagination.

q – requête de recherche

Votre requête de recherche va dans q.

https://www.google.com/search?q=bright+data+Scraping web

Les espaces dans la requête sont encodés sous la forme + ou %20. Le paramètre q prend également en charge les opérateurs de recherche Google, par exemple :

https://www.google.com/search?q=filetype:pdf+Scraping web+guide
https://www.google.com/search?q=site:github.com+API SERP
https://www.google.com/search?q=intitle:Proxy rotatif+tutorial

Encodez correctement votre chaîne de requête, en particulier les caractères non latins (chinois, arabe, japonais, coréen, etc.) – le fait de ne pas les encoder est une cause fréquente de résultats inattendus ou vides. Si vous utilisez l’API SERP de Bright Data, placez toujours le paramètre q en premier dans votre URL. La documentation de Bright Data l’exige. Placer d’autres paramètres avant q peut ralentir les réponses et réduire les taux de réussite.

Via la méthode Proxy de l’API SERP de Bright Data:

curl --proxy brd.superproxy.io:33335 
  --proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD> -k 
  "https://www.google.com/search?q=Scraping web tools&brd_json=1"

Si vous avez besoin que le code HTML brut soit conservé dans le JSON, utilisez brd_json=html à la place de brd_json=1. L’API Direct prend en charge des formats de sortie supplémentaires, notamment Markdown, les captures d’écran et la sortie analysée allégée.

La réponse JSON se présente comme suit (raccourcie) :

{
  "general": {
    "search_engine": "google",
    "results_cnt": 33500000,
    "search_time": 0.21,
    "language": "en",
    "mobile": false,
    "search_type": "text"
  },
  "input": {
    "original_url": "https://www.google.com/search?q=Scraping web tools&brd_json=1"
  },
  "organic": [
    {
      « link » : « https://www.reddit.com/r/automation/comments/1ncuv8k/best_web_scraping_tools_ive_tried_and_what_i/ »,
      « title » : « Les meilleurs outils de Scraping web que j'ai essayés (et ce que j'ai appris de ... »,
      « description » : « Playwright : excellent pour l'automatisation et les tests structurés, mais un peu trop lourd en code pour un scraping léger. »,
      « rank » : 1,
      « global_rank » : 5
    }
  ]
}

Le JSON regroupe tout par section SERP. Les résultats organiques sont séparés des top_ads et bottom_ads, les panneaux de connaissances sont séparés des people_also_ask, les résultats locaux sont dans snack_pack, et les nouvelles fonctionnalités comme ai_overview sont chacune dans leur propre champ. Il y a plus d’une douzaine de sections au total, selon la requête.

hl – langue hôte

Abréviation de « host language » (langue hôte), hl contrôle la langue de l’interface Google et la manière dont Google interprète votre requête.

https://www.google.com/search?q=coffee&hl=en
https://www.google.com/search?q=coffee&hl=es
https://www.google.com/search?q=coffee&hl=ja

Les valeurs sont des codes ISO 639-1 tels que hl=en (anglais), hl=fr (français), hl=de (allemand) ou des balises de langue BCP 47 telles que hl=en-gb (anglais britannique), hl=pt-br (portugais brésilien), hl=es-419 (espagnol latino-américain).

Grâce à l’API SERP, la même recherche se présente comme suit :

curl --proxy brd.superproxy.io:33335 
  --proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD> -k 
  "https://www.google.com/search?q=meilleurs+outils+de+scraping&hl=fr&gl=fr&brd_json=1"

Cela permet d’obtenir des résultats en français pour une requête en français, comme si vous effectuiez votre recherche depuis la France.

gl – géolocalisation

Votre emplacement de recherche influe sur les résultats. Le paramètre gl simule votre géolocalisation (le pays d’où semble provenir la recherche). Il utilise les codes pays à deux lettres ISO 3166-1 alpha-2.

https://www.google.com/search?q=pizza+delivery&gl=us
https://www.google.com/search?q=pizza+delivery&gl=gb
https://www.google.com/search?q=pizza+delivery&gl=in

Comparez la même requête dans deux pays :

Same "best restaurants" query with gl=us showing US results (Yelp, Texas, St. Louis) vs gl=jp showing Japan results (Tabelog, Tokyo restaurants)
gl=us renvoie Yelp et des magazines locaux américains. Avec gl=jp, les résultats affichent plutôt 食べログ (Tabelog) et des guides de restaurants à Tokyo. Même requête, résultats très différents.

lr – restriction linguistique

Une recherche sur le machine learning avec hl=en renvoie toujours des articles en chinois, japonais ou allemand si Google les juge pertinents. Le paramètre lr résout ce problème. Il limite les résultats aux pages réellement rédigées dans des langues spécifiques, et pas seulement à l’interface.

https://www.google.com/search?q=machine+learning&lr=lang_en
https://www.google.com/search?q=machine+learning&lr=lang_en|lang_fr

Ajoutez le préfixe lang_ au code de la langue (ainsi, l’anglais est lang_en et le français est lang_fr). Utilisez la barre verticale | pour combiner plusieurs langues.

cr – restriction par pays

Similaire à lr, mais filtre par pays d’hébergement plutôt que par langue du contenu. Utilisez cr=countryUS pour un seul pays, cr=countryUS|countryGB pour plusieurs pays. La principale différence avec gl: gl géolocalise votre recherche comme si vous vous trouviez dans ce pays, cr filtre les pages réellement hébergées dans ce pays. Utilisez les deux ensemble si vous avez besoin d’un filtrage précis.

num – nombre de résultats

Le paramètre num permettait de contrôler le nombre de résultats de recherche affichés par page (par exemple, num=20, num=50, num=100).

Si votre Scraper n’affiche plus que 10 résultats depuis septembre 2025, c’est à cause de cette modification du paramètre. En septembre 2025, Google a discrètement désactivé le paramètre num. Il est désormais complètement ignoré. Google affiche 10 résultats par page, quelle que soit la valeur num que vous transmettez, sans erreur ni redirection. Cela a perturbé le fonctionnement des outils SEO et des workflows de scraping SERP qui s’appuyaient sur ce paramètre. Un porte-parole de Google a confirmé : « L’utilisation de ce paramètre d’URL n’est pas quelque chose que nous soutenons officiellement ». La section consacrée aux changements de 2025-2026 traite de la solution de contournement utilisant le point de terminaison Top 100 Results de Bright Data.

Vous pouvez le vérifier. num=100 figure dans l’URL, mais seuls 10 résultats sont renvoyés :

Google search with num=100 in URL still showing pagination, proving only 10 results were returned
Recherche avec num=100 dans l’URL. Google ne renvoie toujours que 10 résultats par page avec une pagination complète. Le paramètre est complètement ignoré.

start – décalage des résultats (pagination)

Depuis que Google a supprimé num, start est votre seule option de pagination native. Il définit le décalage des résultats, contrôlant la position à partir de laquelle commencer.

https://www.google.com/search?q=Scraping web&start=0
https://www.google.com/search?q=Scraping web&start=10
https://www.google.com/search?q=Scraping web&start=20

start=0 correspond à la page 1 (par défaut), start=10 à la page 2 et start=20 à la page 3.

Comme Google renvoie 10 résultats par page, start=20 vous donne les résultats 21 à 30, start=30 vous donne les résultats 31 à 40, et ainsi de suite. Lors de la pagination sur plusieurs pages, Google peut renvoyer des résultats qui se chevauchent ou qui sont légèrement réorganisés entre les pages. Dédupliquez par URL avant le traitement.

Pagination via l’API SERP :

# Récupérer la page 3 des résultats
curl --proxy brd.superproxy.io:33335 
  --Proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD> -k 
  "https://www.google.com/search?q=serp+scraping&start=20&brd_json=1"

Paramètres de type de recherche

Google dispose de deux paramètres pour basculer entre les différents types de recherche (images, actualités, achats, vidéos) : tbm et udm.

tbm – type de contenu recherché

Le paramètre tbm (généralement interprété comme « to be matched », bien que Google n’ait jamais confirmé cet acronyme) indique à Google le type de résultats de recherche que vous souhaitez obtenir. Sans lui, Google effectue par défaut une recherche Web classique.

Valeur Type de recherche Exemple
(vide) Recherche Web q=café
isch Recherche d’images tbm=isch&q=café
vid Recherche vidéo tbm=vid&q=café
nws Recherche d’actualités tbm=nws&q=café
shop Recherche de magasins tbm=shop&q=café
bks Recherche de livres tbm=bks&q=café

Même requête pour trois types de recherche :

Same "artificial intelligence" query across three tbm values: default web results with AI Overview, tbm=nws showing news articles, and tbm=shop showing product listings
Même requête, valeurs tbm différentes : la recherche Web par défaut (à gauche) affiche une présentation de l’IA, tbm=nws (au centre) renvoie des articles d’actualité du NYT et du Guardian, et tbm=shop (à droite) affiche des listes de produits avec leurs prix et leurs notes.

Recherche d’actualités sur l’intelligence artificielle :

https://www.google.com/search?q=artificial+intelligence&tbm=nws&hl=en&gl=us

Recherche d’achat pour les claviers mécaniques :

https://www.google.com/search?q=mechanical+keyboard&tbm=shop&gl=us

Tous ces types de recherche fonctionnent de manière native. Lors de l’analyse de la réponse JSON, les publicités sont séparées dans les champs top_ads et bottom_ads, et les listes de produits apparaissent sous popular_products, tous distincts des résultats organiques. Pour la surveillance dédiée des annonces, consultez le Scraper Google Ads. Les paramètres de voyage et d’hôtel (hotel_occupancy, hotel_dates, brd_dates, brd_occupancy, brd_currency, etc.) sont spécifiques à Bright Data et documentés dans la référence des paramètres de l’API SERP.

udm – mode d’affichage utilisateur

Le nouveau filtre de mode de contenu de Google est udm, qui étend tbm avec des types de résultats supplémentaires. Il contrôle le « mode » des résultats de recherche que vous voyez. Aucune des valeurs udm ne figure dans la documentation officielle de Google. Elles ont toutes été rétro-conçues par la communauté des développeurs à travers des tests. Les valeurs ci-dessous sont stables et largement utilisées, mais Google pourrait les modifier sans préavis.

Valeur Mode de résultat Description
udm=2 Images Résultats de recherche d’images
udm=7 Vidéos Résultats vidéo ; équivalent plus récent de tbm=vid
udm=12 Actualités Résultats d’actualités ; équivalent plus récent de tbm=nws
udm=14 Web Résultats Web classiques sans fonctionnalités IA
udm=18 Forums Résultats de discussion et de forum
udm=28 Achats Résultats des achats/produits
udm=36 Livres Résultats de recherche de livres ; équivalent plus récent de tbm=bks
udm=39 Vidéos courtes Contenu vidéo court
udm=50 Mode IA Recherche conversationnelle alimentée par l’IA de Google

La valeur la plus notable est udm=14. Elle oblige Google à afficher les résultats Web traditionnels sans aperçus IA ni autre contenu généré par l’IA:

https://www.google.com/search?q=Scraping web tools&udm=14

La différence entre le mode par défaut et udm=14 est immédiatement visible :

Google search results comparison for "what is machine learning" showing default view with AI Overview vs udm=14 with classic organic results from IBM, Google Developers, and Wikipedia
À gauche : le SERP par défaut avec un aperçu IA qui repousse les résultats organiques sous le pli. À droite : udm=14 supprime tout cela et affiche un onglet « Web » propre avec des liens bleus traditionnels.

Pour les résultats vidéo courts, utilisez udm=39 (non documenté par Google ; le comportement peut varier selon les régions) :

https://www.google.com/search?q=coffee+recipes&udm=39

Le mode IA (udm=50) est un type de recherche très différent :

Google AI Mode (udm=50) showing a conversational AI response about learning programming with source citations from Quora, freeCodeCamp, and GeeksforGeeks
Mode IA Google (udm=50) : au lieu des résultats traditionnels, Google renvoie une réponse IA conversationnelle avec des citations de sources en ligne et des questions complémentaires suggérées.

tbm et udm se recoupent pour les images, les actualités et les achats, mais udm couvre également des modes que tbm ne couvre pas (forums, vidéos courtes, mode IA, web uniquement). Les deux fonctionnent aujourd’hui. Si vous créez de nouveaux flux de travail de scraping, prenez en charge les deux paramètres pour une compatibilité maximale.

Paramètres de filtrage et de tri

tbs – filtres temporels et avancés

Le paramètre tbs (généralement interprété comme « à rechercher », bien qu’aucune source officielle ne le confirme) contrôle le filtrage temporel, le tri par date et la correspondance mot à mot.

L’utilisation la plus courante est le filtrage temporel avec qdr (query date range, plage de dates de requête) :

Valeur Plage horaire
tbs=qdr:h Dernière heure
tbs=qdr:d 24 dernières heures
tbs=qdr:w Semaine écoulée
tbs=qdr:m Mois écoulé
tbs=qdr:y Année écoulée

Vous pouvez également définir une plage de dates personnalisée avec tbs=cdr:1,cd_min:01/01/2025,cd_max:12/31/2025. Cela est utile pour suivre l’évolution des résultats de recherche sur une période donnée.

Au-delà du filtrage temporel, tbs dispose de deux autres modes utiles. tbs=sbd:1 force Google à trier les résultats par date (les plus récents en premier) plutôt que par pertinence, ce qui est utile pour surveiller les mentions récentes. Et tbs=li:1 active la recherche littérale. Google recherche exactement ce que vous avez tapé, sans corrections automatiques, synonymes ou termes associés.

Pour surveiller les actualités récentes sur un sujet :

curl --proxy brd.superproxy.io:33335 
  --proxy-user brd-customer-<CUSTOMER_ID>-Zone-<ZONE_NAME>:<PASSWORD> -k 
  "https://www.google.com/search?q=Scraping web regulations&tbs=qdr:w&brd_json=1"

Google search for "web scraping regulations" with the Tools dropdown open showing "Past week" checked, confirming tbs=qdr:w is active
La recherche avec tbs=qdr:w active le filtre temporel « Semaine passée » (visible sous Outils avec une coche). Seuls les résultats publiés au cours des 7 derniers jours sont renvoyés.

Astuce : associez filter=0 à n’importe quel filtre temporel tbs pour obtenir tous les résultats. Sans cela, Google regroupe les pages similaires et vous risquez de passer à côté d’informations pertinentes.

safe – Filtrage SafeSearch

safe=active filtre le contenu explicite, safe=off désactive le filtrage.

https://www.google.com/search?q=photography&safe=active
https://www.google.com/search?q=photography&safe=off

filter – filtrage des doublons

Le paramètre filter contrôle la manière dont Google regroupe les résultats similaires ou en double.

https://www.google.com/search?q=Scraping web&filter=0
https://www.google.com/search?q=Scraping web&filter=1

filter=0 affiche tous les résultats, y compris les doublons. filter=1 (valeur par défaut) regroupe les pages similaires. Particulièrement utile lorsqu’il est combiné avec des filtres temporels (voir l’astuce tbs ci-dessus).

nfpr – pas de correction automatique

Définissez nfpr=1 pour empêcher Google de corriger automatiquement votre requête.

https://www.google.com/search?q=scraping+brwser&nfpr=1

Lorsque cette option est définie sur 1, Google recherche exactement ce que vous avez saisi sans suggérer « vouliez-vous dire : Navigateur de scraping ». Utile lorsque vous recherchez intentionnellement des termes mal orthographiés, des noms de marque que Google considère comme des fautes d’orthographe ou des termes techniques que Google pourrait essayer de corriger. Remarque : nfpr=1 supprime uniquement la correction automatique. tbs=li:1 (mode verbatim) va plus loin en désactivant également les synonymes, les racines et les termes associés. Utilisez les deux ensemble pour obtenir la correspondance la plus stricte.

Google personnalise les résultats de recherche par défaut. pws contrôle si cette personnalisation est active.

https://www.google.com/search?q=Scraping web tools&pws=0

Il est important de désactiver la personnalisation (pws=0) car les résultats personnalisés varient selon les utilisateurs, ce qui rend les données en vrac incohérentes. Pour toute collecte sérieuse de données SERP, incluez toujours pws=0 afin d’obtenir les classements de base, non personnalisés.

Paramètres de localisation

La plupart des suivis de classement ne nécessitent qu’un ciblage au niveau national avec gl. Cependant, pour le référencement local, vous avez besoin d’un ciblage plus précis.

uule – emplacement codé

uule vous offre une précision au niveau de la ville lorsque gl n’est pas assez granulaire.

La valeur uule est une chaîne codée basée sur les cibles géographiques de l’API Google Ads. Elle utilise soit un codage de nom canonique (provenant de la base de données de géolocalisation de Google), soit un codage de coordonnées GPS (latitude/longitude).

https://www.google.com/search?q=best+restaurants&uule=w+CAIQICIGUGFyaXM

La génération manuelle de valeurs uule est compliquée. Vous devez rechercher le nom canonique du lieu dans la documentation Geo Targets de Google, puis l’encoder dans le format spécifique attendu par Google.

Avec l’API SERP de Bright Data, vous pouvez ignorer complètement l’encodage et simplement transmettre le nom du lieu sous forme de chaîne lisible :

https://www.google.com/search?q=best+restaurants&uule=New+York,New+York,United+States

L’API gère automatiquement la recherche et l’encodage.

Utilisez gl pour le ciblage au niveau national et uule lorsque vous avez besoin d’une précision au niveau de la ville. Pour la plupart des suivis de classement, gl suffit. Réservez uule pour les audits SEO locaux où les résultats diffèrent entre les villes d’un même pays.

Paramètres de l’appareil et du client

Google renvoie des résultats différents pour les mobiles et les ordinateurs de bureau. Ces paramètres contrôlent l’émulation des appareils et l’identification des navigateurs.

sclient – client de recherche

Vous verrez sclient dans presque toutes les URL de recherche Google. Il identifie le client de recherche qui a lancé la recherche. Valeurs courantes : gws-wiz (recherche web), gws-wiz-serp (lancée par SERP), img (recherche d’images), psy-ab (associée à la recherche instantanée/prédictive de Google). Il est utilisé pour les analyses internes de Google et n’affecte pas vos résultats.

brd_mobile / brd_browser – émulation d’appareil et de navigateur

L’API SERP propose brd_mobile pour simuler des recherches à partir d’appareils spécifiques :

Valeur Appareil Type d’agent utilisateur
0 ou omettre Ordinateur Ordinateur
1 Mobile Mobile
iOS ou iPhone iPhone iOS
iPad ou tablette iOS iPad Tablette iOS
Android Android Android
Tablette Android Tablette Android Tablette Android
curl --proxy brd.superproxy.io:33335 
  --proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD> -k 
  "https://www.google.com/search?q=best+apps&brd_mobile=ios&brd_json=1"

Si vous rencontrez des erreurs expect_body lorsque vous utilisez brd_mobile avec la méthode Proxy, essayez plutôt la méthode Direct API. Elle est généralement plus fiable pour l’émulation d’appareils. L’intégration LangChain fonctionne également bien ici, car elle transmet automatiquement device_type via Direct API.

Vous pouvez également contrôler le type de navigateur avec brd_browser:

  • brd_browser=chrome (Google Chrome)
  • brd_browser=safari (Safari)
  • brd_browser=firefox (Mozilla Firefox, non compatible avec brd_mobile=1)

Si aucun paramètre n’est spécifié, l’API choisit un navigateur au hasard. Combinez les deux paramètres pour définir la combinaison exacte appareil + navigateur :

curl --proxy brd.superproxy.io:33335 
  --proxy-user brd-customer-<CUSTOMER_ID>-Zone-<ZONE_NAME>:<PASSWORD> -k 
  "https://www.google.com/search?q=best+smartphones&brd_browser=safari&brd_mobile=ios&brd_json=1"

Paramètres avancés et internes

Vous n’avez pas besoin de les définir. Il s’agit de paramètres internes à Google. Cependant, si vous souhaitez savoir ce que signifient ei, ved et sxsrf lorsque vous les voyez dans une URL Google, cette section vous les explique.

kgmid – Identifiant machine du Knowledge Graph

Le paramètre kgmid fournit des résultats provenant du Knowledge Graph de Google et peut remplacer entièrement le paramètre q.

https://www.google.com/search?kgmid=/m/07gyp7

Cela charge directement le panneau Knowledge Graph pour McDonald’s. Chaque entité possède un identifiant machine unique, et le transmettre via kgmid permet de récupérer le panneau de cette entité.

Le panneau renvoyé par Google pour cet identifiant :

Google Knowledge Graph panel for McDonald's triggered by kgmid=/m/07gyp7, showing entity info, founding date, CEO, and social profiles
Le panneau Knowledge Graph pour kgmid=/m/07gyp7: description de l’entité, date de création, direction et profils sociaux.

Les équipes de surveillance des marques utilisent cet outil pour suivre l’évolution du panneau Knowledge Graph de Google au fil du temps pour leur entreprise ou leurs concurrents.

ibp – contrôle du rendu

Google n’utilise pas ibp pour les résultats de recherche classiques. Il contrôle la manière dont certains éléments s’affichent sur la SERP, en particulier les fiches Google Business et Google Jobs.

https://www.google.com/search?ibp=gwp%3B0,7&ludocid=1663467585083384531

Lorsqu’il est utilisé avec le paramètre ludocid (qui est l’identifiant unique d’une fiche Google Business), ibp peut déclencher l’affichage en pleine page de la fiche d’entreprise.

Pour les recherches d’emploi, ibp=htl;jobs (encodé en URL sous la forme ibp=htl%3Bjobs) déclenche l’affichage du panneau Google Jobs avec la liste complète des offres d’emploi :

curl --proxy brd.superproxy.io:33335 
  --Proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD> -k 
  "https://www.google.com/search?q=technical+copywriter&ibp=htl%3Bjobs&brd_json=1"

Le panneau Emplois déclenché par ibp=htl%3Bjobs:

Google Jobs panel triggered by ibp=htl%3Bjobs showing job listings with filters for Remote, Date posted, and Job type
Le paramètre ibp=htl%3Bjobs déclenche le panneau Emplois dédié de Google avec des offres d’emploi, des filtres et une option « Suivre », tous extractibles via l’API SERP.

Le point-virgule dans htl;jobs doit être encodé en URL sous la forme %3B (c’est-à-dire ibp=htl%3Bjobs) lorsqu’il est utilisé dans curl ou tout autre client HTTP. Sans encodage approprié, la requête peut renvoyer des résultats vides.

ei, ved, sxsrf, oq, gs_lp – paramètres de suivi internes

Aucun de ces paramètres n’affecte les résultats renvoyés. Vous pouvez les supprimer de vos URL en toute sécurité. Voici ce que chacun d’entre eux fait :

Paramètre Objectif
ei Identifiant de session contenant un horodatage Unix et des valeurs opaques
ved Suivi des clics : encode l’élément SERP sur lequel l’utilisateur a cliqué, son index et son type
sxsrf Jeton CSRF avec un horodatage Unix encodé
oq Requête originale telle qu’elle a été saisie avant que la saisie semi-automatique ne la modifie (par exemple, oq=web+scrap lorsque q=web+Scraping web+API)
gs_lp Données de session internes liées à l’état du client de recherche
ie / oe Codage des caractères d’entrée/sortie (presque toujours UTF-8; peut être ignoré sans risque)
client Type de client de recherche (par exemple, firefox-b-d, safari) ; identifie le navigateur ou l’application
source Identifiant de la source de recherche (par exemple, hp pour la page d’accueil, lnms pour le commutateur de mode)
biw / bih Largeur/hauteur interne du navigateur en pixels ; peut influencer la variante de mise en page SERP proposée par Google

Opérateurs de recherche Google

Les opérateurs de recherche sont des commandes spéciales dans le paramètre q qui filtrent les résultats par domaine, type de fichier, titre, URL ou expression exacte. Google en documente certains dans sa page d’aide sur l’affinement de la recherche.

Ils se distinguent des paramètres d’URL : les opérateurs sont intégrés à la valeur q, tandis que les paramètres sont des paires clé-valeur distinctes dans l’URL. Voici les plus utiles pour le scraping et la collecte de données :

Opérateur Fonction Exemple
site: Limiter à un domaine spécifique site:github.com python Scraper
filetype: Limiter au type de fichier filetype:pdf guide de Scraping web
intitle: Rechercher dans les titres des pages intitle:API SERP comparison
inurl: Rechercher dans les URL inurl:documentation API
intext: Recherche dans le corps de la page intext:rotation des proxys
allintitle: Tous les mots dans le titre allintitle:Scraping web python
allinurl: Tous les mots dans l’URL allinurl:API docs scraping
related: Trouver des sites similaires related:brightdata.com
OU Correspondre à l’un ou l’autre terme Scraping web OU web crawling
« expression exacte » Correspondance exacte « API SERP pour python »
- Exclure le terme Scraping web -selenium
avant : / après : Période Aperçu de l'IA après : 2025-01-01
AROUND(n) Recherche de proximité scraping AROUND(3) python
définir : Définition du dictionnaire définir : Scraping web
* Caractère générique « meilleur * pour le Scraping web »

Toutes ces options fonctionnent également dans les requêtes API. Par exemple :

curl --proxy brd.superproxy.io:33335 
  --proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD> -k 
  « https://www.google.com/search?q=site:reddit.com+Scraping web+tools+2026&brd_json=1 »

Recherche spécifiquement sur Reddit les discussions concernant les outils de Scraping web en 2026, avec une sortie JSON structurée.

Google search results for site:reddit.com web scraping tools 2026 showing only Reddit results
L’opérateur site:reddit.com limite tous les résultats à Reddit. Associé à un terme annuel, il affiche les discussions récentes de la communauté sur les outils de Scraping web.

Les opérateurs peuvent être combinés : site:github.com filetype:pdf machine learning renvoie uniquement les fichiers PDF hébergés sur GitHub qui correspondent à « machine learning ».

as_* – paramètres de recherche avancée

Le formulaire de recherche avancée de Google génère des paramètres préfixés par as_ (as_q, as_epq, as_sitesearch, as_filetype, etc.) qui correspondent aux opérateurs ci-dessus. La plupart des ingénieurs utilisent plutôt les opérateurs directement dans q. Ceux-ci sont principalement utiles si vous créez une interface utilisateur de formulaire de recherche et que vous souhaitez mapper les champs du formulaire aux paramètres URL sans concaténer les chaînes d’opérateurs.

Changements à connaître pour 2025-2026

Google a apporté trois changements en 2025-2026 qui ont perturbé les configurations de scraping existantes : rendu JavaScript obligatoire (janvier 2025), suppression du paramètre num (septembre 2025) et extension des aperçus IA à plus de 200 pays.

Google exige désormais le rendu JavaScript

À partir de janvier 2025, Google ne fournira plus de résultats de recherche sans rendu JavaScript. Si vous utilisez un Scraper requests + BeautifulSoup, ce changement en est la raison. Chaque requête requests.get('https://google.com/search?q=...') renvoie désormais une réponse vide ou dégradée. Vous avez besoin d’un rendu complet du navigateur ou d’une API SERP qui s’en charge pour vous.

Le rendu JavaScript est automatique avec l’API SERP, vos appels API restent donc inchangés.

Le paramètre num ne fonctionne plus

Entre le 12 et le 14 septembre 2025, Google a discrètement désactivé num. L’impact a été considérable : selon une étude portant sur 319 propriétés, 87,7 % des sites suivis ont vu leurs impressions baisser dans Google Search Console.

Pour récupérer plus de 10 résultats, l’API SERP de Bright Data dispose d’un point de terminaison Top 100 Results qui renvoie les positions 1 à 100 en une seule requête. Elle utilise une surface API différente (/datasets/v3/trigger avec l’ID de l’ensemble de données gd_mfz5x93lmsjjjylob) et vous fournit les paramètres start_page et end_page pour contrôler la profondeur de pagination :

curl -X POST "https://api.brightdata.com/Jeux de données/v3/trigger?dataset_id=gd_mfz5x93lmsjjjylob&include_errors=true" 
  -H "Authorization: Bearer <API_TOKEN>" 
  -H "Content-Type: application/json" 
  -d '[{
    "url": "https://www.google.com/",
    « keyword » : « Scraping web tools »,
    « language » : « en »,
    « country » : « US »,
    « start_page » : 1,
    « end_page » : 10
  }]'

Plages de pages : 1..2 = top 20, 1..5 = top 50, 1..10 = top 100 (10 résultats par page). La réponse inclut le texte IA Overview (dans le champ aio_text ) lorsque Google en affiche un, et vous pouvez ajouter « include_paginated_html » : true pour capturer le HTML brut en plus des données analysées. Le traitement par lots est également pris en charge. Transmettez un tableau d’objets de requête pour rechercher plusieurs mots-clés dans une seule requête.

Aperçus IA dans les résultats de recherche

Les aperçus IA de Google (les résumés générés par l’IA en haut des résultats de recherche) sont désormais disponibles dans plus de 200 pays et 40 langues. En janvier 2026, Google a mis à niveau les aperçus IA vers Gemini 3. Google a également ajouté des transitions entre les aperçus IA et les conversations en mode IA (udm=50). La capture de ce contenu nécessite un rendu JavaScript et une logique d’extraction spécifique. Un aperçu IA sur une SERP en direct :

Google AI Overview for "what makes the best pizza" showing AI-generated summary with source cards
Un aperçu IA typique : Google génère un résumé de plusieurs paragraphes avec des phrases clés mises en évidence et des cartes sources à droite. Ce bloc repousse les résultats organiques sous le pli. Utilisez brd_ai_overview=2 pour le capturer via l’API SERP.

Le Scraper AI Overview fonctionne grâce au paramètre brd_ai_overview. Définissez brd_ai_overview=2 pour augmenter la probabilité de recevoir des aperçus générés par l’IA dans vos résultats :

curl --proxy brd.superproxy.io:33335 
  --proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD> -k 
  "https://www.google.com/search?q=what+makes+the+best+pizza&brd_ai_overview=2&brd_json=1"

Lors de nos tests (requêtes aux États-Unis), l’activation de la capture IA Overview a ajouté 5 à 10 secondes au temps de réponse. Ce temps d’attente supplémentaire est dû au rendu du contenu IA chargé dynamiquement par Google dans un navigateur sans interface graphique.

Comment utiliser les paramètres de recherche Google avec une API SERP

Si vous effectuez un scraping à un volume réel, vous serez confronté à des CAPTCHA, des blocages d’IP, un rendu JavaScript obligatoire et des modifications de l’infrastructure Google qui perturbent silencieusement les analyseurs syntaxiques. Nous avons testé toutes les méthodes ci-dessous avec l’API en direct afin de confirmer qu’elles fonctionnent comme indiqué.

Quatre façons d’utiliser ces paramètres avec l’API SERP de Bright Data, de la plus simple à la plus avancée. Si vous êtes simplement en phase d’exploration, commencez par la méthode 1 (API directe). Si vous intégrez une base de code existante avec des en-têtes personnalisés, optez pour la méthode 2 (Proxy). Pour les workflows d’agents IA, passez à la méthode 4 (LangChain). Le guide de démarrage vous accompagne tout au long de la configuration.

Méthode Idéale pour Réponse Complexité
API directe Pour commencer, requêtes uniques Synchrone Faible
Routage Proxy Workflows HTTP existants, en-têtes de requête personnalisés Synchrone Faible
Asynchrone par lots Volume élevé (plus de 1 000 requêtes), balayages de pagination En file d’attente Moyen
LangChain Agents IA, pipelines RAG, workflows multi-outils Synchrone Faible

Méthode 1 : requête API directe

La méthode la plus simple. Effectuez une requête POST avec votre URL de recherche et récupérez des données structurées :

import requests
import json
from urllib.parse import urlencode

# Créez l'URL de recherche Google avec un encodage approprié (prend en charge les caractères non latins et les caractères spéciaux)
params = urlencode({"q": "API de scraping web", "gl": "us", "hl": "en", "brd_json": "1"})
search_url = f"https://www.google.com/search?{params}"

url = "https://api.brightdata.com/request"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API_TOKEN>"
}
payload = {
    "Zone": "<ZONE_NAME>",
    "url": search_url,
    "format": "raw"
}

response = requests.post(url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
data = response.json()

# Valider la réponse avant traitement
if "organic" not in data or len(data.get("organic", [])) == 0:
    print("Avertissement : aucun résultat organique renvoyé (blocage temporaire ou SERP vide possible)")

print(json.dumps(data, indent=2))

Le nom de zone par défaut est généralement « serp ». La réponse analysée se présente comme suit :

Bright Data SERP API JSON response for "best coffee shops" showing parsed organic results with title, link, rank, description, and global_rank fields
Réponse JSON analysée provenant de l’API SERP : chaque résultat organique comprend les champs title, link, description, rank et global_rank. La réponse sépare également les publicités, les panneaux de connaissances et les aperçus IA en sections nommées.

L’API Direct accepte également un champ « data_format » (distinct de « format ») : « markdown » pour les pipelines LLM/RAG (Retrieval-Augmented Generation), « screenshot » pour une capture PNG ou « parsed_light » pour les 10 premiers résultats organiques uniquement. Utilisez brd_json=html dans l’URL si vous souhaitez conserver le HTML brut dans le JSON.

country dans le corps n’est pas identique à gl dans l’URL. « country » : « us » contrôle le nœud de sortie du Proxy (l’emplacement IP de la requête). gl=us indique à Google les résultats du pays à afficher. Pour obtenir des résultats géolocalisés précis, définissez les deux.

Méthode 2 : routage Proxy

Acheminez vos requêtes via l’infrastructure Proxy de Bright Data. Le Proxy gère le rendu JavaScript de son côté, donc même si votre code effectue une requête HTTP standard, il renvoie des résultats entièrement rendus. Cela fonctionne avec n’importe quel client HTTP et vous permet de définir des en-têtes personnalisés, des cookies et des options au niveau de la requête que l’API Direct n’expose pas. Avec l’approche Proxy, vous contrôlez le format de sortie via les paramètres URL : ajoutez brd_json=1 pour obtenir un JSON analysé au lieu d’un HTML brut :

import requests

# Utilisez une session pour le pool de connexions (réutilise les connexions TCP entre les requêtes)
session = requests.Session()
session.proxies = {
    "http": "http://brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD>@brd.superproxy.io:33335",
    "https": "http://brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD>@brd.superproxy.io:33335"
}
session.verify = False  # pour les tests ; charger le certificat TLS/SSL de Bright Data en production

url = "https://www.google.com/search?q=API SERP comparison&gl=us&hl=en&tbs=qdr:m&brd_json=1"

response = session.get(url, timeout=30)
response.raise_for_status()
print(response.json())

Les informations d’identification se trouvent dans l’onglet « Détails d’accès » de la Zone API SERP de votre tableau de bord. Vérifiez toujours la réponse avant de la traiter. Un blocage temporaire de Google peut renvoyer un JSON valide avec des ensembles de résultats vides ou réduits. Si general.results_cnt affiche des millions de résultats estimés, mais que le tableau organique est vide ou ne contient que 1 ou 2 entrées, cela indique généralement un blocage temporaire plutôt qu’un SERP véritablement vide.

Le drapeau verify=False (ou -k dans curl) ignore la vérification TLS/SSL, ce qui convient pour les tests. Pour la production, chargez plutôt le certificat SSL de Bright Data.

Méthode 3 : traitement asynchrone par lots

Pour les opérations à volume élevé (plus de 1 000 requêtes), utilisez le mode asynchrone. Le mode asynchrone est utile lorsque vous paginez des centaines de combinaisons de mots-clés et d’emplacements à l’aide des paramètres start, gl et hl (par exemple, pour suivre 500 mots-clés dans 10 pays). Vous n’êtes facturé que lorsque vous envoyez la requête ; la collecte de la réponse est gratuite. Les délais de rappel varient en fonction du volume et de la charge maximale.

Commencez par activer l’option « Requêtes asynchrones » dans les paramètres avancés de votre zone. Utilisez ensuite le point de terminaison /unblocker/req:

import requests
import json
import time

url = "https://api.brightdata.com/unblocker/req"
params = {"customer": "<CUSTOMER_ID>", "Zone": "<ZONE_NAME>"}
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API_TOKEN>"
}
payload = {
    "url": "https://www.google.com/search?q=Scraping web tools&gl=us&hl=en&brd_json=1",
    "country": "us"
}

response = requests.post(url, params=params, headers=headers, json=payload, timeout=30)
response.raise_for_status()
response_id = response.headers.get("x-response-id")
print(f"En attente. ID de réponse : {response_id}")

# Interrogation des résultats (pour la production, configurez plutôt une URL webhook dans les paramètres de votre zone)
# Fenêtre d'interrogation totale : 30 tentatives × 10 s = 300 s. Augmentez range() pour les lots volumineux.
for attempt in range(30):
    time.sleep(10)  # attendez avant de vérifier - les résultats ne sont jamais prêts immédiatement
    result = requests.get(
        "https://api.brightdata.com/unblocker/get_result",
        params={"customer": "<CUSTOMER_ID>", "zone": "<ZONE_NAME>", "response_id": response_id},
        headers={"Authorization": "Bearer <API_TOKEN>"},
        timeout=30
    )
    if result.status_code == 200:
        data = result.json()
        if "organic" in data and len(data["organic"]) > 0:
            print(json.dumps(data, indent=2))
        else:
            print("Avertissement : réponse renvoyée mais ne contenant aucun résultat organique")
        break
    elif result.status_code == 202:
        continue  # résultats non encore prêts
else:
    print(f"Délai d'attente expiré après 300 secondes pour response_id={response_id}")

Au lieu d’effectuer un sondage, vous pouvez configurer une URL webhook (soit par défaut dans les paramètres de votre zone, soit pour chaque requête à l’aide du paramètre webhook_url ). Bright Data envoie une notification à votre point de terminaison lorsque les résultats sont prêts (avec le response_id et le statut), vous n’avez donc pas besoin de sonder manuellement le point de terminaison /get_result. Les réponses sont conservées pendant 48 heures maximum.

Même avec une API gérée, respectez les limites de débit de votre zone. La configuration par défaut gère un débit élevé, mais l’envoi simultané de milliers de requêtes de synchronisation sans régulation peut déclencher des réponses HTTP 429. Le mode asynchrone évite cela, car l’API met en file d’attente et régule les requêtes en interne.

Méthode 4 : intégration LangChain pour les workflows d’IA

Si vous développez des agents IA qui ont besoin de données de recherche en temps réel, il existe une intégration LangChain officielle (langchain-brightdata) qui vous permet d’utiliser la recherche en temps réel comme outil dans les workflows des agents :

pip install langchain-brightdata
from langchain_brightdata import BrightDataSERP

serp_tool = BrightDataSERP(
    bright_data_api_key="<API_TOKEN>",
    zone="<ZONE_NAME>",  # doit correspondre au nom de la zone dans votre tableau de bord Bright Data
    search_engine="google",
    country="us",
    language="en",
    results_count=10,
    parse_results=True)


# Remplacer les valeurs par défaut du constructeur pour cette requête spécifique :
results = serp_tool.invoke({
    "query": "best web scraping tools 2026",
    « country » : « de »,
    « language » : « de »,
    « search_type » : « shop »,
    « device_type » : « mobile »,
})

Quelques points à surveiller dans cette intégration :

  • results_count correspond en interne à num de Google. Étant donné que num ne fonctionne plus (voir la section num), les valeurs supérieures à 10 n’ont aucun effet.
  • country et language correspondent à gl et hl (résultats du pays et langue). Contrairement à l’API Direct, où « country » contrôle le nœud de sortie du Proxy, LangChain gère automatiquement le routage du Proxy.
  • Zone est défini par défaut sur « serp ». Si le nom de votre zone est différent (par exemple, « serp_api1 »), définissez-le explicitement, sinon vous obtiendrez une erreur « zone introuvable ».

Au-delà de LangChain, consultez les guides d’intégration pour CrewAI, AWS Bedrock et Google Vertex AI. Pour la collecte de données non liées à la recherche, consultez les outils d’accès Web IA de Bright Data.

Pour la liste complète des paramètres : Documentation API SERP

Pourquoi utiliser une API SERP gérée ?

L’API SERP gère le rendu JavaScript, la rotation des proxys, la Résolution de CAPTCHA et le ciblage géographique :

Architecture diagram showing the SERP API flow: Your Code sends an API request to Bright Data SERP API (which handles JS rendering, proxy rotation, CAPTCHA solving, and geo-targeting), which queries Google and returns parsed JSON

Vous pourriez le créer vous-même avec Playwright, Selenium ou l’API Browser de Bright Data. Mais la maintenance d’un Scraper Google implique la gestion des CAPTCHA, des blocages IP, des Proxys résidentiels, du rendu JavaScript et de l’analyse HTML qui ne fonctionne plus dès que Google met à jour son balisage. Consultez la section scraping géré vs scraping basé sur API pour une comparaison des deux approches.

Avec l’API SERP, vous envoyez une URL de recherche et obtenez en retour un JSON structuré. Elle fonctionne sur Google, Bing, DuckDuckGo, Yandex et d’autres moteurs de recherche. Consultez la page des tarifs pour connaître les prix actuels.

Le Playground de l’API SERP vous permet d’effectuer des recherches de base sans code, et l’espace de travail Postman contient des requêtes prédéfinies. Voici le Playground :

Bright Data SERP API Playground showing a search for "web scraping tools" on Google.com with structured JSON results
Interface utilisateur du Playground : choisissez un moteur de recherche, un pays et une langue, entrez une requête et consultez la réponse JSON analysée à droite.

Créez un compte pour exécuter les exemples ci-dessus (les nouveaux comptes bénéficient d’un crédit gratuit pour les tests).

Cas d’utilisation réels

Ces combinaisons de paramètres reviennent régulièrement dans les workflows de scraping en production.

Suivi du classement SEO

Suivez le classement des mots-clés dans différents endroits en combinant q, gl, hl, pws=0, udm=14 et start:

# Vérifiez le classement des « outils de Scraping web » aux États-Unis, au Royaume-Uni et en Allemagne.
curl --proxy brd.superproxy.io:33335 
  --proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD> -k 
  « https://www.google.com/search?q=Scraping web tools&gl=us&hl=en&pws=0&udm=14&brd_json=1 »
# Répétez ensuite avec gl=gb et gl=de
# Utilisez start=10, start=20 pour vérifier les positions au-delà de la page 1

Consultez la procédure complète pour créer un outil de suivi du classement SEO avec v0 et l’API SERP.

Surveillance des publicités des concurrents

Les emplacements publicitaires de vos concurrents changent quotidiennement. Combinez les termes de marque avec tbs=qdr:d pour trouver les changements récents :

https://www.google.com/search?q=competitor+brand+name&gl=us&hl=en&tbs=qdr:d&brd_json=1

La réponse JSON sépare les top_ads, bottom_ads et popular_products (annonces pour une liste de produits) des résultats organiques.

Comparaison des prix et informations sur le commerce électronique

Pour comparer les prix sur différents marchés, modifiez la valeur gl tout en conservant tbm=shop:

https://www.google.com/search?q=sony+wh-1000xm5&tbm=shop&gl=us&brd_json=1
https://www.google.com/search?q=sony+wh-1000xm5&tbm=shop&gl=gb&brd_json=1
https://www.google.com/search?q=sony+wh-1000xm5&tbm=shop&gl=de&brd_json=1

Suivi de l’actualité et analyse des sentiments

https://www.google.com/search?q=openai&tbm=nws&tbs=qdr:h&filter=0&brd_json=1. Utilisez tbm=nws pour les actualités, tbs=qdr:h pour l’heure écoulée, filter=0 pour empêcher Google de regrouper les articles similaires. Exécutez cette commande dans une tâche cron pour surveiller la couverture horaire.

Recherche alimentée par l’IA et applications RAG

Ancrez les applications LLM dans les données de recherche en direct en utilisant l’API SERP comme couche de récupération. L’intégration LangChain (méthode 4 ci-dessus), le serveur MCP et les appels API directs fonctionnent tous. Découvrez comment créer un chatbot RAG avec l’API SERP pour un exemple fonctionnel.

Référencement local et surveillance multi-sites

Les classements locaux peuvent varier considérablement d’une ville à l’autre. Utilisez uule avec gl et pws=0 pour comparer :

# Vérifiez les classements pour « plombier près de chez moi » dans 3 villes
curl --proxy brd.superproxy.io:33335 
  --proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<PASSWORD> -k 
  « https://www.google.com/search?q=plumber+near+me&uule=Chicago,Illinois,United+States&gl=us&pws=0&brd_json=1 »
# Répétez l'opération avec uule=Miami,Florida,United+States et uule=Seattle,Washington,United+States

Comparez les résultats snack_pack (pack local de 3) et organiques entre les différents emplacements afin d’identifier les points à améliorer dans vos annonces.

Recherche universitaire et étude de marché

https://www.google.com/search?q=site:arxiv.org+large+language+models&lr=lang_en&tbs=cdr:1,cd_min:01/01/2025,cd_max:12/31/2025&brd_json=1

Combinez les filtres site: avec lr et date-range tbs pour créer des Jeux de données de recherche ciblés. Remplacez arxiv.org par scholar.google.com, pubmed.ncbi.nlm.nih.gov ou tout autre domaine.

Conclusion

Ce qui importe réellement dans tout ce qui précède :

  • Utilisez gl + hl + pws=0 + udm=14 pour un suivi cohérent et non personnalisé du classement sur tous les marchés
  • num est obsolète. Utilisez start pour la pagination ou le point de terminaison Top 100 de Bright Data pour les résultats en masse
  • udm=14 supprime les aperçus IA et renvoie des résultats organiques classiques. udm étend tbm avec des modes supplémentaires
  • tbs gère le filtrage temporel, le tri par date (sbd:1) et la recherche littérale (li:1)
  • Les caractères spéciaux doivent être encodés dans l’URL. Le point-virgule dans ibp=htl%3Bjobs est l’erreur d’encodage la plus courante, avec les requêtes non latines

Google modifie constamment ces paramètres. Ils ont supprimé num sans avertissement, et ils pourraient faire de même avec start ou déprécier tbm au profit de udm. Si vous effectuez un scraping à un volume significatif, l’API SERP de Bright Data gère le rendu, la rotation et l’analyse. Essayez-la avec les exemples ci-dessus.

Prochaines étapes

Lectures recommandées, en fonction de votre cas d’utilisation :

Si vous souhaitez commencer à scraper Google dès maintenant :

Si vous développez des applications IA :

Si vous évaluez des fournisseurs d’API SERP :

Autres sources de données Google :

Références externes :

Références

Foire aux questions

Que sont les paramètres de recherche Google ?

Les paramètres de recherche Google sont des paires clé-valeur ajoutées à l’URL https://www.google.com/search? qui contrôlent la manière dont les résultats de recherche sont générés et affichés. Par exemple, q=pizza définit la requête de recherche, gl=us cible les États-Unis et hl=en définit la langue de l’interface en anglais. Ils sont séparés par & et suivent le ? dans l’URL.

Le paramètre gl contrôle la géolocalisation (le pays d’où semble provenir la recherche), ce qui influe sur les résultats affichés. Le paramètre hl contrôle la langue hôte (la langue de l’interface Google). Par exemple, gl=de&hl=en vous donne des résultats pertinents pour l’Allemagne, mais avec l’interface affichée en anglais.

Le paramètre num de Google est-il obsolète ?

Il n’est pas seulement obsolète. Il ne fonctionne plus du tout. Google l’a discrètement désactivé entre le 12 et le 14 septembre 2025. Passer num=100 ne fait rien, et Google renvoie 10 résultats quoi qu’il arrive. Utilisez start pour la pagination ou le point de terminaison Top 100 de l’API Web Scraper de Bright Data pour obtenir les positions 1 à 100 en une seule requête.

Qu’est-ce que le paramètre udm de Google ?

udm signifie probablement User Display Mode (mode d’affichage utilisateur) (d’après le reverse engineering de la communauté ; Google n’a pas confirmé l’acronyme). Vous utiliserez principalement udm=14, qui supprime les aperçus IA et renvoie des résultats organiques classiques. Les autres valeurs incluent udm=2 (images), udm=39 (vidéos courtes) et udm=50 (mode IA). udm étend tbm avec des modes supplémentaires, et les deux fonctionnent toujours. Toutes les valeurs sont répertoriées dans la section udm.

Quelle est la différence entre tbm et udm?

tbm est l’ancien paramètre, udm est la nouvelle extension. Ils se recoupent pour les images, les actualités et les achats (tbm=ischudm=2), mais udm inclut également des fonctionnalités que tbm ne prend pas en charge : mode IA (udm=50), forums (udm=18), vidéos courtes (udm=39). Les deux fonctionnent aujourd’hui. Créez un nouveau code basé sur udm, conservez tbm comme solution de secours.

Comment paginer les résultats Google maintenant que num n’existe plus ?

Utilisez le paramètre start. start=0 (ou omis) vous donne les résultats 1 à 10, start=10 donne les résultats 11 à 20, et ainsi de suite. Chaque page renvoie 10 résultats. Pour les positions 1 à 100 dans une seule requête, utilisez le point de terminaison Top 100 de Bright Data avec les paramètres start_page et end_page.

Comment filtrer les résultats Google par date ?

Utilisez le paramètre tbs. tbs=qdr:h = dernière heure, tbs=qdr:d = dernière journée, tbs=qdr:w = dernière semaine, tbs=qdr:m = dernier mois, tbs=qdr:y = dernière année. Pour une plage de dates personnalisée : tbs=cdr:1,cd_min:MM/JJ/AAAA,cd_max:MM/JJ/AAAA. Ajoutez tbs=sbd:1 pour trier par date plutôt que par pertinence.

Comment extraire les résultats de recherche Google sans être bloqué ?

Pour maintenir un Scraper Google à grande échelle, il faut mettre à jour les analyseurs HTML chaque fois que Google modifie son balisage, réaliser la résolution de CAPTCHA, faire tourner les adresses IP et rendre le JavaScript pour chaque requête depuis janvier 2025. Une API SERP gérée prend en charge cette infrastructure. Vous envoyez une URL, vous recevez un JSON structuré en retour et vous n’avez pas à maintenir l’analyseur.