Skip to main content
Glama

Hostaway MCP Server

listings.yaml19.1 kB
openapi: 3.1.0 info: title: Hostaway Listings API description: Property management endpoints for listing properties, details, and availability version: 1.0.0 contact: name: Hostaway API Support url: https://api.hostaway.com/documentation servers: - url: https://api.hostaway.com/v1 description: Hostaway Production API security: - bearerAuth: [] paths: /listings: get: operationId: listProperties summary: List all properties description: | Retrieve a list of all properties managed in the Hostaway account. Results are paginated with a default limit of 100 items per page. Rate Limits: - 15 requests per 10 seconds per IP address - 20 requests per 10 seconds per account tags: - Listings parameters: - name: limit in: query description: Maximum number of results per page schema: type: integer minimum: 1 maximum: 100 default: 100 example: 50 - name: offset in: query description: Number of results to skip for pagination schema: type: integer minimum: 0 default: 0 example: 0 - name: sortOrder in: query description: Sort direction schema: type: string enum: [asc, desc] default: asc example: asc - name: city in: query description: Filter by city name schema: type: string example: "San Francisco" - name: status in: query description: Filter by listing status schema: type: string enum: [active, inactive, archived] example: active responses: '200': description: Successfully retrieved listings content: application/json: schema: $ref: '#/components/schemas/ListingsResponse' examples: success: value: status: "success" result: - id: 12345 name: "Beautiful Beachfront Villa" address: "123 Ocean Drive, San Francisco, CA 94016" city: "San Francisco" capacity: 8 bedrooms: 4 bathrooms: 3.5 status: "active" - id: 12346 name: "Downtown Modern Apartment" address: "456 Market Street, San Francisco, CA 94102" city: "San Francisco" capacity: 4 bedrooms: 2 bathrooms: 2 status: "active" count: 2 limit: 100 offset: 0 '401': description: Unauthorized - invalid or missing access token content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /listings/{id}: get: operationId: getPropertyDetails summary: Get property details description: | Retrieve comprehensive details for a specific property including amenities, pricing, capacity, images, and channel integrations. tags: - Listings parameters: - name: id in: path required: true description: Unique identifier for the property schema: type: integer example: 12345 responses: '200': description: Successfully retrieved property details content: application/json: schema: $ref: '#/components/schemas/PropertyDetailsResponse' examples: success: value: status: "success" result: id: 12345 name: "Beautiful Beachfront Villa" address: "123 Ocean Drive" city: "San Francisco" state: "CA" zipCode: "94016" country: "United States" latitude: 37.7749 longitude: -122.4194 description: "Stunning oceanfront property with panoramic views" capacity: 8 bedrooms: 4 bathrooms: 3.5 accommodationType: "Entire home/apt" status: "active" amenities: - "WiFi" - "Kitchen" - "Parking" - "Pool" - "Air conditioning" - "Ocean view" pricing: currency: "USD" basePrice: 350 weekendPrice: 450 cleaningFee: 150 securityDeposit: 500 images: - "https://cdn.hostaway.com/images/listing-12345-1.jpg" - "https://cdn.hostaway.com/images/listing-12345-2.jpg" channelIds: airbnb: "airbnb-listing-123" vrbo: "vrbo-listing-456" bookingCom: "booking-listing-789" cancellationPolicy: "moderate" checkInTime: "15:00" checkOutTime: "11:00" '401': description: Unauthorized - invalid or missing access token content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Property not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: notFound: value: status: "error" message: "Listing with ID 12345 not found" code: "NOT_FOUND" '429': description: Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /listings/{id}/calendar: get: operationId: getPropertyAvailability summary: Check property availability description: | Retrieve calendar availability for a specific property within a date range. Shows available dates, blocked dates, and existing reservations. tags: - Listings parameters: - name: id in: path required: true description: Unique identifier for the property schema: type: integer example: 12345 - name: startDate in: query required: true description: Start date for availability check (YYYY-MM-DD) schema: type: string format: date example: "2025-01-01" - name: endDate in: query required: true description: End date for availability check (YYYY-MM-DD) schema: type: string format: date example: "2025-01-31" responses: '200': description: Successfully retrieved availability calendar content: application/json: schema: $ref: '#/components/schemas/AvailabilityResponse' examples: success: value: status: "success" result: listingId: 12345 startDate: "2025-01-01" endDate: "2025-01-31" calendar: - date: "2025-01-01" status: "available" price: 350 minimumStay: 2 - date: "2025-01-02" status: "available" price: 350 minimumStay: 2 - date: "2025-01-03" status: "booked" reservationId: 67890 price: 350 - date: "2025-01-04" status: "blocked" reason: "maintenance" - date: "2025-01-05" status: "available" price: 450 minimumStay: 2 '400': description: Invalid date range or parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: invalidDateRange: value: status: "error" message: "End date must be after start date" code: "INVALID_DATE_RANGE" '401': description: Unauthorized - invalid or missing access token content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Property not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 access token obtained from /v1/accessTokens schemas: ListingsResponse: type: object required: - status - result properties: status: type: string enum: [success] description: Response status result: type: array description: Array of property listings items: $ref: '#/components/schemas/ListingSummary' count: type: integer description: Number of results returned example: 2 limit: type: integer description: Maximum results per page example: 100 offset: type: integer description: Pagination offset example: 0 ListingSummary: type: object required: - id - name - address properties: id: type: integer description: Unique property identifier example: 12345 name: type: string description: Property name/title example: "Beautiful Beachfront Villa" address: type: string description: Full property address example: "123 Ocean Drive, San Francisco, CA 94016" city: type: string description: City name example: "San Francisco" capacity: type: integer description: Maximum guest capacity example: 8 bedrooms: type: integer description: Number of bedrooms example: 4 bathrooms: type: number format: float description: Number of bathrooms (can include half baths) example: 3.5 status: type: string enum: [active, inactive, archived] description: Current listing status example: "active" thumbnailUrl: type: string format: uri description: URL to property thumbnail image example: "https://cdn.hostaway.com/images/listing-12345-thumb.jpg" PropertyDetailsResponse: type: object required: - status - result properties: status: type: string enum: [success] description: Response status result: $ref: '#/components/schemas/PropertyDetails' PropertyDetails: allOf: - $ref: '#/components/schemas/ListingSummary' - type: object properties: state: type: string description: State/province example: "CA" zipCode: type: string description: Postal/ZIP code example: "94016" country: type: string description: Country name example: "United States" latitude: type: number format: double description: Geographic latitude example: 37.7749 longitude: type: number format: double description: Geographic longitude example: -122.4194 description: type: string description: Full property description example: "Stunning oceanfront property with panoramic views" accommodationType: type: string description: Type of accommodation example: "Entire home/apt" amenities: type: array description: List of property amenities items: type: string example: ["WiFi", "Kitchen", "Parking", "Pool"] pricing: $ref: '#/components/schemas/PricingInfo' images: type: array description: URLs to property images items: type: string format: uri example: ["https://cdn.hostaway.com/images/listing-12345-1.jpg"] channelIds: type: object description: External channel listing IDs additionalProperties: type: string example: airbnb: "airbnb-listing-123" vrbo: "vrbo-listing-456" cancellationPolicy: type: string description: Cancellation policy type example: "moderate" checkInTime: type: string format: time description: Default check-in time (HH:MM) example: "15:00" checkOutTime: type: string format: time description: Default check-out time (HH:MM) example: "11:00" PricingInfo: type: object properties: currency: type: string description: Currency code (ISO 4217) example: "USD" basePrice: type: number format: float description: Base nightly rate example: 350 weekendPrice: type: number format: float description: Weekend nightly rate example: 450 cleaningFee: type: number format: float description: Cleaning fee per booking example: 150 securityDeposit: type: number format: float description: Security deposit amount example: 500 AvailabilityResponse: type: object required: - status - result properties: status: type: string enum: [success] description: Response status result: $ref: '#/components/schemas/AvailabilityCalendar' AvailabilityCalendar: type: object required: - listingId - startDate - endDate - calendar properties: listingId: type: integer description: Property identifier example: 12345 startDate: type: string format: date description: Calendar start date example: "2025-01-01" endDate: type: string format: date description: Calendar end date example: "2025-01-31" calendar: type: array description: Daily availability entries items: $ref: '#/components/schemas/CalendarDay' CalendarDay: type: object required: - date - status properties: date: type: string format: date description: Calendar date example: "2025-01-01" status: type: string enum: [available, booked, blocked] description: Availability status example: "available" price: type: number format: float description: Nightly price for this date example: 350 minimumStay: type: integer description: Minimum stay requirement in nights example: 2 reservationId: type: integer description: Associated reservation ID (if booked) example: 67890 reason: type: string description: Reason for blocking (if blocked) example: "maintenance" ErrorResponse: type: object required: - status - message properties: status: type: string enum: [error] description: Error status indicator message: type: string description: Human-readable error message example: "Invalid access token" code: type: string description: Machine-readable error code example: "UNAUTHORIZED" details: type: object description: Additional error context additionalProperties: true tags: - name: Listings description: Property management operations for listings, details, and availability

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/darrentmorgan/hostaway-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server