Skip to main content

Google Reviews Integration

Vartovii uses Google Reviews to gather employee and customer feedback about companies.

How It Works

sequenceDiagram
participant User
participant API
participant SerpAPI
participant Google Maps

User->>API: /api/google-reviews/{company}
API->>SerpAPI: Search for place ID
SerpAPI->>Google Maps: Query google_maps engine
Google Maps-->>SerpAPI: Place results
SerpAPI-->>API: data_id
API->>SerpAPI: Fetch reviews (paginated)
SerpAPI->>Google Maps: Query google_maps_reviews
Google Maps-->>SerpAPI: Reviews data
SerpAPI-->>API: Reviews JSON
API-->>User: Normalized reviews

API Endpoint

GET /api/google-reviews/{company_name}

Parameters

ParameterTypeDescriptionDefault
company_namestringCompany name to searchrequired
countrystringCountry code (de, ch, us, uk)"de"
max_reviewsintMaximum reviews to fetch20

Response

{
"success": true,
"company": "Google Switzerland",
"reviews": [
{
"id": "google--1234567890",
"source": "google",
"author": "John Doe",
"rating": 4.0,
"text": "Great workplace...",
"date": "2 months ago",
"sentiment": "positive"
}
],
"summary": {
"total_reviews": 5,
"average_rating": 4.2,
"positive_count": 4,
"negative_count": 1
}
}

Technical Details

SerpAPI Integration

  • Engine: google_maps_reviews
  • Pagination: Automatic via next_page_token
  • Quota: 100 requests/month (free tier)
  • Cost: Each page (10 reviews) = 1 credit

Language Support

Country CodeLanguagehl Parameter
de, at, chGermande
us, uk, gbEnglishen
frFrenchfr
uaUkrainianuk

Code Location

  • Harvester: vartovii/scrapers/google_reviews_harvester.py
  • SerpAPI Client: vartovii/scrapy_services/serpapi_client.py
  • API Router: backend/routers/corporate.py

Usage Example

from vartovii.scrapers.google_reviews_harvester import get_google_reviews_harvester

harvester = get_google_reviews_harvester()

# Check availability
if harvester.is_available():
result = harvester.harvest(
company_name="Google Switzerland",
country="ch",
max_reviews=20
)
print(f"Found {len(result['reviews'])} reviews")

Added in v3.2.12 (January 2026)