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 NormalizedReview type based on Schema.org/Review
  • Auto-imported composablesuseReviews() and useReviewSchema() 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
  • PaginationnextPageToken exposed 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

  1. Configure one or more review providers in nuxt.config.ts
  2. The module registers Nitro server routes (/api/_reviews) that fetch and normalize reviews
  3. Use the useReviews() composable in your Vue components for reactive access
  4. Use useReviewSchema() to inject Schema.org JSON-LD for SEO
  5. Drop in <ReviewList> and <ReviewSummary> components or build your own UI
  6. 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.