Skip to main content

Reviews

Reviews are collected from the platforms connected to a Venue (Google, Facebook and Tripadvisor). You can read and reply to the reviews of the Venues whose main RMS is your integration. All requests use your API key as a Bearer token, see API Basics.

Object definition​

KeyTypeStatusDescription
idStringMandatoryUnique identifier for the Review.
platformStringMandatoryPlatform where the review was posted, for example google, facebook or tripadvisor.
titleStringOptionalTitle of the review. May be null.
commentStringOptionalText of the review. May be null.
ratingIntegerMandatoryRating given by the reviewer.
reviewerProfilePhotoStringOptionalURL of the reviewer's profile photo. May be null.
reviewerNameStringOptionalName of the reviewer. May be null.
replyObjectOptionalOwner reply to the review, see Reply object. Null when there is no reply.
createdAtStringMandatoryDate and time of the review (ISO 8601 with offset, e.g. 2026-10-14T09:31:00+00:00).
venue[id]StringMandatoryMozrest ID of the Venue.
venue[externalId]StringMandatoryIdentifier for the Venue in the Partner system.
localeStringOptionalLanguage of the review. May be null.
metaObjectOptionalPlatform specific extra data, may be null.
replyUrlStringOptionalLink to the review on the platform. May be null.

Reply object​

KeyTypeStatusDescription
idStringMandatoryUnique identifier for the Reply.
commentStringMandatoryText of the reply.
replyExternalIdStringOptionalIdentifier of the reply on the platform. May be null.
user[id]StringOptionalIdentifier of the user who wrote the reply. user is null when unknown.
user[fullName]StringOptionalFull name of the user who wrote the reply.
replyLangStringOptionalLanguage of the reply. May be null.
replyOwnerUsernameStringOptionalString. May be null.
replyOwnerRoleStringOptionalString. May be null.
aiGeneratedBooleanOptionalWhether the reply was generated automatically. May be null.
sentToUserBooleanOptionalBoolean. May be null.
createdAtStringMandatoryDate and time of the reply (ISO 8601 with offset).

Error Responses​

These errors apply to all the endpoints on this page. Error bodies have the form {"message": "...", "code": 404}.

