{
  "name": "VIENNA.RENTALS anonymous apartment availability API",
  "version": "2026-09-16",
  "method": "GET",
  "endpoint": "https://vienna.rentals/api/ai/availability",
  "availabilityChecked": false,
  "message": "This is API documentation, not an availability result. Supply future arrivalDate and departureDate plus the total number of guests to check availability.",
  "authorization": "none",
  "registrationRequired": false,
  "exampleUrlTemplate": "https://vienna.rentals/api/ai/availability?arrivalDate={arrivalDate}&departureDate={departureDate}&persons={persons}",
  "guide": "https://vienna.rentals/ai/availability.md",
  "inventory": "https://vienna.rentals/ai/stays.json",
  "openApi": "https://vienna.rentals/openapi.json",
  "parameters": [
    {
      "name": "arrivalDate",
      "required": true,
      "description": "Check-in date, YYYY-MM-DD. Required to check availability.",
      "schema": {
        "type": "string",
        "format": "date"
      }
    },
    {
      "name": "departureDate",
      "required": true,
      "description": "Check-out date, YYYY-MM-DD. Required to check availability.",
      "schema": {
        "type": "string",
        "format": "date"
      }
    },
    {
      "name": "persons",
      "description": "Total guests, including children. Only apartments with sufficient capacity can match.",
      "schema": {
        "type": "integer",
        "minimum": 1,
        "maximum": 3,
        "default": 2
      }
    },
    {
      "name": "locale",
      "description": "Language of apartment names and website links.",
      "schema": {
        "type": "string",
        "enum": [
          "en",
          "de"
        ],
        "default": "en"
      }
    },
    {
      "name": "apartmentIds",
      "description": "Optional Smoobu apartment IDs. Omit to search the whole public inventory.",
      "schema": {
        "type": "array",
        "items": {
          "type": "integer",
          "enum": [
            2257486,
            2378668,
            2378673,
            2493298,
            2493303,
            2493308,
            3009016,
            3009021,
            3009026,
            3030326,
            3078281,
            3304327
          ]
        },
        "minItems": 1,
        "maxItems": 12,
        "uniqueItems": true
      }
    },
    {
      "name": "region",
      "description": "Optional area: wien_sued means Vienna South; wien_west means Vienna West. All selected clusters must belong to this region.",
      "schema": {
        "type": "string",
        "enum": [
          "wien_sued",
          "wien_west"
        ]
      }
    },
    {
      "name": "cluster",
      "description": "Optional building/location keys. Any selected cluster may match.",
      "schema": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "columbusgasse-9",
            "hernalser-hauptstrasse-130",
            "inzersdorfer-strasse-121",
            "kollmayergasse-16",
            "schumanngasse-35",
            "wienerbergstrasse-40"
          ]
        },
        "minItems": 1,
        "maxItems": 6,
        "uniqueItems": true
      }
    },
    {
      "name": "amenities",
      "description": "Optional amenity keys. An apartment must have every selected amenity.",
      "schema": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "air_conditioning",
            "balcony",
            "dishwasher",
            "kitchen",
            "terrace",
            "washer",
            "wifi",
            "workspace"
          ]
        },
        "minItems": 1,
        "maxItems": 8,
        "uniqueItems": true
      }
    },
    {
      "name": "includeUnavailable",
      "description": "Include unavailable apartments that still match capacity and filters.",
      "schema": {
        "type": "boolean",
        "default": false
      }
    }
  ],
  "limits": {
    "maxGuests": 3,
    "bookingHorizonDays": 365,
    "maxStayNights": 31,
    "availabilityCacheSeconds": 300
  },
  "safety": {
    "readOnly": true,
    "checkoutRequiresHuman": true,
    "noAgentInitiatedPayment": true,
    "noReservationMutation": true
  }
}