> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conduit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch OTA review metrics

> Fetch native review scores, counts, category ratings and platform-specific indicators for one Airbnb, Booking.com or Vrbo property URL.

Provide a public HTTPS property URL. The lookup returns the native rating scale and preserves the categories and indicators supplied by that booking site. It does not fetch individual review text or reviews imported from other sites.

An explicit zero-review result has a null rating and a review count of zero. Missing categories return an empty object. Missing platform-specific indicators are null, while an explicit false remains false.

Expected lookup failures return HTTP 200 with `data.error.code` and `data.error.message`. The codes are `fetch_failed`, `incomplete_data`, `identity_mismatch`, and `native_reviews_unavailable`. Authentication, malformed input, request throttling and unavailable server configuration retain their normal HTTP error statuses.

The same lookup is available through the `get_ota_review_metrics` MCP tool in the `reviews` domain. Only `url` is accepted; provider settings and timeouts are managed by Conduit.


## OpenAPI

````yaml POST /v1/reviews/fetch
openapi: 3.0.0
info:
  title: Conduit API
  version: 1.0.0
  description: Public API for Conduit.
servers:
  - url: https://api.conduit.ai
    description: Production
security: []
tags:
  - name: meta
    description: Discovery and API metadata endpoints.
  - name: agents
    description: >-
      V2 chat agent configuration, including instructions, skills, triggers, and
      automation behavior.
  - name: contacts
    description: >-
      Contact profile and contact-scoped related resources such as tickets and
      calls.
  - name: workspaces
    description: Workspaces accessible to the current API token.
  - name: escalations
    description: >-
      Chat escalations that require operator review, including message, proposed
      response, and disposition context when available.
  - name: conversations
    description: >-
      Canonical message threads. Use these endpoints to list threads, inspect
      conversation state, read transcripts, and send replies.
  - name: conversation-tags
    description: >-
      Conversation labels, root topics, and subtopics used for classification
      and topic analytics.
  - name: tickets
    description: >-
      Operational queue items tied to conversations, including ticket-scoped
      transcripts and replies.
  - name: calls
    description: Phone call records, transcripts, summaries, and recordings when available.
  - name: reservations
    description: >-
      PMS reservations synced from the workspace's integrations (Hostaway,
      Guesty, Airbnb, etc.), including guest identity, payment status, and stay
      dates.
  - name: appointments
    description: >-
      Scheduled appointments (bookings) backed by the Conduit booking service.
      Exposes allocation context and the upstream booking-service `external_id`.
  - name: helpdesk_tickets
    description: >-
      Helpdesk tickets mirrored from external helpdesk integrations (Zendesk,
      Pylon, Plain), including requester identity and upstream metadata.
  - name: kb
    description: >-
      Knowledge base search and node management. Nodes represent knowledge base
      entries (files or directories), chunks are the indexed retrieval units
      used by search.
  - name: skills
    description: >-
      Workspace agent skills that can be attached to V2 chat agents.
      Sidebar/global-assistant skills are intentionally excluded.
  - name: custom_tools
    description: >-
      Custom code tools: user-authored Python/JavaScript functions executed in a
      sandbox when an agent calls them. Includes a runtimes endpoint describing
      the entrypoint signature, return shape, and available dependencies per
      language.
  - name: inbox_types
    description: >-
      Workspace inbox types. Each id is stable and usable as a message trigger's
      `inbox_type_id` and as the `inbox_type_id` filter on list conversations.
  - name: workflows
    description: >-
      Workspace automation workflows: definitions, executions, and per-execution
      event timelines.
  - name: insights
    description: Aggregated workspace analytics, such as conversation automation rate.
