GET
# VRBO Listing Reviews API

Extract comprehensive guest reviews from VRBO listings using the internal property ID returned by the extract-id endpoint or VRBO search.

## Overview

#### Real-time Review Data

Get complete review content, ratings, sentiments, and host responses with real-time data updates.

The VRBO Listing Reviews endpoint provides access to detailed review data including guest feedback, ratings, sentiment tags, and host responses. Perfect for analyzing guest feedback and property reputation.

### Endpoint URL

GET https://api.stayapi.com/v1/vrbo/listing/reviews/{property\_id} 

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| property\_id | string | Required | Internal VRBO property ID returned as property\_id by /v1/vrbo/listing/extract-id or VRBO search (path parameter). The public listing ID in a VRBO URL may be different. |
| page | integer | Optional | Page number (1-indexed, default: 1) |
| page\_size | integer | Optional | Reviews per page (1-20, default: 10) |
| sort\_by | string | Optional | Sort order: recommended, newest, highest, lowest (default: recommended) |

## Response Structure

### Review Information

- `id` - Unique review identifier
- `rating` - Overall rating (1-10 scale)
- `rating_text` - Rating description (Excellent, Good, etc.)
- `title` - Review title (if available)
- `text` - Full review text

### Reviewer Details

- `reviewer_name` - Guest display name
- `verified` - Verified stay indicator (always true)

### Additional Data

- `sentiments` - Array of sentiment tags (e.g., "Great location", "Clean")
- `host_response` - Host reply text (if available)
- `has_more` - Boolean indicating more pages available
- `total_reviews` - Total count of reviews returned

## Finding the Property ID

#### Need the Property ID?

Pass the listing URL to /v1/vrbo/listing/extract-id, then use the returned property\_id with this reviews endpoint. Direct reviews requests require that resolved internal ID; do not pass the public listing ID from the URL.

For example, resolve this public listing URL with the [Extract Property ID endpoint](/docs/endpoints/vrbo/extract-id):

`
            https://www.vrbo.com/1319401
          `

The resolver returns `property_id: "33486931"`. Use that value in `/v1/vrbo/listing/reviews/33486931`. A public listing ID can match an unrelated internal property ID, so resolve the listing URL before fetching reviews.

If you use [VRBO Search](/docs/endpoints/vrbo/search), pass its `property_id` directly to this endpoint. Its `listing_id` is for the public listing URL.

Request

```curl
curl -X GET "https://api.stayapi.com/v1/vrbo/listing/reviews/33486931?page=1&page_size=10" \
  -H "x-api-key: YOUR_API_KEY"
```

Response

```json
{
  "property_id": "33486931",
  "total_reviews": 15,
  "page": 1,
  "page_size": 10,
  "has_more": true,
  "sort_by": "newest",
  "reviews": [
    {
      "id": "review_123456",
      "rating": 10,
      "rating_text": "Excellent",
      "title": "Perfect beach getaway!",
      "text": "This property exceeded all our expectations. The views were absolutely stunning and the host was incredibly helpful throughout our stay. Everything was spotlessly clean.",
      "reviewer_name": "Sarah J.",
      "verified": true,
      "sentiments": ["Great location", "Clean", "Responsive host"],
      "host_response": "Thank you so much for your wonderful review! We're thrilled you enjoyed your stay."
    },
    {
      "id": "review_123457",
      "rating": 8,
      "rating_text": "Good",
      "title": null,
      "text": "Great location and comfortable apartment. Check-in was smooth and the host provided lots of local recommendations.",
      "reviewer_name": "Michael C.",
      "verified": true,
      "sentiments": ["Great location"],
      "host_response": null
    }
  ]
}
```

```json
{
  "error": "Property not found",
  "detail": "No property found with ID: 999999999",
  "status_code": 404
}
```
