openapi: 3.1.0 info: title: Airbnb Activities Bookings Calendar API description: The Airbnb Activities API allows approved partners to integrate with Airbnb Experiences, the platform's marketplace for hosted activities and tours. It provides endpoints for managing experience listings, handling bookings, and synchronizing availability for activities offered by local hosts. Partners can use the API to build integrations that help experience hosts manage their offerings alongside other tour and activity platforms, enabling centralized management of schedules, pricing, and guest communications. version: 2025.03.31 contact: name: Airbnb Developer Support url: https://developer.withairbnb.com/ termsOfService: https://www.airbnb.com/terms servers: - url: https://api.airbnb.com/v2 description: Airbnb Production API Server security: - oauth2: [] tags: - name: Calendar description: Operations for managing listing availability, pricing, and calendar synchronization across platforms. paths: /listings/{listing_id}/calendar: get: operationId: getListingCalendar summary: Get Listing Calendar description: Retrieves the availability calendar for a specific listing over a date range. Returns day-by-day availability status, nightly pricing, minimum stay requirements, and any blocked dates. tags: - Calendar parameters: - $ref: '#/components/parameters/listingIdParam' - name: start_date in: query required: true description: The start date for the calendar range in ISO 8601 format. schema: type: string format: date - name: end_date in: query required: true description: The end date for the calendar range in ISO 8601 format. schema: type: string format: date responses: '200': description: The calendar data for the specified date range. content: application/json: schema: type: object properties: calendar_days: type: array items: $ref: '#/components/schemas/CalendarDay' '400': description: The date range is invalid or missing. '401': description: Authentication credentials are missing or invalid. '404': description: The listing was not found. put: operationId: updateListingCalendar summary: Update Listing Calendar description: Updates the availability, pricing, and minimum stay settings for specific dates on a listing calendar. Use this endpoint to block or unblock dates, adjust nightly pricing, and set minimum stay requirements. tags: - Calendar parameters: - $ref: '#/components/parameters/listingIdParam' requestBody: required: true content: application/json: schema: type: object required: - calendar_operations properties: calendar_operations: type: array items: $ref: '#/components/schemas/CalendarOperation' responses: '200': description: The calendar was successfully updated. '400': description: The request body contains invalid operations. '401': description: Authentication credentials are missing or invalid. '404': description: The listing was not found. components: parameters: listingIdParam: name: listing_id in: path required: true description: The unique identifier of the listing. schema: type: string schemas: CalendarDay: type: object properties: date: type: string format: date description: The date for this calendar entry. available: type: boolean description: Whether the listing is available for booking on this date. price: type: number format: double description: The nightly price for this date in the listing currency. minimum_nights: type: integer description: The minimum number of nights required for a stay starting on this date. minimum: 1 maximum_nights: type: integer description: The maximum number of nights allowed for a stay starting on this date. reservation_id: type: string description: The reservation identifier if this date is booked. CalendarOperation: type: object required: - start_date - end_date properties: start_date: type: string format: date description: The start date of the range to update. end_date: type: string format: date description: The end date of the range to update. available: type: boolean description: Whether the dates should be available or blocked. price: type: number format: double description: The nightly price to set for this date range. minimum: 0 minimum_nights: type: integer description: The minimum number of nights required for stays in this range. minimum: 1 maximum_nights: type: integer description: The maximum number of nights allowed for stays in this range. securitySchemes: oauth2: type: oauth2 description: Airbnb uses OAuth 2.0 for authentication. Partners must register their application to receive a client ID and secret, then obtain access tokens through the authorization code flow. flows: authorizationCode: authorizationUrl: https://www.airbnb.com/oauth2/auth tokenUrl: https://api.airbnb.com/v2/oauth2/authorizations scopes: experiences:read: Read experience information experiences:write: Create and update experiences bookings:read: Read booking information bookings:write: Confirm and cancel bookings messages:read: Read booking messages messages:write: Send messages to guests externalDocs: description: Airbnb Developer Documentation url: https://developer.withairbnb.com/