paths:
  /v1/reviews/fetch:
    post:
      tags:
        - reviews
      summary: Get OTA Review Metrics
      description: >-
        Fetch native aggregate review metrics for one Airbnb, Booking.com, or
        Vrbo property URL. Returns the overall rating and scale, review count,
        category ratings and platform-specific indicators. A null rating with
        count zero means explicitly no native reviews; an error means
        unavailable, not zero. Does not return individual review text or
        imported review ratings.
      operationId: getOtaReviewMetrics
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  maxLength: 4096
                  format: uri
                  description: >-
                    Public HTTPS property URL on Airbnb (.com/.ca), Booking.com,
                    or Vrbo.com. Share links and search pages are unsupported.
              required:
                - url
              additionalProperties: false
      responses:
        '200':
          description: Get OTA Review Metrics
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                      - oneOf:
                          - type: object
                            properties:
                              ota:
                                type: string
                                enum:
                                  - airbnb
                              rating:
                                type: number
                                nullable: true
                                minimum: 0
                                maximum: 5
                              rating_scale:
                                type: number
                                enum:
                                  - 5
                              review_count:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              category_ratings:
                                type: object
                                properties:
                                  cleanliness:
                                    type: number
                                    minimum: 0
                                    maximum: 5
                                  accuracy:
                                    type: number
                                    minimum: 0
                                    maximum: 5
                                  check_in:
                                    type: number
                                    minimum: 0
                                    maximum: 5
                                  communication:
                                    type: number
                                    minimum: 0
                                    maximum: 5
                                  location:
                                    type: number
                                    minimum: 0
                                    maximum: 5
                                  value:
                                    type: number
                                    minimum: 0
                                    maximum: 5
                                additionalProperties: false
                              platform_metrics:
                                type: object
                                properties:
                                  guest_favorite:
                                    type: boolean
                                    nullable: true
                                  bottom_10_percent:
                                    type: boolean
                                    nullable: true
                                required:
                                  - guest_favorite
                                  - bottom_10_percent
                                additionalProperties: false
                            required:
                              - ota
                              - rating
                              - rating_scale
                              - review_count
                              - category_ratings
                              - platform_metrics
                            additionalProperties: false
                          - type: object
                            properties:
                              ota:
                                type: string
                                enum:
                                  - booking_com
                              rating:
                                type: number
                                nullable: true
                                minimum: 0
                                maximum: 10
                              rating_scale:
                                type: number
                                enum:
                                  - 10
                              review_count:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              category_ratings:
                                type: object
                                properties:
                                  staff:
                                    type: number
                                    minimum: 0
                                    maximum: 10
                                  facilities:
                                    type: number
                                    minimum: 0
                                    maximum: 10
                                  cleanliness:
                                    type: number
                                    minimum: 0
                                    maximum: 10
                                  comfort:
                                    type: number
                                    minimum: 0
                                    maximum: 10
                                  value_for_money:
                                    type: number
                                    minimum: 0
                                    maximum: 10
                                  location:
                                    type: number
                                    minimum: 0
                                    maximum: 10
                                  free_wifi:
                                    type: number
                                    minimum: 0
                                    maximum: 10
                                additionalProperties: false
                              platform_metrics:
                                type: object
                                properties: {}
                                additionalProperties: false
                            required:
                              - ota
                              - rating
                              - rating_scale
                              - review_count
                              - category_ratings
                              - platform_metrics
                            additionalProperties: false
                          - type: object
                            properties:
                              ota:
                                type: string
                                enum:
                                  - vrbo
                              rating:
                                type: number
                                nullable: true
                                minimum: 0
                                maximum: 10
                              rating_scale:
                                type: number
                                enum:
                                  - 10
                              review_count:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              category_ratings:
                                type: object
                                properties: {}
                                additionalProperties: false
                              platform_metrics:
                                type: object
                                properties:
                                  rating_label:
                                    type: string
                                    nullable: true
                                  guest_experience_score:
                                    type: object
                                    nullable: true
                                    properties:
                                      value:
                                        type: number
                                        minimum: 0
                                      scale:
                                        nullable: true
                                    required:
                                      - value
                                      - scale
                                    additionalProperties: false
                                required:
                                  - rating_label
                                  - guest_experience_score
                                additionalProperties: false
                            required:
                              - ota
                              - rating
                              - rating_scale
                              - review_count
                              - category_ratings
                              - platform_metrics
                            additionalProperties: false
                      - type: object
                        properties:
                          error:
                            type: object
                            properties:
                              code:
                                type: string
                                enum:
                                  - fetch_failed
                                  - incomplete_data
                                  - identity_mismatch
                                  - native_reviews_unavailable
                              message:
                                type: string
                            required:
                              - code
                              - message
                            additionalProperties: false
                        required:
                          - error
                        additionalProperties: false
                required:
                  - data
                additionalProperties: false
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                description: Standard error response.
                example:
                  error: Invalid workspace id
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                description: Standard error response.
                example:
                  error: Invalid workspace id
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                description: Standard error response.
                example:
                  error: Invalid workspace id
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                description: Standard error response.
                example:
                  error: Invalid workspace id
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                description: Standard error response.
                example:
                  error: Invalid workspace id
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                description: Standard error response.
                example:
                  error: Invalid workspace id
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Token
      description: >-
        Conduit API token. Use `Authorization: Bearer <token>`. Read/write
        endpoints require a token with write access.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.