Le problème
Les entreprises multi-sites ont besoin de surveiller les avis Google sur tous leurs établissements. Le scraping direct de Google Maps viole les conditions d'utilisation, nécessite des proxies résidentiels coûteux et tombe en panne toutes les 2 à 4 semaines lorsque Google met à jour la mise en page de ses pages.
La solution Scavio
Interrogez Google pour chaque établissement via l'API SERP et extrayez les données d'avis (note, nombre, extraits) des résultats de recherche structurés. Cela renvoie les mêmes données d'avis que Google affiche publiquement dans ses résultats de recherche, sans avoir à scraper directement Maps.
Avant
Avant le changement, une chaîne de restaurants utilisait Outscraper pour scraper les avis Google Maps sur 25 établissements (75 $/mois). Le scraper est tombé en panne deux fois en 3 mois, chaque réparation prenant 2 à 3 jours. Pendant les pannes, les avis négatifs passaient inaperçus.
Après
Après être passé à la surveillance via l'API SERP, 25 requêtes quotidiennes renvoient la note actuelle et le nombre d'avis pour chaque établissement. Coût : 3,75 $/mois. Zéro panne en 4 mois. Les alertes sont envoyées sous 24 heures lorsqu'un établissement passe en dessous de 4,0 étoiles ou gagne 5+ avis en une journée.
À qui cela s'adresse
Entreprises multi-sites et agences de gestion de réputation qui ont besoin d'une surveillance fiable et peu coûteuse des avis Google, sans les risques juridiques et de maintenance liés au scraping direct.
Avantages clés
- 3,75 $/mois pour la surveillance quotidienne de 25 établissements contre 75 $/mois pour Outscraper
- Zéro maintenance du scraper et zéro panne
- Juridiquement plus sûr que le scraping direct de Maps
- Alertes en cas de baisse de note ou de pic d'avis
- JSON structuré avec note, nombre et extraits d'avis
Exemple Python
import requests, os, json
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def monitor_reviews(business_name: str, location: str) -> dict:
query = f'{business_name} {location} reviews'
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'google', 'query': query}, timeout=10).json()
kg = r.get('knowledge_graph', {})
return {
'business': business_name,
'location': location,
'rating': kg.get('rating'),
'review_count': kg.get('review_count'),
'type': kg.get('type'),
}
locations = [
('Joes Pizza', 'Brooklyn NY'),
('Joes Pizza', 'Manhattan NY'),
]
for name, loc in locations:
result = monitor_reviews(name, loc)
print(f"{result['location']}: {result['rating']} ({result['review_count']} reviews)")Exemple JavaScript
const H = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function monitorReviews(business, location) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST', headers: H,
body: JSON.stringify({ platform: 'google', query: `${business} ${location} reviews` })
}).then(r => r.json());
const kg = r.knowledge_graph || {};
return { business, location, rating: kg.rating, reviewCount: kg.review_count };
}
const result = await monitorReviews('Joes Pizza', 'Brooklyn NY');
console.log(`${result.location}: ${result.rating} (${result.reviewCount} reviews)`);Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA