Hotel Ratings

Returns sentiment-analyzed ratings for hotels across categories like service, room, location, and food, derived from millions of online reviews.

Documentation

Specifications

Examples

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-collection-links-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-collection-meta-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-error-source-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-error400-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-error401-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-error500-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-hotel-sentiment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-score-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-warning-not-found-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-ratings-warning-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-collection-links-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-collection-meta-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-error-source-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-error400-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-error401-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-error500-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-hotel-sentiment-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-score-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-warning-not-found-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-ratings-warning-structure.json

OpenAPI Specification

amadeus-hotel-ratings-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: |
    Before using this API, we recommend you read our **[Authorization Guide](https://developers.amadeus.com/self-service/apis-docs/guides/authorization-262)** for more information on how to generate an access token. 

    Please also be aware that our test environment is based on a subset of the production, this API in test only offers 24 hotels; 10 in London and 14 in New-York. You can find the list in our **[data collection](https://github.com/amadeus4dev/data-collection)**.
  version: 1.0.2
  title: Hotel Ratings
host: test.api.amadeus.com
basePath: /v2
tags:
  - name: Hotel Ratings
    description: Sentiments about Hotels.
schemes:
  - https
produces:
  - application/vnd.amadeus+json
paths:
  /e-reputation/hotel-sentiments:
    get:
      tags:
        - Hotel Ratings
      summary: Amadeus Get Sentiments by Amadeus Hotel Ids
      description: ''
      operationId: getSentimentsByHotelIds
      parameters:
        - name: hotelIds
          in: query
          description: Comma-separated list of Amadeus Hotel Ids (max. 3) . Amadeus Hotel Ids are found in the Hotel Search response (parameter name is 'hotelId').
          required: true
          x-example:
            - TELONMFS
          type: array
          maxItems: 100
          minItems: 1
          items:
            type: string
      responses:
        '200':
          $ref: '#/responses/sentiments'
        '400':
          $ref: '#/responses/400'
        '401':
          $ref: '#/responses/401'
        default:
          $ref: '#/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
definitions:
  HotelSentiment:
    type: object
    properties:
      hotelId:
        type: string
        example: BBLONBTL
        description: Amadeus Hotel Ids are found in the Hotel Search response (parameter name is 'hotelId')
      type:
        type: string
        example: hotelSentiment
      overallRating:
        $ref: '#/definitions/Score'
      numberOfRatings:
        type: integer
        example: 350
      numberOfReviews:
        type: integer
        example: 200
      sentiments:
        type: object
        description: Dictionary containing scores for all the available categories.  If a property does not have any category this object will not be present in the response.
        properties:
          sleepQuality:
            $ref: '#/definitions/Score'
          service:
            $ref: '#/definitions/Score'
          facilities:
            $ref: '#/definitions/Score'
          roomComforts:
            $ref: '#/definitions/Score'
          valueForMoney:
            $ref: '#/definitions/Score'
          catering:
            $ref: '#/definitions/Score'
          swimmingPool:
            $ref: '#/definitions/Score'
          location:
            $ref: '#/definitions/Score'
          internet:
            $ref: '#/definitions/Score'
          pointsOfInterest:
            $ref: '#/definitions/Score'
          staff:
            $ref: '#/definitions/Score'
    required:
      - hotelId
      - overallRating
      - avgHotelAvailabilityResponseTime
      - numberOfRatings
      - numberOfReviews
  CollectionMeta:
    title: CollectionMeta
    properties:
      count:
        type: integer
        example: 1
      links:
        $ref: '#/definitions/CollectionLinks'
  CollectionLinks:
    title: CollectionLinks
    properties:
      self:
        type: string
        format: uri
        example: 'https://test.api.amadeus.com/v1/area/resources?...'
      next:
        type: string
        format: uri
        example: 'https://test.api.amadeus.com/v1/area/resources?...'
      previous:
        type: string
        format: uri
        example: 'https://test.api.amadeus.com/v1/area/resources?...'
      last:
        type: string
        format: uri
        example: 'https://test.api.amadeus.com/v1/area/resources?...'
      first:
        type: string
        format: uri
        example: 'https://test.api.amadeus.com/v1/area/resources?...'
      up:
        type: string
        format: uri
        example: 'https://test.api.amadeus.com/v1/area/resources?...'
    example:
      self: 'https://test.api.amadeus.com/v1/area/resources?param=value'
  WarningNotFound:
    allOf:
      - $ref: '#/definitions/Warning'
    example:
      code: 913
      title: PROPERTIES NOT FOUND
      detail: Some of the requested properties were not found in our database.
      source:
        parameter: hotelIds
        pointer: 'ABCDEFGH,LPCDEFGQ'
  Score:
    type: integer
    description: Integer between 0 and 100. It represents the score for a specific category or the overall rating for a given Hotel.
    example: 82
  Error400:
    properties:
      errors:
        type: array
        items:
          $ref: '#/definitions/Error'
    required:
      - errors
  Error401:
    properties:
      errors:
        type: array
        items:
          $ref: '#/definitions/Error'
    required:
      - errors
    example:
      errors:
        - status: 401
          code: 20
          title: RESTRICTED
          detail: Query unauthorized
  Error500:
    properties:
      errors:
        type: array
        items:
          $ref: '#/definitions/Error'
    required:
      - errors
    example:
      errors:
        - status: 500
          code: 141
          title: SYSTEM ERROR HAS OCCURRED
  Error:
    required:
      - status
      - code
      - title
    properties:
      status:
        type: integer
        description: 'The [HTTP status code](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) of this response. This is present only in terminal errors which cause an unsuccessful response. In the case of multiple errors, they must all have the same status.'
        example: 1
      code:
        type: integer
        description: 'A machine-readable error code from the Amadeus Canned Messages table, that will enable the API Consumers code to handle this type of error'
        example: 1
      title:
        type: string
        description: 'An error title from the Canned Messages table with a 1:1 correspondence to the error code. This may be localized'
        example: string-value
      detail:
        type: string
        description: 'An easy-to-read explanation specific to this occurrence of the problem. It should give the API consumer an idea of what went wrong and how to recover from it. Like the title, this field’s value can be localized.'
        example: string-value
      source:
        $ref: '#/definitions/ErrorSource'
      documentation:
        type: string
        format: url
        description: A link to a web page or file with further documentation to help the API consumer resolve this error
        example: https://example.com/resource
  Warning:
    required:
      - code
      - title
    properties:
      code:
        type: integer
        description: 'A machine-readable error code from the Canned Messages table, that will enable the API Consumers code to handle this type of error'
        example: 1
      title:
        type: string
        description: 'An error title from the Canned Messages table with a 1:1 correspondence to the error code. This may be localized'
        example: string-value
      detail:
        type: string
        description: 'An easy-to-read explanation specific to this occurrence of the problem. It should give the API consumer an idea of what went wrong and how to recover from it. Like the title, this field’s value can be localized.'
        example: string-value
      source:
        $ref: '#/definitions/ErrorSource'
      documentation:
        type: string
        format: url
        description: A link to a web page or file with further documentation to help the API consumer resolve this error
        example: https://example.com/resource
  ErrorSource:
    properties:
      parameter:
        type: string
        description: The key of the URI path or query parameter that caused the error
        example: string-value
      pointer:
        type: string
        description: 'A JSON Pointer [RFC6901] to the associated entity in the request body that caused this error'
        example: string-value
      example:
        type: string
        description: A sample input to guide the user when resolving this issue
        example: string-value
responses:
  '400':
    description: Not Found
    schema:
      $ref: '#/definitions/Error400'
  '401':
    description: Unauthorized
    schema:
      $ref: '#/definitions/Error401'
  '500':
    description: Unexpected Error
    schema:
      $ref: '#/definitions/Error500'
  sentiments:
    description: Successful operation
    schema:
      title: SuccessSentiments
      required:
        - data
      properties:
        meta:
          $ref: '#/definitions/CollectionMeta'
        warnings:
          type: array
          items:
            $ref: '#/definitions/WarningNotFound'
        data:
          type: array
          items:
            $ref: '#/definitions/HotelSentiment'
      example:
        data:
          - type: hotelSentiment
            numberOfReviews: 218
            numberOfRatings: 278
            hotelId: ADNYCCTB
            overallRating: 93
            sentiments:
              sleepQuality: 87
              service: 98
              facilities: 90
              roomComforts: 92
              valueForMoney: 87
              catering: 89
              location: 98
              pointsOfInterest: 91
              staff: 100
          - type: hotelSentiment
            numberOfReviews: 2667
            numberOfRatings: 2666
            hotelId: TELONMFS
            overallRating: 81
            sentiments:
              sleepQuality: 78
              service: 80
              facilities: 75
              roomComforts: 87
              valueForMoney: 75
              catering: 81
              location: 89
              internet: 72
              pointsOfInterest: 81
              staff: 89
        meta:
          count: 1
          links:
            self: 'https://test.api.amadeus.com/v2/e-reputation/hotel-sentiments?hotelIds=ADNYCCTB,TELONMFS,XXXYYY01'
        warnings:
          - code: 913
            title: PROPERTIES NOT FOUND
            detail: Some of the requested properties were not found in our database.
            source:
              parameter: hotelIds
              pointer: XXXYYY01