# List reviews

**Publié le** : 2026-05-12
**Catégorie** : Forms & Reviews

## `GET /reviews`

**List reviews**

List approved reviews for the site, ordered by `created_at` desc by
default. Supports filtering by rating, rating range, featured
status, product name, slug, locale, and date ranges. Field
visibility (author photo, company, position, city) follows the
site's review settings.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `page` | query | number | No | Number |
| `limit` | query | number | No | Number <= 100 |
| `status` | query | "pending" \| "approved" \| "rejected" | No | One of: pending, approved, rejected |
| `rating` | query | number | No | Between 1 and 5 |
| `ratingMin` | query | number | No | Between 1 and 5 |
| `ratingMax` | query | number | No | Between 1 and 5 |
| `isFeatured` | query | boolean | No | Boolean |
| `productName` | query | string | No | Associated product name |
| `source` | query | "admin" \| "csv_import" \| "public_form" | No | One of: admin, csv_import, public_form |
| `search` | query | string | No | Full-text search query |
| `sortBy` | query | "created_at" \| "rating" \| "author_name" \| "display_order" \| "review_date" | No | One of: created_at, rating, author_name, display_order, review_date |
| `sortOrder` | query | "asc" \| "desc" | No | One of: asc, desc |
| `dateFrom` | query | string | No | Filter from date (ISO 8601) |
| `dateTo` | query | string | No | Filter until date (ISO 8601) |
| `reviewDateFrom` | query | string | No | Filter by review date from (ISO 8601) |
| `reviewDateTo` | query | string | No | Filter by review date until (ISO 8601) |
| `slug` | query | string | No | URL-friendly identifier, unique per site and locale |
| `slugs` | query | string[] | No | Array of strings |
| `ids` | query | string[] | No | Array of strings |
| `excludeIds` | query | string[] | No | Array of strings |
| `groupByTranslation` | query | boolean | No | Boolean |
| `locale` | query | string | No | BCP 47 locale code (e.g. "en", "fr") |
| `translationGroupId` | query | string | No | Translation group UUID (links translations across locales) |


### Responses

| Status | Description |
| --- | --- |
| `200` | Successful response |


> **Notes:** Cache: `Cache-Control: public, max-age=60`. Rate-limit bucket:
> general. The `meta.averageRating` is computed across all approved
> reviews (not just the current page).

### Examples

```curl
curl "https://api.lynkow.com/public/{siteId}/reviews?page=1&limit=10&ratingMin=4"
```

```javascript
const res = await fetch(`https://api.lynkow.com/public/${siteId}/reviews?page=1&limit=10&ratingMin=4`)
const { data, meta } = await res.json()
```

### Response Example

```json
"{\n  \"data\": [\n    {\n      \"id\": \"01J9R5Z3KE7Q1XB4T6F8H2D9P0\",\n      \"authorName\": \"Anna Cooper\",\n      \"rating\": 5,\n      \"title\": \"Outstanding support.\",\n      \"content\": \"The team replied within an hour and the fix shipped the next day.\",\n      \"productName\": \"Pro plan\",\n      \"isFeatured\": true,\n      \"reviewDate\": \"2026-04-22T00:00:00.000Z\",\n      \"createdAt\": \"2026-04-22T11:14:30.000Z\",\n      \"authorCity\": \"Lyon\"\n    }\n  ],\n  \"meta\": {\n    \"total\": 84,\n    \"page\": 1,\n    \"totalPages\": 9,\n    \"perPage\": 10,\n    \"averageRating\": \"4.72\",\n    \"totalApproved\": 84\n  }\n}\n"
```

---