Revinate Hotel Sets API

The Hotel Sets API from Revinate — 4 operation(s) for hotel sets.

Operations 4

GET /hotelsets Get Hotel Sets #
GET /hotelsets/{hotelSetId} Get a Hotel Set #
GET /hotelsets/{hotelSetId}/hotels Get Hotels belonging to a Hotel Set #
GET /hotelsets/{hotelSetId}/reviews Get reviews for all hotels in a hotel set #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/revinate-hotel-sets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

revinate-hotel-sets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Revinate Porter Hotel Sets API
  version: '1.0'
  description: 'Revinate''s structured review data API. Provides access to hotel reviews across 100+ review sites, with key metrics (review counts, average ratings), sentiment analysis, competitor review streams and survey email statistics.


    Two review streams exist and they are not interchangeable: the Review Stream (/reviews, /hotels/{hotelId}/reviews) is for offline analysis and its content may NOT be used for display, while the Widget Review Stream (/widgetreviews) is licensed for display/republishing but excludes TripAdvisor and Yelp content under content-licensing agreements with those partners.


    CONVERSION NOTE: Revinate publishes this contract as Swagger 1.2 at https://porter.revinate.com/api-docs. This OpenAPI 3.1.0 document is a faithful mechanical conversion of the six published Swagger 1.2 resource declarations by API Evangelist; the verbatim originals are preserved in openapi/_original/. Operation IDs were made unique (the published nickname "get" is reused across all six resources).'
  contact:
    name: Revinate Support
    email: support@revinate.com
    url: https://www.revinate.com/support/
  license:
    name: Revinate API License
    url: https://www.revinate.com/website-terms-of-use/
servers:
- url: https://porter.revinate.com
  description: Revinate Porter API production base URL
security:
- porterUsername: []
  porterTimestamp: []
  porterKey: []
  porterEncoded: []
tags:
- name: Hotel Sets
paths:
  /hotelsets:
    get:
      tags:
      - Hotel Sets
      summary: Get Hotel Sets
      description: Returns a collection of hotel sets. Hotel sets are only available for corporate or group customers. A hotel set is a subset of the properties belonging to the group and configurable in the Revinate Reputation application. Pagination is supported by this resource.
      operationId: listHotelSets
      parameters:
      - name: page
        in: query
        required: false
        description: page number
        schema:
          type: integer
          description: page number
      - name: size
        in: query
        required: false
        description: number of elements to show per page
        schema:
          type: integer
          description: number of elements to show per page
      - name: sort
        in: query
        required: false
        description: sort field and direction (eg. ?sort=name,ASC)
        schema:
          type: string
          description: sort field and direction (eg. ?sort=name,ASC)
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - porterUsername: []
        porterTimestamp: []
        porterKey: []
        porterEncoded: []
  /hotelsets/{hotelSetId}:
    get:
      tags:
      - Hotel Sets
      summary: Get a Hotel Set
      description: Returns a specific hotel set
      operationId: getHotelSet
      parameters:
      - name: hotelSetId
        in: path
        required: true
        description: hotelSetId
        schema:
          type: integer
          format: int64
          description: hotelSetId
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - porterUsername: []
        porterTimestamp: []
        porterKey: []
        porterEncoded: []
  /hotelsets/{hotelSetId}/hotels:
    get:
      tags:
      - Hotel Sets
      summary: Get Hotels belonging to a Hotel Set
      description: Returns the list of member hotels for a given hotel set. Pagination is available on this resource.
      operationId: getHotelsForHotelSet
      parameters:
      - name: hotelSetId
        in: path
        required: true
        description: hotelSetId
        schema:
          type: integer
          format: int64
          description: hotelSetId
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - porterUsername: []
        porterTimestamp: []
        porterKey: []
        porterEncoded: []
  /hotelsets/{hotelSetId}/reviews:
    get:
      tags:
      - Hotel Sets
      summary: Get reviews for all hotels in a hotel set
      description: Retrieve the latest reviews associated with the hotel set resource identified by hotelSetId. This endpoint supports pagination and sorting if your API key is configured for it. If not configured, the response will be an error if exceeding the review limit. In addition, this endpoint supports additional query parameter filters (ratings, feedback, and languageSlug)
      operationId: getReviewsForHotelSet
      parameters:
      - name: hotelSetId
        in: path
        required: true
        description: identifier of Hotel set
        schema:
          type: integer
          format: int64
          description: identifier of Hotel set
      - name: ratings
        in: query
        required: false
        description: list of ratings (1-5) to filter the results by (eg. rating=4,5)
        schema:
          type: array
          items:
            type: integer
            format: int32
          description: list of ratings (1-5) to filter the results by (eg. rating=4,5)
      - name: feedback
        in: query
        required: false
        description: type of feedback to filter results by. Valid values are [positive, neutral, negative]
        schema:
          type: string
          description: type of feedback to filter results by. Valid values are [positive, neutral, negative]
      - name: response
        in: query
        required: false
        description: response status to filter results by. Valid values are [none, posted]
        schema:
          type: string
          description: response status to filter results by. Valid values are [none, posted]
      - name: languageSlug
        in: query
        required: false
        description: slug of the language to filter results by. Valid values are from the '/languages' endpoint
        schema:
          type: string
          description: slug of the language to filter results by. Valid values are from the '/languages' endpoint
      - name: reviewSiteSlug
        in: query
        required: false
        description: slug of the review site to filter results by. Valid values are from the '/reviewsites' endpoint
        schema:
          type: string
          description: slug of the review site to filter results by. Valid values are from the '/reviewsites' endpoint
      - name: dateCollected
        in: query
        required: false
        description: Filter reviews using dateCollected field with an epoch seconds date range of format {start}..{end} (eg. 1389402398..1420938399). This query parameter is only available for Revinate customers
        schema:
          type: string
          description: Filter reviews using dateCollected field with an epoch seconds date range of format {start}..{end} (eg. 1389402398..1420938399). This query parameter is only available for Revinate customers
      - name: updatedAt
        in: query
        required: false
        description: Filter reviews using updatedAt field with an epoch seconds date range of format {start}..{end} (eg. 1389402398..1420938399). This query parameter is only available for Revinate customers
        schema:
          type: string
          description: Filter reviews using updatedAt field with an epoch seconds date range of format {start}..{end} (eg. 1389402398..1420938399). This query parameter is only available for Revinate customers
      - name: page
        in: query
        required: false
        description: page number
        schema:
          type: integer
          description: page number
      - name: size
        in: query
        required: false
        description: number of elements to show per page
        schema:
          type: integer
          description: number of elements to show per page
      - name: sort
        in: query
        required: false
        description: sort field and direction (eg. ?sort=rating,desc)
        schema:
          type: string
          description: sort field and direction (eg. ?sort=rating,desc)
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - porterUsername: []
        porterTimestamp: []
        porterKey: []
        porterEncoded: []
components:
  securitySchemes:
    porterUsername:
      type: apiKey
      in: header
      name: X-Revinate-Porter-Username
      description: Username with access to the requested resources and to the API key used.
    porterTimestamp:
      type: apiKey
      in: header
      name: X-Revinate-Porter-Timestamp
      description: Epoch-seconds timestamp; must be within 5 minutes (before or after) of the request.
    porterKey:
      type: apiKey
      in: header
      name: X-Revinate-Porter-Key
      description: API key issued by Revinate (contact your sales rep or account manager).
    porterEncoded:
      type: apiKey
      in: header
      name: X-Revinate-Porter-Encoded
      description: HMAC_SHA256(apiSecret, username + timestamp), hex-encoded.