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

Use the Reply to Review endpoint to post responses directly back to the originating platform.

List reviews

GET/v1/reviews
curl "https://api.repull.dev/v1/reviews?property_id=123&limit=10" \
  -H "Authorization: Bearer sk_test_YOUR_KEY"

Query parameters

limitintegerDefault: 50

Maximum number of reviews to return.

offsetintegerDefault: 0

Number of results to skip for pagination.

property_idstring

Filter reviews for a specific property.

min_ratingnumber

Only 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

idstring

Unique review identifier.

propertyIdstring

ID of the reviewed property.

guestNamestring

Name of the guest who left the review.

ratingnumber

Overall rating (1.0 to 5.0).

textstring

Full review text written by the guest.

responsestringnullable

Host response to the review.

platformstring

Platform where the review was posted: AIRBNB, BOOKING_COM, VRBO, GOOGLE, DIRECT.

categoryRatingsarray

Breakdown of ratings by category (availability varies by platform).

createdAtstring

ISO 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.

AI