Providers
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.
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>
mock with google, trustpilot, etc. — the composable API is identical.Google Places
Fetches reviews via the Google Places API (New).
reviews: {
providers: {
google: {
apiKey: process.env.GOOGLE_API_KEY,
placeId: 'ChIJ...'
}
}
}
| Option | Type | Description |
|---|---|---|
apiKey | string | Google API key with Places API enabled |
placeId | string | Google Place ID for your business |
Trustpilot
Fetches reviews from the Trustpilot Business API.
reviews: {
providers: {
trustpilot: {
apiKey: process.env.TRUSTPILOT_API_KEY,
businessUnitId: '46d6a890000064000500e0c3'
}
}
}
| Option | Type | Description |
|---|---|---|
apiKey | string | Trustpilot API key |
businessUnitId | string | Your business unit ID on Trustpilot |
SerpAPI
Fetches Google Reviews via SerpAPI — useful when you don't have direct Google Places API access.
reviews: {
providers: {
serpapi: {
apiKey: process.env.SERPAPI_API_KEY,
placeId: 'ChIJ...',
sort: 'newestFirst'
}
}
}
| Option | Type | Description |
|---|---|---|
apiKey | string | SerpAPI key |
placeId | string | Google Maps Place ID or data_id |
sort | string | qualityScore | newestFirst | ratingHigh | ratingLow |
Outscraper
Fetches reviews via Outscraper scraping service.
reviews: {
providers: {
outscraper: {
apiKey: process.env.OUTSCRAPER_API_KEY,
placeId: 'ChIJ...',
limit: 100,
sort: 'newest'
}
}
}
| Option | Type | Description |
|---|---|---|
apiKey | string | Outscraper API key |
placeId | string | Google Maps Place ID |
limit | number | Number of reviews to fetch (default: 100) |
sort | string | newest | 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.
reviews: {
providers: {
bookingcom: {
username: process.env.BOOKINGCOM_USERNAME,
password: process.env.BOOKINGCOM_PASSWORD,
propertyId: '1234567890'
}
}
}
| Option | Type | Description |
|---|---|---|
username | string | Booking.com Connectivity API username |
password | string | Booking.com Connectivity API password |
propertyId | string | Booking.com property (hotel) ID |
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:
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.