List Reviews
Fetch guest reviews from every connected platform in one call. Filter by property, rating, or platform to monitor reputation across your portfolio.
When to use this endpoint
- Aggregate reviews from Airbnb, Booking.com, VRBO, and Google into a single dashboard
- Monitor average ratings and detect drops before they affect bookings
- Feed reviews into your AI for automated response drafting
- Display social proof on your direct booking website
Respond to reviews
List reviews
/v1/reviewscurl "https://api.repull.dev/v1/reviews?property_id=123&limit=10" \ -H "Authorization: Bearer sk_test_YOUR_KEY"
Query parameters
limitintegerDefault: 50Maximum number of reviews to return.
offsetintegerDefault: 0Number of results to skip for pagination.
property_idstringFilter reviews for a specific property.
min_ratingnumberOnly return reviews with a rating at or above this value (1.0 to 5.0).
Response format
Returns a paginated array of review objects.
{
"data": [
{
"id": "200",
"propertyId": "123",
"guestName": "Sarah Mitchell",
"rating": 4.5,
"text": "Amazing stay! The views were breathtaking and the house was spotless. The host was incredibly responsive and helpful with restaurant recommendations.",
"response": "Thank you for your kind words, Sarah! We loved hosting you and hope to see you again soon.",
"platform": "AIRBNB",
"categoryRatings": [
{ "category": "cleanliness", "rating": 5.0 },
{ "category": "communication", "rating": 5.0 },
{ "category": "location", "rating": 4.0 },
{ "category": "value", "rating": 4.0 }
],
"createdAt": "2026-05-20T08:00:00Z"
},
{
"id": "201",
"propertyId": "123",
"guestName": "Marco Rossi",
"rating": 5.0,
"text": "Perfect in every way. The private pool was a highlight and check-in was seamless.",
"response": null,
"platform": "BOOKING_COM",
"categoryRatings": [
{ "category": "cleanliness", "rating": 5.0 },
{ "category": "facilities", "rating": 5.0 },
{ "category": "location", "rating": 5.0 },
{ "category": "value", "rating": 5.0 }
],
"createdAt": "2026-05-18T12:30:00Z"
}
],
"pagination": {
"total": 34,
"limit": 50,
"offset": 0,
"hasMore": false
}
}Response fields
idstringUnique review identifier.
propertyIdstringID of the reviewed property.
guestNamestringName of the guest who left the review.
ratingnumberOverall rating (1.0 to 5.0).
textstringFull review text written by the guest.
responsestringnullableHost response to the review.
platformstringPlatform where the review was posted: AIRBNB, BOOKING_COM, VRBO, GOOGLE, DIRECT.
categoryRatingsarrayBreakdown of ratings by category (availability varies by platform).
createdAtstringISO 8601 timestamp when the review was posted.
Filtering examples
Reviews needing a response
// Fetch all reviews, then filter for those without a host response
const { data } = await repull.reviews.list({ propertyId: '123' });
const needsReply = data.filter(r => !r.response);
console.log(`${needsReply.length} reviews need a response`);Low ratings only
curl "https://api.repull.dev/v1/reviews?property_id=123&min_rating=1&limit=50" \ -H "Authorization: Bearer sk_test_YOUR_KEY" # Then filter client-side for ratings below your threshold # (min_rating returns reviews AT or ABOVE the value)
API Reference
See the complete Reviews API Reference for all endpoints including reply to review.