Google review analysis
pinmeto_get_google_review_insightsSummarize Google reviews into rating and sentiment statistics, returning token-efficient aggregates rather than raw review text. Supports summary, comparison, and large-dataset sampling.
Instructions
Summarize Google reviews into rating and sentiment statistics.
Computes aggregates over the matched reviews server-side and returns the summary instead of the raw reviews, which is far more token-efficient than fetching them. The returned data is descriptive statistics, not LLM-written prose: read it and draw your own conclusions for the user.
Analysis Types:
summary: Average rating, sentiment breakdown, rating distribution
comparison: The above, plus per-location metrics ranked by rating
issues, trends, themes: Accepted, but currently return the same payload as summary. No theme extraction, issue clustering, or period comparison is performed, and the response is flagged with warningCode UNDIFFERENTIATED_ANALYSIS_TYPE. To analyze review text, fetch pinmeto_get_google_reviews and read it yourself.
Large Dataset Handling:
<200 reviews: Processed immediately
200-1000: Processed with token estimate in metadata
1000-10000: Returns warning with options (set skipConfirmation=true to proceed)
10000: Requires sampling strategy (representative or recent_weighted)
Sampling Strategies (which reviews get analyzed):
full: Analyze all reviews (default for <10000 reviews)
representative: Stratified sample by rating and location
recent_weighted: Prioritize recent reviews
Caching:
Results cached for 1 hour
Use forceRefresh=true to bypass cache
When NOT to use this tool:
Need raw review text: Use pinmeto_get_google_reviews
Need only aggregate stats: Use pinmeto_get_google_ratings
Need specific review lookup: Use pinmeto_get_google_reviews with filters
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End date (YYYY-MM-DD) | |
| from | Yes | Start date (YYYY-MM-DD) | |
| themes | No | Currently ignored - no theme extraction is performed | |
| storeIds | No | Optional store IDs to analyze (omit for all locations) | |
| maxRating | No | Maximum rating filter (1-5) | |
| minRating | No | Minimum rating filter (1-5) | |
| analysisType | Yes | Type of analysis: summary, issues, comparison, trends, or themes | |
| forceRefresh | No | Bypass cache and regenerate analysis | |
| response_format | No | Response format: "json" (default, token-efficient) or "markdown" (human-readable with tables) | json |
| samplingStrategy | No | Sampling strategy: full (default), representative, or recent_weighted | full |
| skipConfirmation | No | Skip large dataset confirmation (set true after receiving warning) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Analysis results (null or absent on error, warning, or no matching reviews) | |
| error | No | Error message if the request failed | |
| warning | No | Warning message | |
| metadata | No | Analysis metadata | |
| errorCode | No | Error code for programmatic handling | |
| retryable | No | Whether the operation can be retried | |
| warningCode | No | Warning code for programmatic handling | |
| analysisNote | No | Note about the analysis itself, present when there is no metadata to carry it | |
| largeDatasetWarning | No | Large dataset details and options (when requiresConfirmation is true) | |
| requiresConfirmation | No | True if user must confirm before proceeding with large dataset |