Guide

Providers

Configure review providers — Mock, Google Places, Trustpilot, SerpAPI, Outscraper, and Booking.com.

nuxt-reviews supports six review providers. You can configure one or more simultaneously.

Mock

The built-in mock provider returns realistic fake reviews — no API key required. Perfect for development, testing, and demos.

nuxt.config.ts
reviews: {
  providers: {
    mock: {}  // no configuration needed
  }
}

Returns 12 hotel reviews in 8 languages (TR, EN, FR, DE, ES, IT, RU, JA) with realistic ratings, author info, business responses, and verified flags. Supports all standard filters: language, limit, sort, minRating.

<script setup>
// Instant reviews — no API key
const { reviews, aggregate } = useReviews({ provider: 'mock' })

// With filters
const { reviews: trOnly } = useReviews({ provider: 'mock', language: 'tr', minRating: 4 })
</script>
Switch to a real provider by replacing mock with google, trustpilot, etc. — the composable API is identical.

Google Places

Fetches reviews via the Google Places API (New).

nuxt.config.ts
reviews: {
  providers: {
    google: {
      apiKey: process.env.GOOGLE_API_KEY,
      placeId: 'ChIJ...'
    }
  }
}
OptionTypeDescription
apiKeystringGoogle API key with Places API enabled
placeIdstringGoogle Place ID for your business
Find your Place ID using the Google Place ID Finder.

Trustpilot

Fetches reviews from the Trustpilot Business API.

nuxt.config.ts
reviews: {
  providers: {
    trustpilot: {
      apiKey: process.env.TRUSTPILOT_API_KEY,
      businessUnitId: '46d6a890000064000500e0c3'
    }
  }
}
OptionTypeDescription
apiKeystringTrustpilot API key
businessUnitIdstringYour business unit ID on Trustpilot

SerpAPI

Fetches Google Reviews via SerpAPI — useful when you don't have direct Google Places API access.

nuxt.config.ts
reviews: {
  providers: {
    serpapi: {
      apiKey: process.env.SERPAPI_API_KEY,
      placeId: 'ChIJ...',
      sort: 'newestFirst'
    }
  }
}
OptionTypeDescription
apiKeystringSerpAPI key
placeIdstringGoogle Maps Place ID or data_id
sortstringqualityScore | newestFirst | ratingHigh | ratingLow

Outscraper

Fetches reviews via Outscraper scraping service.

nuxt.config.ts
reviews: {
  providers: {
    outscraper: {
      apiKey: process.env.OUTSCRAPER_API_KEY,
      placeId: 'ChIJ...',
      limit: 100,
      sort: 'newest'
    }
  }
}
OptionTypeDescription
apiKeystringOutscraper API key
placeIdstringGoogle Maps Place ID
limitnumberNumber of reviews to fetch (default: 100)
sortstringnewest | most_relevant | highest_rating | lowest_rating

Booking.com BETA

Fetches guest reviews via the Booking.com Connectivity Guest Review API. Requires a Booking.com Connectivity Partner account.

Beta Provider — This provider is currently in beta. The Booking.com Guest Review API requires Connectivity Partner credentials. If you encounter any issues, please open an issue with details.
nuxt.config.ts
reviews: {
  providers: {
    bookingcom: {
      username: process.env.BOOKINGCOM_USERNAME,
      password: process.env.BOOKINGCOM_PASSWORD,
      propertyId: '1234567890'
    }
  }
}
OptionTypeDescription
usernamestringBooking.com Connectivity API username
passwordstringBooking.com Connectivity API password
propertyIdstringBooking.com property (hotel) ID
Booking.com uses a 1-10 rating scale. Reviews are automatically normalized to the 1-5 scale used by the module. Each review's positive and negative fields are combined into a single review text.

Multiple Providers

Configure multiple providers at once. The module aggregates and normalizes reviews from all:

nuxt.config.ts
reviews: {
  providers: {
    google: {
      apiKey: process.env.GOOGLE_API_KEY,
      placeId: process.env.GOOGLE_PLACE_ID
    },
    trustpilot: {
      apiKey: process.env.TRUSTPILOT_API_KEY,
      businessUnitId: process.env.TRUSTPILOT_BUSINESS_UNIT_ID
    }
  }
}

Fetch all via GET /api/_reviews or per-provider via GET /api/_reviews/google.