StatusWhen
400 Bad RequestA parameter is missing or invalid.
401 UnauthorizedThe API key is missing or not valid.
403 ForbiddenYour credentials are not allowed to perform the action, for example read-only credentials sending a reply.
404 Not FoundVenue not found, You are not allowed to access this venue (the Venue's main RMS is not your integration), or the review does not belong to this Venue.

Get Reviews of a Venue​

This endpoint retrieves the reviews of a Venue, newest first by default.

Endpoint​

GET https://api-sandbox.mozrest.com/v1/rms/reviews/{venueId}

Query Parameters​

ParameterStatusDescription
venueIdMandatoryMozrest ID of the Venue (path parameter). The Partner's Venue ID is not accepted here.
offsetOptionalIndex of the first review to return. Default 0.
limitOptionalNumber of reviews to return, 1 to 50. Default 10. Values above 50 return 50 reviews at most.
sortby[createdAt]OptionalSort by review date, ASC or DESC. Default DESC.
sortby[rating]OptionalSort by rating, ASC or DESC.
filters[from]OptionalReviews created on or after this date (YYYY-MM-DD).
filters[till]OptionalReviews created on or before this date (YYYY-MM-DD).
filters[status]Optionalreplied or not_replied.
filters[rating]Optionalpositive (above 3), negative (below 3), neutral (3), or an exact value from 1 to 5.
filters[channel]OptionalPlatform of the review: google, facebook or tripadvisor.
filters[hasComment]OptionalWhen present, with any value, only reviews with a comment are returned.
filters[reply]Optionaltrue returns only reviews with a reply. Any other value returns only reviews without a reply.

Any other filter is ignored.

Example Request:​

curl GET "https://api-sandbox.mozrest.com/v1/rms/reviews/6543a1b2c3d4e5f6a7b8c9d0?offset=0&limit=10&sortby[createdAt]=DESC&filters[status]=not_replied&filters[channel]=google" \
-H "Authorization: Bearer {{api_key}}"

Example Response:​

{
"total": 1,
"data": [
{
"id": "6543a1b2c3d4e5f6a7b8c9d1",
"platform": "google",
"title": null,
"comment": "Great food and friendly staff.",
"rating": 5,
"reviewerProfilePhoto": "https://images.example.com/profile/jane.png",
"reviewerName": "Jane D.",
"reply": null,
"createdAt": "2026-10-14T09:31:00+00:00",
"venue": {
"id": "6543a1b2c3d4e5f6a7b8c9d0",
"externalId": "venue-123"
},
"locale": "en",
"meta": null,
"replyUrl": "https://reviews.example.com/review/6543a1b2"
}
]
}

Get a Specific Review​

This endpoint retrieves one review of a Venue.

Endpoint​

GET https://api-sandbox.mozrest.com/v1/rms/reviews/{venueId}/{reviewId}

Query Parameters​

ParameterStatusDescription
venueIdMandatoryMozrest ID of the Venue.
reviewIdMandatoryID of the Review.

Returns 404 Not Found if the review does not exist or does not belong to this Venue.

Example Request:​

curl GET "https://api-sandbox.mozrest.com/v1/rms/reviews/6543a1b2c3d4e5f6a7b8c9d0/6543a1b2c3d4e5f6a7b8c9d1" \
-H "Authorization: Bearer {{api_key}}"

Example Response:​

{
"id": "6543a1b2c3d4e5f6a7b8c9d1",
"platform": "google",
"title": null,
"comment": "Great food and friendly staff.",
"rating": 5,
"reviewerProfilePhoto": "https://images.example.com/profile/jane.png",
"reviewerName": "Jane D.",
"reply": {
"id": "6543a1b2c3d4e5f6a7b8c9d2",
"comment": "Thank you Jane, see you soon!",
"replyExternalId": null,
"user": null,
"replyLang": "en",
"replyOwnerUsername": null,
"replyOwnerRole": null,
"aiGenerated": false,
"sentToUser": null,
"createdAt": "2026-10-15T10:02:00+00:00"
},
"createdAt": "2026-10-14T09:31:00+00:00",
"venue": {
"id": "6543a1b2c3d4e5f6a7b8c9d0",
"externalId": "venue-123"
},
"locale": "en",
"meta": null,
"replyUrl": "https://reviews.example.com/review/6543a1b2"
}

Reply to a Review​

This endpoint publishes the owner reply on Google and Facebook. Tripadvisor replies are saved in Mozrest but are not published on Tripadvisor. Posting again replaces the existing reply. Replies cannot be deleted through the API.

Requires write access: read-only credentials receive 403 Forbidden.

Endpoint​

POST https://api-sandbox.mozrest.com/v1/rms/reviews/{venueId}/{reviewId}/reply

Query Parameters​

ParameterStatusDescription
venueIdMandatoryMozrest ID of the Venue.
reviewIdMandatoryID of the Review.

Body Parameters​

ParameterStatusDescription
commentMandatoryText of the reply.

On success the endpoint responds 201 Created with an empty body.

Example Request:​

curl POST "https://api-sandbox.mozrest.com/v1/rms/reviews/6543a1b2c3d4e5f6a7b8c9d0/6543a1b2c3d4e5f6a7b8c9d1/reply" \
-H "Authorization: Bearer {{api_key}}" \
-H "Content-Type: application/json" \
--data-raw '{
"comment": "Thank you Jane, see you soon!"
}'

Example Response:​

201 Created (empty body)

Connect a review platform​

To collect reviews, the restaurant connects each platform (Google, Facebook or Tripadvisor) to its Venue. The flow is the same for all three platforms:

  1. You request a connection link for the Venue and the platform.
  2. You send the restaurant user to that link.
  3. Mozrest Connect guides the restaurant through the connection:
    • Google: sign in with Google and pick the Business Profile location.
    • Facebook: sign in with Facebook and pick the page.
    • Tripadvisor: paste the link to the restaurant's Tripadvisor page.
  4. When the restaurant finishes, Mozrest Connect sends the user back to your returnUrl, or shows a success screen when no returnUrl was sent.

After the connection, reviews are imported automatically and appear in Get Reviews of a Venue. New reviews are notified as described in New review notifications.

Requires write access: read-only credentials receive 403 Forbidden.

Endpoint​

POST https://api-sandbox.mozrest.com/v1/rms/reviews/connect/{venueId}

Query Parameters​

ParameterStatusDescription
venueIdMandatoryMozrest ID of the Venue.

Body Parameters​

ParameterStatusDescription
channelMandatorygoogle, facebook or tripadvisor.
returnUrlOptionalPage the restaurant user is sent back to when the connection is complete. Must be an HTTPS URL.

Send the restaurant user to connectUrl. Request a new link each time a restaurant wants to connect a platform.

