Marriott Developer API

The Marriott Developer API provides programmatic access to Marriott International's hotel and property systems through a developer portal. The API catalog enables integration with Marriott's Central Reservation System (CRS) for property search, availability lookup, and booking management across Marriott's portfolio of hotel brands worldwide.

OpenAPI Specification

marriott-international-developer-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Marriott Developer API
  description: >-
    The Marriott Developer API provides programmatic access to Marriott
    International's hotel and property systems. The API enables integration
    with Marriott's Central Reservation System for property search,
    availability lookup, and booking management across Marriott's portfolio
    of hotel brands worldwide.
  version: '1.0'
servers:
  - url: https://devportalprod.marriott.com
tags:
  - name: Availability
    description: Check room availability and rates.
  - name: Properties
    description: Search and retrieve hotel property information.
  - name: Reservations
    description: Create and manage hotel reservations.
paths:
  /properties:
    get:
      operationId: searchProperties
      summary: Search properties
      description: >-
        Search for Marriott hotel properties by location, brand, amenities,
        and other criteria across the global portfolio.
      tags:
        - Properties
      parameters:
        - name: location
          in: query
          description: City or geographic location to search.
          schema:
            type: string
        - name: brand
          in: query
          description: Filter by Marriott brand code.
          schema:
            type: string
        - name: radius
          in: query
          description: Search radius in miles.
          schema:
            type: number
      responses:
        '200':
          description: Success
  /properties/{propertyId}:
    get:
      operationId: getProperty
      summary: Get property details
      description: >-
        Retrieves detailed information about a specific Marriott hotel
        property including amenities, location, and contact details.
      tags:
        - Properties
      parameters:
        - name: propertyId
          in: path
          required: true
          description: The unique property identifier.
          schema:
            type: string
      responses:
        '200':
          description: Success
  /availability:
    get:
      operationId: checkAvailability
      summary: Check room availability
      description: >-
        Check room availability and rates for a specified property and
        date range.
      tags:
        - Availability
      parameters:
        - name: propertyId
          in: query
          required: true
          description: The unique property identifier.
          schema:
            type: string
        - name: checkIn
          in: query
          required: true
          description: Check-in date.
          schema:
            type: string
            format: date
        - name: checkOut
          in: query
          required: true
          description: Check-out date.
          schema:
            type: string
            format: date
        - name: guests
          in: query
          description: Number of guests.
          schema:
            type: integer
      responses:
        '200':
          description: Success
  /reservations:
    post:
      operationId: createReservation
      summary: Create a reservation
      description: >-
        Creates a new hotel reservation at a specified Marriott property.
      tags:
        - Reservations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                propertyId:
                  type: string
                checkIn:
                  type: string
                  format: date
                checkOut:
                  type: string
                  format: date
                roomType:
                  type: string
                guestName:
                  type: string
                guests:
                  type: integer
      responses:
        '201':
          description: Reservation created successfully
  /reservations/{confirmationNumber}:
    get:
      operationId: getReservation
      summary: Get reservation details
      description: >-
        Retrieves details of a specific reservation by confirmation number.
      tags:
        - Reservations
      parameters:
        - name: confirmationNumber
          in: path
          required: true
          description: The reservation confirmation number.
          schema:
            type: string
      responses:
        '200':
          description: Success
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://devportalprod.marriott.com/oauth/token
          scopes:
            properties:read: Read property information
            reservations:write: Create and manage reservations
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key