Getting Started
Introduction
nuxt-reviews is a Nuxt module for fetching and aggregating reviews from multiple platforms.
nuxt-reviews is a Nuxt module that lets you fetch, normalize, and aggregate customer reviews from multiple platforms through a single, unified API.
Features
- Multi-provider support — Google Places, Trustpilot, SerpAPI, Outscraper, Booking.com BETA
- Mock provider — 12 multilingual fake reviews (TR/EN/FR/DE/ES/IT/RU/JA) for development with no API keys
- Normalized data — All reviews follow a single
NormalizedReviewtype based on Schema.org/Review - Auto-imported composables —
useReviews()anduseReviewSchema()work out of the box - Component kit —
<ReviewStars>,<ReviewCard>,<ReviewList>,<ReviewSummary>auto-registered - Schema.org JSON-LD — Inject structured data for Google rich snippets automatically
- Pagination —
nextPageTokenexposed in composable for single-provider page-by-page fetching - Server-side caching — Configurable TTL to minimize API calls
- Content moderation — Built-in Perspective API / OpenAI integration
- Full TypeScript support — End-to-end type safety
How It Works
- Configure one or more review providers in
nuxt.config.ts - The module registers Nitro server routes (
/api/_reviews) that fetch and normalize reviews - Use the
useReviews()composable in your Vue components for reactive access - Use
useReviewSchema()to inject Schema.org JSON-LD for SEO - Drop in
<ReviewList>and<ReviewSummary>components or build your own UI - Optionally enable content moderation to filter toxic reviews
No API keys? Use the mock provider — zero configuration, 8 languages, instant start.
Try the interactive playground to test review fetching with your own API keys.