If the platform is already connected for the Venue, the response is {"connected": true} and no link is returned.

Error Responses​

StatusWhen
400 Bad RequestreturnUrl must be an https URL, or channel is missing or not supported.
403 ForbiddenRead-only credentials.
404 Not FoundVenue not found or You are not allowed to access this venue.

Example Request:​

curl POST "https://api-sandbox.mozrest.com/v1/rms/reviews/connect/6543a1b2c3d4e5f6a7b8c9d0" \
-H "Authorization: Bearer {{api_key}}" \
-H "Content-Type: application/json" \
--data-raw '{
"channel": "google",
"returnUrl": "https://partner.example.com/reviews/connected"
}'

Example Response:​

{
"connectUrl": "https://connect.mozrest.com?hash=...&venueId=6543a1b2c3d4e5f6a7b8c9d0&platform=google&redirect_url=..."
}

Example Response (platform already connected):​

{
"connected": true
}

Return to your page​

When the restaurant completes the connection and you sent a returnUrl, the browser is redirected to it with these query parameters.

ParameterDescription
venueIdMozrest ID of the Venue.
platformgoogle, facebook or tripadvisor.
statusconnected.

Example: https://partner.example.com/reviews/connected?venueId=6543a1b2c3d4e5f6a7b8c9d0&platform=google&status=connected

Testing​

Google has no sandbox environment, so the Google connection can only be tested in production. Facebook and Tripadvisor connections can be tested in sandbox.

Google notes​

  • Google only returns reviews for verified Business Profiles. An unverified profile can be connected but has no reviews to import.
  • Connecting sets the review notifications of the Google account to Mozrest. This replaces any notification destination another tool had set on that Google account.

Disconnect a platform​

Removes the connection for one platform and the Venue's reviews from that platform from Mozrest. It does not remove the access granted on the platform itself; the restaurant can remove it from its account settings on that platform.

Endpoint​

POST https://api-sandbox.mozrest.com/v1/rms/reviews/disconnect/{venueId}

Query Parameters​

ParameterStatusDescription
venueIdMandatoryMozrest ID of the Venue.

Body Parameters​

ParameterStatusDescription
channelMandatorygoogle, facebook or tripadvisor.

On success the endpoint responds 200 OK with an empty body.

Example Request:​

curl POST "https://api-sandbox.mozrest.com/v1/rms/reviews/disconnect/6543a1b2c3d4e5f6a7b8c9d0" \
-H "Authorization: Bearer {{api_key}}" \
-H "Content-Type: application/json" \
--data-raw '{
"channel": "google"
}'

New review notifications​

Mozrest sends a notification to the endpoint configured for your integration by Mozrest (contact Mozrest integrations), using the method and authentication configured (Bearer token, Basic, or custom headers).

ActionSent whenEndpoint
createA new review is received.Endpoint configured for new reviews.
reply_createMozrest detects an owner reply on the platform.Same endpoint as create.
updateA review already in Mozrest changes.Endpoint configured for review updates.

The data object has the same keys as the review object except reply and replyUrl. reply_create notifications also include reply with only id and comment. In notifications, createdAt is sent as an object, not as a string.

{
"entity": "review",
"entityId": "6543a1b2c3d4e5f6a7b8c9d1",
"action": "create",
"data": {
"id": "6543a1b2c3d4e5f6a7b8c9d1",
"platform": "google",
"title": null,
"comment": "Great food and friendly staff.",
"rating": 5,
"reviewerProfilePhoto": "https://images.example.com/profile/jane.png",
"reviewerName": "Jane D.",
"createdAt": {
"date": "2026-10-14 09:31:00.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"venue": {
"id": "6543a1b2c3d4e5f6a7b8c9d0",
"externalId": "venue-123"
},
"meta": null,
"locale": "en"
}
}

Each notification is sent once, with no automatic retry. Use Get Reviews of a Venue to reconcile. The same reply can be notified more than once.

For Google, reviews and replies that already existed when the Venue was connected (the imported history) do not trigger notifications. Only reviews and replies posted after the connection do. A review posted on Google before the connection was completed is treated as history.


Limits​

Mozrest does not currently apply a per-partner rate limit to these endpoints. Replies and Google data calls are subject to Google Business Profile API quotas on Mozrest's Google Cloud project, which is shared across all Mozrest customers (by default 300 requests per minute per API, and Google allows at most 10 edits per minute per Business Profile). Source: Google Business Profile API limits. Please pace requests.