---
title: "Bright Data vs. Parallel : Quelle API de recherche web convient à votre agent IA ?"
slug: bright-data-vs-parallel
date: 2026-10-18T12:53:33+00:00
modified: 2026-10-18T12:53:34+00:00
permalink: https://brightdata.fr/blog/comparaison/bright-data-vs-parallel
type: blog
---

[ Blog ](https://brightdata.fr/blog "Blog") / [Comparaison](https://brightdata.fr/blog/comparaison)







 [Comparaison](https://brightdata.fr/blog/comparaison)

# Bright Data vs. Parallel : Quelle API de recherche web convient à votre agent IA ?

Bright Data renvoie la page de résultats Google en direct, tandis que Parallel classe des extraits depuis son propre index. Découvrez l’API de recherche adaptée à votre agent IA.

 28 min de lecture





 [ ![Satyam Tripathi](https://media.brightdata.fr/2024/09/Satyam-Tripathi-50x50.png) ](https://brightdata.com/blog/authors/satyam-tripathi)

 [Satyam Tripathi

Technical Writer

 ](https://brightdata.com/blog/authors/satyam-tripathi)





 ![Bright Data vs. Parallel](https://media.brightdata.fr/2026/10/Bright-Data-vs.-Parallel.png)





L’API de recherche web Parallel répond à la requête d’un agent à partir de son propre index, avec des URL classées et des extraits Markdown. L’API SERP de Bright Data récupère la page de résultats de moteur de recherche (SERP) en direct depuis Google et d’autres moteurs. Elle renvoie la page qu’un utilisateur dans un pays ou une ville donné verrait.

Le premier résultat de Google pour “plombier urgence” à Chicago était un pack de cartes de 3 entreprises locales. Parallel a renvoyé des pages classées sans pack de cartes, l’agent manquerait donc ce que voient d’abord les utilisateurs de Chicago.

Ce guide compare les deux sur les résultats, la localisation, les tarifs et le contenu de page complet, avec du code exécutable.

## En bref

- **Choisissez Bright Data lorsque la réponse dépend de ce que Google affiche.** Il renvoie la page de Google, et le mode Avancé de Parallel a renvoyé 35 à 43 % des URL de cette page sur 30 requêtes.
- **Choisissez Parallel lorsque le classement de Google n’a pas d’importance.** Le mode Avancé a renvoyé une médiane de 4 082 tokens d’extraits pour 10 résultats.
- **Les résultats locaux changent souvent selon la ville.** Les pages de Google pour 3 villes ne partageaient aucune URL organique sur 3 des 4 requêtes, et le paramètre de localisation de Parallel acceptait des pays, pas des villes.
- **Ajouter Bright Data nécessite une seule entrée de configuration MCP.** Une clé fonctionne pour la recherche et le scraping. Le niveau gratuit ne nécessite pas de carte de crédit.

## Ce que renvoient Bright Data et Parallel

Bright Data et Parallel répondent à la même requête d’agent à partir de sources différentes. Bright Data récupère la page de résultats en direct du moteur de recherche, et Parallel interroge son propre index de recherche.

Avec une SERP en direct, l’agent peut aussi récupérer les pages complètes qu’il choisit :

![Diagramme de flux avec 2 voies partant d'un agent IA. Dans la voie SERP en direct, l'API SERP renvoie la page de résultats Google pour un pays ou une ville. L'agent choisit des pages, et Web Unlocker les récupère en pages complètes. Dans la voie index de recherche, l'API de recherche Parallel interroge l'index Parallel, qui choisit les extraits et renvoie des URL classées plus des extraits.](https://media.brightdata.com/2026/10/rklJBMCsfl.png)*Avec une SERP en direct, l’agent choisit les pages à lire. Avec un index de recherche, c’est l’index qui choisit les extraits.*

### Bright Data : résultats en direct et pages complètes pour les agents

L’[API SERP](/products/serp-api) renvoie la page de résultats en direct sous forme de JSON analysé, HTML brut ou Markdown, y compris les fonctionnalités SERP comme le pack de cartes (listes d’entreprises locales de Google) et l’AI Overview. [Web Unlocker](/products/web-unlocker) récupère les pages liées à ces résultats et est conçu pour les pages avec protection anti-bot. Le [serveur MCP Bright Data](/ai/mcp-server) encapsule la recherche et le scraping en outils Model Context Protocol (MCP) pour les agents, et les deux outils utilisent une seule clé API.

### Parallel : extraits classés depuis son propre index

L’API de recherche de Parallel accepte un `objective` en langage naturel plus des `search_queries` courtes, et renvoie des URL classées avec des extraits Markdown choisis pour l’objectif. Ses modes `turbo`, `fast`, `basic` et `advanced` offrent un choix entre latence et qualité, et `advanced` était le mode par défaut lors des tests. Parallel vend aussi une API Extract pour le contenu de page complet, plus d’autres API pour agents.

## Bright Data vs. Parallel : comparaison directe

Bright Data renvoie la page de résultats en direct du moteur de recherche plus les pages auxquelles elle renvoie, et Parallel classe les pages de son propre index de recherche. Chaque fait sur Parallel dans ce tableau provient de la documentation ou de la page de tarifs de Parallel, vérifiées pendant les tests. La page de l’API SERP liste les moteurs, localisations et forfaits actuels de Bright Data.

Bright DataParallelSource des résultatsPage de résultats en direct du moteur de recherchePropre index de Parallel, avec une récupération en direct lorsque sa copie en cache dépasse un âge maximum configuréClassementClassement propre du moteurClassement de pertinence de Parallel pour l’objectifMoteursGoogle, Bing et autres moteurs majeursSon propre indexLocalisationCiblage par pays et par villeCode pays, à partir d’une liste fixe. Les autres codes sont ignorés avec un avertissementSortieJSON analysé, HTML ou Markdown de la page de résultats complèteURL, titre, date de publication, extraits MarkdownFonctionnalités SERPOrganique, pack de cartes, AI Overview, People Also Ask, shopping, publicitésNon applicable (liste classée uniquement)Contenu de pageMarkdown de page complète via Web Unlocker ou le serveur MCPExtraits dans le même appel, texte complet via ExtractPages avec protection anti-botWeb Unlocker, conçu pour les sites protégés contre les botsPas de déblocage, et pas d’accès aux sites qui le bloquent, selon ParallelServeur MCPMCP hébergé ou local, gratuit pour commencer sans carte de créditSearch MCP, gratuit sans clé APILa [comparaison avec l’API Brave Search](/blog/ai/bright-data-vs-brave-search-api) et la [comparaison avec Exa](/blog/comparison/bright-data-vs-exa) testent les 2 mêmes approches avec d’autres API d’index. Pour une liste plus large, consultez les [meilleures API SERP et de recherche web](/blog/web-data/best-serp-apis) et les [meilleurs outils de recherche pour agents IA](/blog/ai/best-search-tools-for-ai-agents).

## Tarifs et limites de débit : API SERP Bright Data vs. API de recherche Parallel

L’API SERP ne facture que les requêtes réussies, vous ne payez donc que pour les résultats reçus. Vous pouvez démarrer en libre-service, avec un tarif au paiement à l’utilisation, et les forfaits mensuels plus importants réduisent le tarif par 1 000 requêtes. Parallel tarifait chaque recherche par mode lors des tests, et son mode Avancé par défaut coûtait 5 fois plus que Turbo et Fast.

Consultez la [page de tarifs de Parallel](https://parallel.ai/pricing) et la [page de tarifs de l’API SERP Bright Data](/pricing/serp) pour les tarifs actuels avant de planifier votre budget :

API SERP Bright DataParallel (tarifs catalogue lors des tests)Prix de rechercheTarif libre-service au paiement à l’utilisation, ou forfaits mensuels Scale avec un tarif plus bas selon le volume (tarifs actuels sur la page de tarifs)1 $ par 1 000 requêtes pour Turbo et Fast, et 5 $ par 1 000 pour Basic et Advanced. Chaque prix incluait 10 résultats, et les résultats supplémentaires coûtaient 1 $ par 1 000Contenu de page completWeb Unlocker, via le serveur MCP ou sa propre API ([tarifs actuels](/pricing/web-unlocker))Extract à 1 $ par 1 000 URLNiveau gratuitNiveau gratuit mensuel récurrent, aucune carte de crédit requise (quota actuel sur la page de tarifs)5 $ de crédits par mois, pour les organisations ayant ajouté une carte de créditFacturationSeules les requêtes réussies sont facturéesPar 1 000 requêtes, selon le modeLimites de débit et simultanéitéLes forfaits Scale listent une simultanéité illimitée600 requêtes par minute par défaut, personnalisable sur les forfaits entrepriseLe prix unitaire n’est qu’une partie de la facture d’un agent. Chaque résultat, extrait et page que le modèle lit ajoute aussi des tokens de modèle à la facture. Dans une boucle qui cherche, lit et cherche à nouveau, le modèle relit les résultats antérieurs à chaque tour, et ces tokens sont facturés de nouveau. Comparez le coût par réponse, qui est la dépense d’API plus le coût des tokens de modèle, divisé par les réponses réellement utilisées par votre agent.

Par exemple, un agent qui effectue 3 recherches et lit 3 pages fait 6 appels d’API par réponse. Multipliez ces appels par les tarifs actuels de chaque API, puis ajoutez les tokens de modèle que l’agent lit, pour comparer le coût par réponse.

## Même requête, résultats différents : le chevauchement de Parallel avec Google

Le mode Avancé par défaut de Parallel a renvoyé 35 à 43 % des URL de la première page de Google. Ses modes Turbo et Fast ont renvoyé 6 à 18 %.

J’ai envoyé les mêmes 30 requêtes américaines à Google via l’API SERP, et aux 4 modes de Parallel, puis comparé les 10 premières URL. Le tableau montre la part des URL principales de Google que chaque mode de Parallel a également renvoyée, avec le nombre de requêtes de chaque groupe entre crochets. La première page de Google a changé entre les exécutions, une fourchette indique donc les résultats de 2 exécutions :

Groupe (requêtes)AdvancedBasicFastTurboFactuel (5)35 à 61 %33 à 53 %15 à 18 %11 à 17 %Documentation technique (5)50 à 63 %64 %27 %11 %Actualités (4)25 à 36 %31 à 42 %26 à 39 %5 à 8 %Marque et SEO (6)21 à 42 %29 à 52 %12 à 16 %3 à 8 %Commercial (6)35 à 52 %37 à 53 %8 à 10 %0 à 2 %Local (4)17 à 25 %17 %0 %0 %Toutes les requêtes (30)35 à 43 %39 à 45 %15 à 18 %6 %Le SDK de Parallel recommandait un objectif en langage naturel et 2 ou 3 requêtes de recherche par appel. Avec ces paramètres, le mode Advanced a renvoyé 34 % et le mode Fast 11 %, les paramètres recommandés n’ont donc pas augmenté le chevauchement. Chaque groupe comporte 4 à 6 requêtes, considérez donc chaque ligne de groupe comme un indicateur approximatif et la ligne de 30 requêtes comme le chiffre global.

Parallel classe les pages selon l’objectif, ce qui fonctionne bien pour les questions de recherche ouvertes. Le [suivi de classement](/products/serp-api/rank-tracking), le suivi de visibilité IA, la surveillance de marque et la surveillance publicitaire nécessitent la page que les utilisateurs voient réellement. C’est la page de résultats de Google, que l’API SERP renvoie.

## Ciblage au niveau de la ville : résultats Google à Chicago, Austin et Seattle

Les résultats de Google ont changé selon la ville sur 3 des 4 requêtes locales, et le paramètre de localisation de Parallel acceptait des pays, pas des villes, lors des tests. L’API SERP a récupéré la première page de Google pour 4 requêtes à intention locale à Chicago, Austin et Seattle :

RequêteURL organiques partagées entre 2 villesEntreprises du pack de cartes partagéesplombier urgenceAucuneAucunemeilleure pizzaAucuneAucunedentiste ouvert samediAucuneAucunedevis assurance auto6 sur 9Google n’a affiché aucun pack de cartesAu-dessus du pack de cartes, la page de Google pour Chicago affiche la localisation appliquée :

![Page de résultats Google pour plombier urgence avec l'étiquette de localisation indiquant Chicago, IL. Un pack de cartes Entreprises liste Rescue Plumbing, Chicago Drain Tech Emergency Plumbers et Emmett's Speedy Plumbing Company à côté d'une carte du centre de Chicago, suivi d'un résultat Yelp pour les plombiers d'urgence à Chicago.](https://media.brightdata.com/2026/10/S1x-rMCoGe.png)*L’étiquette de localisation confirme le ciblage.*

La page d’Austin pour la même requête liste d’autres entreprises :

![Page de résultats Google pour plombier urgence avec l'étiquette de localisation indiquant Austin, TX. Une section Sponsorisée Plumbers Austin montre Radiant Plumbing et Roto-Rooter, au-dessus d'un pack de cartes Entreprises listant We Plumb LLC, Abacus Plumbing et Ultimate Plumber à côté d'une carte du centre d'Austin.](https://media.brightdata.com/2026/10/S1IMrzCozx.png)*Même requête et même moteur, aucune entreprise partagée. Un paramètre au niveau du pays ne peut demander la page d’aucune des deux villes.*

Pour “dentiste ouvert samedi” avec la localisation réglée sur les États-Unis, les résultats de Parallel incluaient une page de Los Angeles et une recherche Yelp pour Port St. Lucie, en Floride. Ajouter le nom de la ville au texte de la requête a aidé Parallel à faire correspondre davantage de résultats locaux de Google. Avec le nom de la ville ajouté à chaque requête, le mode Advanced a renvoyé 39 des 107 URL des pages ciblées par ville de Google. Les extraits de Parallel nommaient 4 des 27 entreprises des packs de cartes de Google.

Avec la localisation réglée sur les Émirats arabes unis, le Vietnam ou le Nigeria, Parallel renvoyait quand même des résultats, plus un avertissement indiquant que la localisation “n’est pas actuellement prise en charge. Le paramètre de localisation est ignoré.” Si vous utilisez Parallel, vérifiez le champ `warnings`, car ces résultats n’avaient aucun pays appliqué. L’API SERP applique le pays à chaque requête, et la même requête a renvoyé des packs de cartes locaux dans les 3 pays.

Le ciblage par ville dans l’API SERP utilise le paramètre `uule` de Google. L’API SERP [accepte un nom de localisation canonique simple](https://docs.brightdata.com/products/serp-api/query-parameters/google), comme `Chicago,Illinois,United States`, sans encodage supplémentaire. Ajoutez `brd_mobile=1` à l’URL de recherche pour obtenir la page de résultats mobile, car de nombreux outils de suivi de classement rapportent séparément les résultats mobiles et de bureau.

## Fonctionnalités SERP qu’un index de recherche ne renvoie pas

Sur les 30 requêtes de test, les pages de Google ont montré ces fonctionnalités SERP, et l’index de Parallel n’en a renvoyé aucune :

Fonctionnalité SERPRequêtes l’ayant affichéePeople Also Ask21 sur 30AI Overview15 sur 30Résultats vidéo8 sur 30Pack de cartes4 sur 30Résultats shopping4 sur 30Publicités3 sur 30Un agent qui rapporte ce que Google indique aux utilisateurs a besoin de l’AI Overview lui-même. L’aperçu pour “meilleur crm pour petite entreprise” recommandait HubSpot, Pipedrive et Zoho, et listait ses sources dans un panneau à côté de la réponse :

![Page de résultats Google pour meilleur crm pour petite entreprise, avec les onglets AI Mode et Tous. Un AI Overview recommande HubSpot CRM, Pipedrive et Zoho CRM avec des liens sources, un panneau latéral affiche des fiches sources de la U.S. Chamber of Commerce et Slack, et le premier résultat organique de CRM.org se trouve en dessous.](https://media.brightdata.com/2026/10/ByDmSGCsGg.png)*Google met à jour l’aperçu au fil du temps, la réponse peut donc changer entre les exécutions.*

Les 15 aperçus citaient 64 sources, et les résultats Fast et Advanced de Parallel pour les mêmes requêtes en incluaient 7. Environ 9 pages sur 10 citées par l’IA de Google n’étaient pas dans les résultats de Parallel.

L’API SERP avec `brd_json=1` renvoie la page complète en [JSON analysé](https://docs.brightdata.com/products/serp-api/parsed-json-results), avec l’aperçu dans un champ `ai_overview` et ses sources sous `references`. Un agent peut citer l’aperçu et vérifier quelles pages Google a citées.

## SERP en direct vs. index de recherche : actualité, copies en cache et pages bloquées

L’API SERP récupère la page de Google au moment de la requête, ses résultats incluent donc les nouvelles histoires dès que Google les affiche. Pour 14 articles d’actualité que Google News a étiquetés comme datant de 20 minutes à 17 heures, j’ai interrogé Parallel avec des termes clés de chaque titre. Le mode Advanced a renvoyé l’URL exacte de l’article pour 9 des 14, y compris un article publié 55 minutes plus tôt. Le mode Fast en a renvoyé 6, et les 2 modes ensemble en ont trouvé 10.

Les 14 articles provenaient de Google News via l’API SERP, avec `tbm=nws` pour les résultats d’actualité et `tbs=qdr:d` pour la journée écoulée. Pour la surveillance de l’actualité, où chaque article manqué compte, interrogez Google News de la même manière.

Pour les pages complètes, l’API Extract de Parallel a renvoyé du contenu pour 15 des 18 pages de vente au détail, de voyage et d’annonces en 2,1 secondes ou moins. La page de tarifs de Parallel indiquait 1 à 3 secondes pour les pages en cache et 60 à 90 secondes pour les récupérations en direct. Ce timing correspond aux copies en cache, et une copie en cache peut afficher la mauvaise localisation pour votre utilisateur.

Les copies renvoyées par Extract affichaient une localisation de livraison que les requêtes ne demandaient pas. La page Target affichait “Ship to 51503 Council Bluffs” près du haut, et la page Walmart affichait “Sacramento, 95829” au même endroit. Si un agent cite des prix, des stocks ou des délais de livraison à un utilisateur à Austin, l’agent a besoin de la page pour la localisation de cet utilisateur. L’API SERP accepte le pays ou la ville à chaque requête, et Web Unlocker récupère la page au moment de la requête depuis le pays choisi.

Le site web de Parallel décrivait Parallel comme n’ayant “aucune capacité à atteindre un site ayant décidé de vous bloquer” et aucun déblocage pour ces sites. Web Unlocker est conçu pour les pages avec protection anti-bot, et les outils `scrape_as_markdown` et `scrape_batch` du serveur MCP acheminent les requêtes à travers lui.

## Pages complètes via le serveur MCP : l’agent choisit ce qu’il lit

Dans le serveur MCP Bright Data, `search_engine` renvoie la liste de résultats de Google. `scrape_batch` renvoie ensuite les pages choisies par l’agent en Markdown complet dans un seul appel. Une clé API et un [niveau gratuit](/pricing/mcp-server) fonctionnent pour les deux outils.

La liste de résultats est compacte, avec lien, titre et description par résultat. Sur les 30 requêtes de test, la liste avait une médiane d’environ 720 tokens avec le tokenizer `o200k_base`. Parallel renvoyait des extraits à chaque recherche à la place. Une réponse de 10 résultats avait une médiane de 5 438 tokens en mode Fast et de 4 082 tokens en mode Advanced.

Avec les extraits, chaque recherche ajoute le texte de l’extrait au contexte. Avec la liste de résultats compacte, seules les pages que l’agent ouvre ajoutent du texte de page. L’agent décide combien de pages ouvrir, il contrôle donc la quantité de texte de page ajoutée pour chaque réponse.

Les pages complètes conservent les tableaux, blocs de code et prix qu’un extrait peut omettre. Découpez les longues pages en segments et conservez les plus pertinents avant que le modèle ne rédige la réponse. La fenêtre de contexte contient alors ce dont la question a besoin.

Connectez le serveur MCP hébergé et chargez uniquement les 2 outils utilisés par ce flux de travail. Chaque outil chargé ajoute sa définition au contexte de l’agent avant le premier appel, moins d’outils gardent donc le contexte petit.

Ce `.mcp.json` pour Claude Code lit la clé depuis la variable d’environnement `BRIGHTDATA_API_KEY`. La clé n’est pas stockée dans le fichier ni affichée dans les URL journalisées :

```none
{
  "mcpServers": {
    "bright-data": {
      "type": "http",
      "url": "https://mcp.brightdata.com/mcp?tools=search_engine,scrape_batch",
      "headers": {
        "Authorization": "Bearer ${BRIGHTDATA_API_KEY}"
      }
    }
  }
}
```

Enregistrez-le sous `.mcp.json` à la racine de votre projet. Les clients prenant en charge les en-têtes personnalisés acceptent la même URL et le même en-tête dans leur propre format de configuration. Obtenez une clé API depuis les [paramètres de votre compte Bright Data](/cp/setting/users). La [référence des outils MCP](https://docs.brightdata.com/products/mcp-server/tools) documente les outils et groupes d’outils.

Lors des tests, le serveur hébergé encapsulait la sortie de `search_engine` et `scrape_batch` dans des marqueurs les étiquetant comme données web non fiables. Les marqueurs indiquent au modèle de traiter chaque page comme des données plutôt que des instructions. Ils ajoutent une couche de protection contre l’injection de prompt qui fonctionne aux côtés des défenses propres de l’agent.

## Quand choisir Bright Data ou Parallel

Le bon choix dépend de la tâche que l’outil de recherche effectue dans votre agent.

**Choisissez Bright Data lorsque l’agent a besoin de la page de résultats en direct ou de la page complète :**

- Ce que Google affiche au moment de la requête, y compris les classements, les [AI Overviews](/products/serp-api/google-search/ai-overview), People Also Ask, les publicités, les résultats shopping et le pack de cartes
- Résultats pour un pays ou une ville spécifique
- Moteurs au-delà de Google, comme Bing, Baidu, Yandex et Naver
- Travaux par lots à fort volume, avec une simultanéité illimitée listée pour les forfaits Scale
- Pages complètes via Web Unlocker, conçu pour les sites protégés contre les bots, avec la même clé que la recherche

**Choisissez Parallel lorsque l’agent a besoin d’extraits classés pour répondre :**

- Pages classées avec extraits en un seul appel
- Modes Turbo et Fast à faible latence
- Un prix bas par recherche en Turbo et Fast
- Questions de recherche ouvertes où le classement de Google n’a pas d’importance

Certains agents effectuent les deux tâches. Dans ce cas, encapsulez les deux dans un seul outil de recherche qui achemine chaque requête selon l’intention. Les questions locales, commerciales et “ce que Google affiche” vont vers l’API SERP, et les questions de recherche ouvertes vers Parallel. Le même wrapper est un bon endroit pour journaliser chaque appel et fixer des limites de dépenses.

Certaines questions n’ont pas besoin de recherche. Lorsque l’agent vérifie les mêmes pages connues selon un calendrier, comme une page de tarifs chaque matin, récupérez-les directement via Web Unlocker. Une récupération directe évite de payer la même recherche à chaque vérification.

Les deux démarrent gratuitement. L’API SERP dispose d’un niveau gratuit mensuel récurrent sans carte de crédit requise. Parallel offrait 5 $ de crédits par mois lors des tests.

## Méthodologie de test

Les résultats de chevauchement et de fonctionnalités SERP proviennent d’une seule configuration :

- Les mêmes 30 requêtes, en 6 groupes, ont été envoyées à Google via l’API SERP et aux 4 modes de Parallel.
- La localisation était réglée sur les États-Unis, et Google renvoyait des résultats de bureau en anglais.
- Chaque requête était l’objectif de Parallel et sa seule requête de recherche.
- La comparaison utilisait les 10 premières URL de chaque API, après suppression des balises de suivi comme le `srsltid` de Google.
- Chaque chiffre de chevauchement est la part moyenne par requête sur une exécution. Advanced et Fast ont été exécutés deux fois, et Turbo et Basic une fois, quelques heures plus tard.
- Les comptages de fonctionnalités SERP proviennent de la première exécution. Lors de la seconde exécution, les résultats de Parallel incluaient 6 des 61 sources citées par les AI Overviews.

## Mesurer le chevauchement avec Google sur vos propres requêtes

Le chevauchement de Parallel avec Google dépend des requêtes. Échantillonnez 100 requêtes ou plus à partir des journaux de votre agent, réparties par type comme local, commercial et technique. Les requêtes journalisées incluent la variété que les requêtes de test écrites à la main manquent. Utilisez le niveau gratuit de l’API SERP pour la moitié Google du test.

Avant d’exécuter le script, obtenez une clé API Parallel et le nom de votre zone API SERP. Une zone est la configuration de produit nommée que chaque requête Bright Data spécifie. Pour en ajouter une, ouvrez le [panneau de contrôle Bright Data](/cp/zones) et choisissez **Créer une API** &gt; **API SERP**. Copiez le nom de la zone depuis son onglet **Aperçu** :

![Panneau de contrôle Bright Data, Web Access API, zone serp_api2, onglet Aperçu. Les détails d'accès listent les clés API avec un lien Gérer, une liste blanche d'IP, le format de réponse par défaut Full JSON, et un exemple de requête curl. Le nom de la zone est surligné dans l'en-tête de page et dans l'exemple de requête. La clé API, les adresses IP et le compteur de crédits gratuits sont masqués.](https://media.brightdata.com/2026/10/Hku4HzRiMe.png)*La clé API provient du lien **Gérer** sur la même page.*

Enregistrez ce script sous `overlap_check.py`. Il accepte des requêtes en arguments et affiche combien des URL principales de Google apparaissent aussi dans les 10 premières de Parallel :

```none
# /// script
# requires-python = ">=3.9"
# dependencies = ["requests"]
# ///
# Affiche combien des 10 premières URL de Google (via l'API SERP Bright Data)
# apparaissent aussi dans les 10 premières de Parallel. Nécessite BRIGHTDATA_API_KEY,
# BRIGHTDATA_SERP_ZONE et PARALLEL_API_KEY dans l'environnement.
import json
import os
import sys
import time
import urllib.parse
from concurrent.futures import ThreadPoolExecutor

import requests
from requests.adapters import HTTPAdapter
from urllib3.util import Retry

BRIGHTDATA_API_KEY = os.environ["BRIGHTDATA_API_KEY"]
BRIGHTDATA_SERP_ZONE = os.environ["BRIGHTDATA_SERP_ZONE"]
PARALLEL_API_KEY = os.environ["PARALLEL_API_KEY"]
MODE = os.environ.get("PARALLEL_MODE", "advanced")
# Nom de localisation canonique facultatif, p. ex. "Chicago,Illinois,United States"
LOCATION = os.environ.get("GOOGLE_LOCATION", "")

session = requests.Session()
# Réessaie 429 (trop de requêtes), en attendant aussi longtemps que Retry-After le demande
session.mount("https://", HTTPAdapter(max_retries=Retry(
    total=3, status_forcelist=[429], allowed_methods=None,
    backoff_factor=1, raise_on_status=False)))

def post(url, headers, body, timeout):
    resp = session.post(url, headers=headers, json=body, timeout=timeout)
    resp.raise_for_status()
    return resp

def key(url):
    # Compare les URL sans schéma, "www.", fragment, barre oblique finale ou
    # balises de suivi comme le srsltid de Google, qui peuvent différer entre les requêtes
    parts = urllib.parse.urlsplit(url.lower().split("#")[0])
    query = urllib.parse.urlencode(
        [(k, v) for k, v in urllib.parse.parse_qsl(parts.query)
         if not k.startswith(("utm", "srsltid"))])
    host = parts.netloc.removeprefix("www.")
    return (host + parts.path).rstrip("/") + ("?" + query if query else "")

def google_top10(query):
    params = {"q": query, "gl": "us", "hl": "en", "brd_json": "1"}
    if LOCATION:
        params["uule"] = LOCATION
    body = {"zone": BRIGHTDATA_SERP_ZONE, "format": "raw",
            "url": "https://www.google.com/search?"
                   + urllib.parse.urlencode(params)}
    headers = {"Authorization": f"Bearer {BRIGHTDATA_API_KEY}"}
    resp = post("https://api.brightdata.com/request", headers, body, 120)
    # Bright Data rapporte le statut de la requête dans l'en-tête x-brd-error
    if resp.headers.get("x-brd-error"):
        raise RuntimeError(resp.headers["x-brd-error"])
    serp = resp.json()
    # Confirme que Google a appliqué la localisation avant d'utiliser les résultats
    city = LOCATION.split(",")[0]
    applied = serp.get("general", {}).get("location", "")
    if city and not applied.startswith(city):
        raise RuntimeError(f"Google n'a pas appliqué la localisation {LOCATION}")
    return [r["link"] for r in serp.get("organic", [])][:10]

def parallel_top10(query):
    body = {"objective": query, "search_queries": [query], "mode": MODE,
            "advanced_settings": {"location": "us", "max_results": 10}}
    resp = post("https://api.parallel.ai/v1/search",
                {"x-api-key": PARALLEL_API_KEY}, body, 60)
    return [r["url"] for r in resp.json()["results"]][:10]

def with_retries(fetch, query, attempts=3, pause=15):
    # Réessaie l'une ou l'autre API plusieurs fois, avec une pause entre les tentatives
    for attempt in range(attempts):
        try:
            return fetch(query)
        except (RuntimeError, requests.RequestException) as err:
            # Une réponse 4xx signifie que la requête elle-même doit être corrigée
            response = getattr(err, "response", None)
            if response is not None and response.status_code < 500:
                raise
            if attempt == attempts - 1:
                raise
            time.sleep(pause)

def compare(query):
    google = with_retries(google_top10, query)
    parallel = with_retries(parallel_top10, query)
    shared = {key(u) for u in google} & {key(u) for u in parallel}
    return {"query": query, "mode": MODE, "location": LOCATION,
            "shared": len(shared), "total": len({key(u) for u in google}),
            "google": google, "parallel": parallel}

def safe_compare(query):
    # Conserve les résultats des autres requêtes si une requête échoue
    try:
        return compare(query)
    except (RuntimeError, requests.RequestException) as err:
        return {"query": query, "error": str(err)}

# Les requêtes viennent des arguments, ou une par ligne sur stdin
queries = sys.argv[1:] or [line.strip() for line in sys.stdin if line.strip()]
# Exécute les requêtes en simultané et affiche les résultats dans l'ordre d'entrée
with ThreadPoolExecutor(max_workers=8) as pool:
    results = list(pool.map(safe_compare, queries))
# Conserve les URL brutes afin que les résultats puissent être re-notés sans nouvelles requêtes
with open("overlap_results.jsonl", "a") as f:
    f.writelines(json.dumps(r) + "\n" for r in results)
ok = [r for r in results if "error" not in r]
for r in results:
    if "error" in r:
        print(f"Erreur ({r['error']}) : {r['query']}")
    else:
        print(f"{r['shared']}/{r['total']} des URL principales de Google aussi dans "
              f"Parallel ({MODE}) : {r['query']}")
mean = sum(r["shared"] / max(r["total"], 1) for r in ok) / max(len(ok), 1)
noun = "requête" if len(ok) == 1 else "requêtes"
print(f"Moyenne sur {len(ok)} {noun} : {mean:.0%} des URL principales de Google "
      "aussi dans Parallel")
```

Le script comporte 6 parties :

- `google_top10` récupère la première page de Google via l’API SERP avec `brd_json=1` et vérifie que Google a appliqué la localisation.
- `parallel_top10` envoie la même requête à l’API de recherche de Parallel dans le mode choisi.
- `key` normalise chaque URL, afin que la même page corresponde même lorsque les balises de suivi diffèrent.
- `with_retries` réessaie l’une ou l’autre API plusieurs fois, avec une pause entre les tentatives.
- `compare` compte les URL partagées par requête, et les dernières lignes affichent les résultats et enregistrent les URL brutes.
- `safe_compare` enregistre l’erreur lorsqu’une requête échoue, afin que les résultats des autres requêtes soient conservés.

Passez les requêtes en arguments, ou redirigez un fichier vers le script avec une requête par ligne. [uv](https://docs.astral.sh/uv/) installe `requests` depuis l’en-tête du script à la première exécution. Sans uv, installez `requests` dans un environnement virtuel et exécutez le script avec `python` au lieu de `uv run`. Définissez le nom de la zone et les deux clés API, puis exécutez le script :

```none
export BRIGHTDATA_API_KEY="votre-clé-api-bright-data"
export BRIGHTDATA_SERP_ZONE="votre-nom-de-zone-serp"
export PARALLEL_API_KEY="votre-clé-api-parallel"
uv run overlap_check.py "meilleur crm pour petite entreprise" \
  "performance index postgres jsonb" "dentiste ouvert samedi"
# Pour lire une requête par ligne depuis un fichier à la place, exécutez :
# uv run overlap_check.py < queries.txt
# Pour tester un autre mode Parallel, définissez-le d'abord, par exemple :
# export PARALLEL_MODE=fast
```

Si une ligne affiche une erreur 4xx, vérifiez le nom de la zone et les deux clés API. Pour ces 3 requêtes, une exécution a affiché :

```none
2/9 des URL principales de Google aussi dans Parallel (advanced) : meilleur crm pour petite entreprise
4/9 des URL principales de Google aussi dans Parallel (advanced) : performance index postgres jsonb
1/9 des URL principales de Google aussi dans Parallel (advanced) : dentiste ouvert samedi
Moyenne sur 3 requêtes : 26 % des URL principales de Google aussi dans Parallel
```

La dernière ligne fait la moyenne de la part par requête, la même mesure que le tableau de chevauchement. Le 9 de chaque ligne est le nombre de résultats organiques sur la première page de Google pour cette requête. Les résultats changent entre les exécutions, et la requête Postgres a partagé 0 à 6 URL sur 9 exécutions. Basez une décision sur de nombreuses requêtes, et exécutez chaque requête plus d’une fois.

Chaque exécution ajoute aussi les URL brutes à `overlap_results.jsonl`. Vous pouvez re-noter ces résultats plus tard, par exemple avec une règle de correspondance d’URL différente, sans payer de nouvelles requêtes. Lorsque votre agent ou son trafic change, relancez la vérification sur un nouvel échantillon de vos journaux.

Définissez `GOOGLE_LOCATION` sur un nom de localisation canonique pour exécuter la vérification pour une seule ville américaine :

```none
GOOGLE_LOCATION="Chicago,Illinois,United States" \
  uv run overlap_check.py "plombier urgence"
```

Avec Chicago, le script a affiché :

```none
0/9 des URL principales de Google aussi dans Parallel (advanced) : plombier urgence
Moyenne sur 1 requête : 0 % des URL principales de Google aussi dans Parallel
```

Pour les requêtes de recherche ouvertes, où le classement de Google n’a pas d’importance, ajoutez 2 vérifications supplémentaires à la mesure de chevauchement. Vérifiez si les pages récupérées contiennent les preuves dont la réponse a besoin, et si la réponse est complète. Utilisez un juge LLM avec une grille écrite, et vérifiez le juge par rapport à un échantillon d’étiquettes humaines.

## Réflexions finales

L’API SERP de Bright Data renvoie la page qu’une personne verrait dans une ville donnée, avec des fonctionnalités comme le pack de cartes et l’AI Overview. Sur 30 requêtes exécutées deux fois, le mode Advanced de Parallel a renvoyé 35 à 43 % des URL de la première page de Google, votre choix change donc ce que votre agent lit.

Pour le contenu de page complet, le serveur MCP récupère les pages avec la même clé API via Web Unlocker, conçu pour les sites avec protection anti-bot. Les extraits classés de Parallel conviennent bien aux questions de recherche ouvertes où le classement de Google n’a pas d’importance. Exécutez le script de chevauchement sur les requêtes journalisées de votre agent avec le niveau gratuit de l’API SERP, puis connectez le serveur MCP à votre agent.

## FAQ

### Qu’est-ce que la recherche web Parallel ?

La recherche web Parallel est une API de recherche que Parallel Web Systems a conçue pour les agents IA. Elle répond aux requêtes à partir de son propre index web avec des URL classées et des extraits Markdown, selon plusieurs modes de vitesse et de qualité. L’API SERP de Bright Data renvoie à la place la page de résultats en direct de Google, pour un pays ou une ville choisi.

### La recherche Parallel est-elle gratuite ?

En partie. La page de tarifs de Parallel indiquait 5 $ de crédits gratuits par mois lors des tests, suffisant pour jusqu’à 5 000 recherches Turbo ou Fast. Les crédits nécessitaient une carte de crédit sur le compte, et le Search MCP hébergé de Parallel était gratuit sans clé API. L’API SERP de Bright Data inclut un niveau gratuit mensuel récurrent, sans carte de crédit requise.

### Combien coûte l’API de recherche Parallel ?

La page de tarifs de Parallel indiquait 1 $ par 1 000 requêtes pour Turbo et Fast et 5 $ par 1 000 pour Basic et Advanced lors des tests. Chaque prix incluait 10 résultats, et les résultats supplémentaires coûtaient 1 $ par 1 000. L’API Extract de Parallel coûtait 1 $ par 1 000 URL. L’API SERP de Bright Data est en libre-service et ne facture que les requêtes réussies, avec les forfaits actuels sur sa page de tarifs.

### Bright Data ou Parallel est-il meilleur pour les agents IA ?

Aucune des deux API n’est meilleure pour toutes les tâches. Choisissez Bright Data lorsque l’agent a besoin de la page de résultats en direct de Google, du ciblage par ville, des AI Overviews ou de pages avec protection anti-bot. Choisissez Parallel lorsque le classement de Google n’a pas d’importance, comme pour les questions de recherche ouvertes. Sur 30 requêtes de test exécutées deux fois, le mode Advanced de Parallel a renvoyé 35 à 43 % des URL de la première page de Google.

### Quelle API est la meilleure pour la recherche web ?

Pour les agents ayant besoin de la page de résultats de Google, utilisez une API SERP comme celle de Bright Data. Elle renvoie la page de résultats en direct avec un ciblage au niveau de la ville et des fonctionnalités SERP comme les AI Overviews. Pour la recherche ouverte, une API d’index comme Parallel renvoie des extraits classés pour un objectif.



Contacter ventesEssai gratuit![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Table des matières













 [ ](https://news.ycombinator.com/submitlink?t=Bright+Data+vs.+Parallel+%3A+Quelle+API+de+recherche+web+convient+%C3%A0+votre+agent+IA+%3F&u=https://brightdata.fr/blog/comparaison/bright-data-vs-parallel) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Bright+Data+vs.+Parallel+%3A+Quelle+API+de+recherche+web+convient+%C3%A0+votre+agent+IA+%3F&url=https://brightdata.fr/blog/comparaison/bright-data-vs-parallel) [ ](http://www.reddit.com/submit?title=Bright+Data+vs.+Parallel+%3A+Quelle+API+de+recherche+web+convient+%C3%A0+votre+agent+IA+%3F&url=https://brightdata.fr/blog/comparaison/bright-data-vs-parallel)







##  Vous pourriez aussi être intéressé par

 [ ![Bright Data Python SDK](https://media.brightdata.fr/2026/10/Bright-Data-Python-SDK.png) ](https://brightdata.fr/blog/ai/bright-data-python-sdk "Découvrez le SDK Python de Bright Data : scraper, rechercher et obtenir des données web")

 [AI



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Découvrez le SDK Python de Bright Data : scraper, rechercher et obtenir des données web

Découvrez comment utiliser le SDK Python de Bright Data pour scraper des sites web, rechercher sur Google et Bing, exporter des données et exécuter des tâches en parallèle en Python.



 18-Oct-2026

 23 min de lecture

 ](https://brightdata.fr/blog/ai/bright-data-python-sdk)

 [ ![Claude Code Routines](https://media.brightdata.fr/2026/10/Claude-Code-Routines.png) ](https://brightdata.fr/blog/ai/claude-code-routines "Routines Claude Code : Programmer la Surveillance Web Quotidienne avec Bright Data")

 [AI



 ![Satyam Tripathi](https://media.brightdata.fr/2024/09/Satyam-Tripathi-50x50.png)

Satyam Tripathi

Technical Writer





### Routines Claude Code : Programmer la Surveillance Web Quotidienne avec Bright Data

Apprenez à donner aux routines Claude Code un accès web avec Bright Data et créez un moniteur de prix quotidien qui vérifie chaque page qu’il lit.



 18-Oct-2026

 15 min de lecture

 ](https://brightdata.fr/blog/ai/claude-code-routines)

 [ ![Is There a Google Search API](https://media.brightdata.fr/2026/10/Is-There-a-Google-Search-API_.png) ](https://brightdata.fr/blog/donnees-web/google-search-api "Existe-t-il une API de recherche Google ? Options après Custom Search")

 [Données Web



 ![Satyam Tripathi](https://media.brightdata.fr/2024/09/Satyam-Tripathi-50x50.png)

Satyam Tripathi

Technical Writer





### Existe-t-il une API de recherche Google ? Options après Custom Search

Découvrez comment migrer de l’API JSON Custom Search de Google vers l’API SERP de Bright Data, avec un adaptateur cse.list() plug-and-play et une table de paramètres.



 18-Oct-2026

 8 min de lecture

 ](https://brightdata.fr/blog/donnees-web/google-search-api)
