Skip to content

Service Reviews API

  • Reply to a review

    This method will post a reply to a review.

    HTTP method: POST

    Authentication: Business user OAuth Token

    URL: https://api.trustpilot.com/v1/private/reviews/{reviewId}/reply

    Parameters

    • reviewId, Required string

      The id of the review.

      Example: .../v1/private/reviews/507f191e810c19729de860ea/reply


    curl -X POST "https://api.trustpilot.com/v1/private/reviews/{reviewId}/reply" \
    -H "Content-Type: application/json" \
    -d '{
    "authorBusinessUserId": "507f191e810c19729de860ea",
    "message": "Reply message",
    "submittedAt": "2024-07-15T12:00:00"
    }' \
    -H "Authorization: Bearer YOUR-ACCESS-TOKEN"

    Request Body

    {
    "authorBusinessUserId": "507f191e810c19729de860ea",
    "message": "Reply message",
    "submittedAt": "2024-07-15T12:00:00"
    }
  • Delete a reply to a review

    This method will delete a reply to a review.

    HTTP method: DELETE

    Authentication: Business user OAuth Token

    URL: https://api.trustpilot.com/v1/private/reviews/{reviewId}/reply

    Parameters

    • reviewId, Required string

      The id of the review.

      Example: .../v1/private/reviews/507f191e810c19729de860ea/reply


    curl -X DELETE "https://api.trustpilot.com/v1/private/reviews/{reviewId}/reply" \
    -H "Authorization: Bearer YOUR-ACCESS-TOKEN"
  • Add tags to a review

    This method will add tags to a service review. To see your tags in Trustpilot Business, use "group": "generic" when making your requests.

    HTTP method: PUT

    Authentication: Business user OAuth Token

    URL: https://api.trustpilot.com/v1/private/reviews/{reviewId}/tags

    Parameters

    • reviewId, Required string

      The id of the review.

      Example: .../v1/private/reviews/507f191e810c19729de860ea/tags


    curl -X PUT "https://api.trustpilot.com/v1/private/reviews/{reviewId}/tags" \
    -H "Content-Type: application/json" \
    -d '{
    "tags": [
    {
    "group": "ProductGroup",
    "value": "Computers"
    }
    ]
    }' \
    -H "Authorization: Bearer YOUR-ACCESS-TOKEN"

    Request Body

    {
    "tags": [
    {
    "group": "ProductGroup",
    "value": "Computers"
    }
    ]
    }
  • Remove a tag from a review

    This method will remove a tag from a service review.

    HTTP method: DELETE

    Authentication: Business user OAuth Token

    URL: https://api.trustpilot.com/v1/private/reviews/{reviewId}/tags

    Parameters

    • group, Required string

      Example: ?group=ProductGroup


    • value, Required string

      Example: ?value=Computers


    • reviewId, Required string

      The id of the review.

      Example: .../v1/private/reviews/507f191e810c19729de860ea/tags


    curl -X DELETE "https://api.trustpilot.com/v1/private/reviews/{reviewId}/tags" \
    --data-urlencode "group=ProductGroup" \
    --data-urlencode "value=Computers" \
    -H "Authorization: Bearer YOUR-ACCESS-TOKEN"
  • Set tags on review

    This method will set the tags of a service review. To see your tags in Trustpilot Business, use "group": "generic" when making your requests.

    HTTP method: POST

    Authentication: Business user OAuth Token

    URL: https://api.trustpilot.com/v1/private/reviews/{reviewId}/tags

    Parameters

    • reviewId, Required string

      The id of the review.

      Example: .../v1/private/reviews/507f191e810c19729de860ea/tags


    curl -X POST "https://api.trustpilot.com/v1/private/reviews/{reviewId}/tags" \
    -H "Content-Type: application/json" \
    -d '{
    "tags": [
    {
    "group": "ProductGroup",
    "value": "Computers"
    }
    ]
    }' \
    -H "Authorization: Bearer YOUR-ACCESS-TOKEN"

    Request Body

    {
    "tags": [
    {
    "group": "ProductGroup",
    "value": "Computers"
    }
    ]
    }
  • Get list of tags for a review

    This method will get all tags of a given service review

    HTTP method: GET

    Authentication: Business user OAuth Token

    URL: https://api.trustpilot.com/v1/private/reviews/{reviewId}/tags

    Parameters

    • reviewId, Required string

      The id of the review.

      Example: .../v1/private/reviews/507f191e810c19729de860ea/tags


    curl -X GET "https://api.trustpilot.com/v1/private/reviews/{reviewId}/tags" \
    -H "Authorization: Bearer YOUR-ACCESS-TOKEN"

    Response

    {
    "tags": [
    {
    "group": "ProductGroup",
    "value": "Computers"
    }
    ]
    }
  • Create Find Reviewer request for a review

    Creates a Find Reviewer request for a review

    HTTP method: POST

    Authentication: Business user OAuth Token

    URL: https://api.trustpilot.com/v1/private/reviews/{reviewId}/find-reviewer

    Parameters

    • reviewId, Required string

      The ID of the review for which to request information

      Example: .../v1/private/reviews/{reviewId}/find-reviewer


    curl -X POST "https://api.trustpilot.com/v1/private/reviews/{reviewId}/find-reviewer" \
    -H "Content-Type: application/json" \
    -d '{
    "message": "example",
    "skipNotificationEmailToBusinessUser": true
    }' \
    -H "Authorization: Bearer YOUR-ACCESS-TOKEN"

    Request Body

    {
    "message": null,
    "skipNotificationEmailToBusinessUser": null
    }

    Response

    {
    "version": null,
    "content": {
    "headers": [
    {
    "key": null,
    "value": [
    null
    ]
    }
    ]
    },
    "statusCode": null,
    "reasonPhrase": null,
    "headers": [
    {
    "key": null,
    "value": [
    null
    ]
    }
    ],
    "trailingHeaders": [
    {
    "key": null,
    "value": [
    null
    ]
    }
    ],
    "requestMessage": {
    "version": null,
    "versionPolicy": null,
    "content": {
    "headers": [
    {
    "key": null,
    "value": [
    null
    ]
    }
    ]
    },
    "method": {
    "method": null
    },
    "requestUri": null,
    "headers": [
    {
    "key": null,
    "value": [
    null
    ]
    }
    ],
    "properties": {},
    "options": {}
    },
    "isSuccessStatusCode": false
    }
  • Get latest reviews by language

    This method gets the latest reviews written in a specfic language.

    HTTP method: GET

    Authentication: API Key

    URL: https://api.trustpilot.com/v1/reviews/latest

    Parameters

    • count, Required integer

      The number of reviews to retrieve.

      Example: ?count=3


    • filterUsersWithoutImages, Optional boolean

      Used to filter reviews with users that they do not have an image.

      Example: ?filterUsersWithoutImages=true


    • language, Required array

      Filter by specific languages.

      Example: ?language=en


    • locale, Optional string

      Used to create links using this locale.

      Example: ?locale=en-GB


    curl -X GET "https://api.trustpilot.com/v1/reviews/latest" \
    -G \
    --data-urlencode "count=3" \
    -G \
    --data-urlencode "language=en" \
    -H "apikey: YOUR-API-KEY-HERE"

    Response

    {
    "reviews": [
    {
    "language": "da",
    "links": [
    {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    }
    ],
    "title": "My review",
    "businessUnit": {
    "displayName": "Trustpilot",
    "id": "507f191e810c19729de860ea",
    "links": [
    {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    }
    ],
    "name": {
    "referring": [
    "trustpilot.com",
    "www.trustpilot.com"
    ],
    "identifying": "trustpilot.com"
    }
    },
    "location": {
    "id": "43f51215-a1fc-4c60-b6dd-e4afb6d7b831",
    "name": "Pilestraede 58",
    "urlFormattedName": "Pilestraede58"
    },
    "text": "This shop is great.",
    "companyReply": {
    "text": "This is our reply.",
    "createdAt": "2013-09-07T13:37:00",
    "updatedAt": "2013-09-07T13:37:00",
    "authorBusinessUserId": "507f191e810c19729de860ea",
    "authorBusinessUserName": "John Doe"
    },
    "isVerified": true,
    "source": null,
    "stars": 5,
    "updatedAt": "2013-09-07T13:37:00",
    "consumer": {
    "profileUrl": "http://www.trustpilot.com/users/55cc4f3b0000fe0002c4f125",
    "profileImage": {
    "image35x35": {
    "url": "<Url for the image>",
    "width": "<Image width>",
    "height": "<Image height>"
    },
    "image64x64": {
    "url": "<Url for the image>",
    "width": "<Image width>",
    "height": "<Image height>"
    },
    "image73x73": {
    "url": "<Url for the image>",
    "width": "<Image width>",
    "height": "<Image height>"
    },
    "image24x24": {
    "url": "<Url for the image>",
    "width": "<Image width>",
    "height": "<Image height>"
    }
    },
    "displayName": "John Doe",
    "id": "507f191e810c19729de860ea",
    "links": [
    {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    }
    ]
    },
    "id": "507f191e810c19729de860ea",
    "createdAt": "2013-09-07T13:37:00",
    "invitation": {
    "businessUnitId": "507f191e810c19729de860ea"
    },
    "businessUnitHistory": [
    {
    "businessUnitId": "507f191e810c19729de860ea",
    "identifyingName": "example.com",
    "displayName": "Example Inc.",
    "changeDate": "2013-09-07T13:37:00"
    }
    ],
    "reviewVerificationLevel": "invited"
    }
    ]
    }
  • This method gets links to a review's public page on Trustpilot.

    HTTP method: GET

    Authentication: API Key

    URL: https://api.trustpilot.com/v1/reviews/{reviewId}/web-links

    Parameters

    • reviewId, Required string

      The id of the review.

      Example: .../v1/reviews/507f191e810c19729de860ea/web-links


    • locale, Required string

      The locale of the links.

      Example: ?locale=en-GB


    curl -X GET "https://api.trustpilot.com/v1/reviews/{reviewId}/web-links" \
    -G \
    --data-urlencode "locale=en-GB" \
    -H "apikey: YOUR-API-KEY-HERE"

    Response

    {
    "links": {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    },
    "locale": null,
    "reviewUrl": null
    }
  • Get a review's likes

    This method gets the list of consumers who have liked the review

    HTTP method: GET

    Authentication: API Key

    URL: https://api.trustpilot.com/v1/reviews/{reviewId}/likes

    Parameters

    • reviewId, Required string

      The id of the review.

      Example: .../v1/reviews/507f191e810c19729de860ea/likes


    curl -X GET "https://api.trustpilot.com/v1/reviews/{reviewId}/likes" \
    -H "apikey: YOUR-API-KEY-HERE"

    Response

    {
    "likes": [
    {
    "consumer": {
    "id": null,
    "displayName": null
    }
    }
    ]
    }
  • Get a review

    This method gets the reviews's public information(stars, text, consumer, etc.).

    HTTP method: GET

    Authentication: API Key

    URL: https://api.trustpilot.com/v1/reviews/{reviewId}

    Parameters

    • reviewId, Required string

      The id of the review.

      Example: .../v1/reviews/507f191e810c19729de860ea


    curl -X GET "https://api.trustpilot.com/v1/reviews/{reviewId}" \
    -H "apikey: YOUR-API-KEY-HERE"

    Response

    {
    "id": "507f191e810c19729de860ea",
    "stars": 5,
    "title": "My review",
    "text": "This shop is great",
    "language": "da",
    "createdAt": "2013-09-07T13:37:00",
    "updatedAt": "2013-09-07T13:37:00",
    "numberOfLikes": 10,
    "isVerified": true,
    "source": null,
    "companyReply": {
    "text": "This is our reply.",
    "createdAt": "2013-09-07T13:37:00",
    "updatedAt": "2013-09-07T13:37:00",
    "authorBusinessUserId": "507f191e810c19729de860ea",
    "authorBusinessUserName": "John Doe"
    },
    "consumer": {
    "displayLocation": "Frederiksberg, DK",
    "numberOfReviews": 1,
    "displayName": "John Doe",
    "id": "507f191e810c19729de860ea",
    "links": [
    {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    }
    ]
    },
    "location": {
    "id": "43f51215-a1fc-4c60-b6dd-e4afb6d7b831",
    "name": "Pilestraede 58",
    "urlFormattedName": "Pilestraede58"
    },
    "businessUnit": {
    "identifyingName": "trustpilot.com",
    "displayName": "Trustpilot",
    "id": "507f191e810c19729de860ea",
    "links": [
    {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    }
    ]
    },
    "links": [
    {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    }
    ],
    "complianceLabels": [
    null
    ],
    "invitation": {
    "businessUnitId": "507f191e810c19729de860ea"
    },
    "businessUnitHistory": [
    null
    ],
    "reviewVerificationLevel": "invited"
    }
  • Get private review

    This method gets the reviews's basic public information but also some private information (referenceEmail and referenceId) and status as either "active" or "reported".

    HTTP method: GET

    Authentication: Business user OAuth Token

    URL: https://api.trustpilot.com/v1/private/reviews/{reviewId}

    Parameters

    • reviewId, Required string

      The id of the review.

      Example: .../v1/private/reviews/507f191e810c19729de860ea


    curl -X GET "https://api.trustpilot.com/v1/private/reviews/{reviewId}" \
    -H "Authorization: Bearer YOUR-ACCESS-TOKEN"

    Response

    {
    "status": "active",
    "reportData": {
    "source": "Trustpilot",
    "publicComment": "This review contains sensitive information.",
    "createdAt": "2013-09-07T13:37:00",
    "reasons": [
    "sensitiveInformation",
    "consumerIsCompetitor"
    ],
    "reason": "consumer_is_competitor",
    "reviewVisibility": "hidden"
    },
    "findReviewer": {
    "isEligible": true,
    "requests": [
    {
    "id": "8e3a531e-f8e8-4d63-8d4c-187dc1408ed9",
    "created": "2013-09-07T13:37:00",
    "status": "Pending",
    "businessUserMessage": "Hi! We're having trouble finding you in our records, can you provide us with a reference number? Thanks!",
    "consumerResponse": {
    "submittedAt": "2013-09-07T13:37:00",
    "name": "John Doe",
    "email": "john.doe@gmail.com",
    "address": "123 Fake St.",
    "phoneNumber": "555-1234",
    "referenceId": "GZ12345",
    "message": "Hi, I've provided my reference number."
    }
    }
    ]
    },
    "referenceId": "12345",
    "referralEmail": "my@email.com",
    "language": "da",
    "links": [
    {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    }
    ],
    "title": "My review",
    "businessUnit": {
    "identifyingName": "trustpilot.com",
    "displayName": "Trustpilot",
    "id": "507f191e810c19729de860ea",
    "links": [
    {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    }
    ]
    },
    "location": {
    "id": "43f51215-a1fc-4c60-b6dd-e4afb6d7b831",
    "name": "Pilestraede 58",
    "urlFormattedName": "Pilestraede58",
    "externalId": "Location#123"
    },
    "text": "This shop is great.",
    "companyReply": {
    "text": "This is our reply.",
    "createdAt": "2013-09-07T13:37:00",
    "updatedAt": "2013-09-07T13:37:00",
    "authorBusinessUserId": "507f191e810c19729de860ea",
    "authorBusinessUserName": "John Doe"
    },
    "source": "Organic",
    "tags": [
    {
    "group": "Generic",
    "value": "Tag value"
    }
    ],
    "isVerified": true,
    "stars": 5,
    "updatedAt": "2013-09-07T13:37:00",
    "experiencedAt": "2013-09-07T13:37:00",
    "numberOfLikes": 10,
    "consumer": {
    "displayLocation": "Frederiksberg, DK",
    "numberOfReviews": 1,
    "displayName": "John Doe",
    "id": "507f191e810c19729de860ea",
    "links": [
    {
    "href": "<Url for the resource>",
    "method": "<Http method for the resource>",
    "rel": "<Description of the relation>"
    }
    ]
    },
    "id": "507f191e810c19729de860ea",
    "createdAt": "2013-09-07T13:37:00",
    "complianceLabels": [
    null
    ],
    "countsTowardsTrustScore": false,
    "countsTowardsLocationTrustScore": false,
    "invitation": {
    "businessUnitId": "507f191e810c19729de860ea"
    },
    "businessUnitHistory": [
    null
    ],
    "reviewVerificationLevel": "invited"
    }