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
| Parameter | Type | Description | Default |
|---|---|---|---|
company_name | string | Company name to search | required |
country | string | Country code (de, ch, us, uk) | "de" |
max_reviews | int | Maximum reviews to fetch | 20 |
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 Code | Language | hl Parameter |
|---|---|---|
| de, at, ch | German | de |
| us, uk, gb | English | en |
| fr | French | fr |
| ua | Ukrainian | uk |
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)