Zumper Rentals - Apartments and Houses for Rent

Zumper Rentals - Apartments and Houses for Rent · GPT-Aktionen

Zumper Rental Search

A service that allows the user to search for rental homes (apartments, houses, and condos for rent) in the US and Canada using the Zumper ChatGPT plugin.

  • POST /api/x/1/openai/listables/searchGet a list of current homes for rent that match a user's requirements. Returns details for each home.
Ursprüngliches API-Schema
{
  "openapi": "3.1.0",
  "info": {
    "title": "Zumper Rental Search",
    "description": "A service that allows the user to search for rental homes (apartments, houses, and condos for rent) in the US and Canada using the Zumper ChatGPT plugin.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://aizumper.com"
    }
  ],
  "paths": {
    "/api/x/1/openai/listables/search": {
      "post": {
        "operationId": "getListables",
        "summary": "Get a list of current homes for rent that match a user's requirements. Returns details for each home.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/getListablesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getListablesResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    },
    "schemas": {
      "getListablesRequest": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "The hyphenated lower case city-statecode(/neighborhood) in which to return rental homes (e.g. san-francisco-ca, new-york-ny, or portland-or); when there are multiple possible statecodes, use the most likely. If they specify a neighborhood, add this after a '/' (lower case hyphenated), e.g. 'new-york-ny/soho' or 'san-francisco-ca/pacific-heights'."
          },
          "cats": {
            "type": "boolean",
            "description": "True if the user wants a cat-friendly place, otherwise false."
          },
          "dogs": {
            "type": "boolean",
            "description": "True if the user wants a dog-friendly place, otherwise false."
          },
          "minPrice": {
            "type": "integer",
            "description": "The minimum monthly rent that the user wants to pay."
          },
          "maxPrice": {
            "type": "integer",
            "description": "The maximum monthly rent that the user wants to pay."
          },
          "bedrooms": {
            "type": "array",
            "items": {
              "type": "integer",
              "enum": [
                0,
                1,
                2,
                3,
                4,
                5
              ]
            },
            "description": "An integer array of the number of bedrooms that the user requests (starting at 0 for studios, up to a maximum of 5), e.g. for a studio [0], for a studio or a 1 bedroom [0, 1], for 2 or 3 bedrooms [2, 3] or \"at least 2 bedrooms\" [2, 3, 4, 5]."
          },
          "bathroomsRange": {
            "type": "array",
            "items": {
              "type": "integer",
              "enum": [
                0,
                1,
                2,
                3,
                4,
                5
              ]
            },
            "description": "An integer array of the number of bathrooms that the user requests, showing only the min and max (starting at 1, up to a maximum of 5). e.g. for 1 bathroom [1], for 1, 2 or 3 bathrooms [1, 3], for at least 3 bathrooms [3, 5]."
          },
          "floorplans": {
            "type": "integer",
            "description": "1 if you're sure the user only wants to live in an apartment building; 0 if you're sure the user doesn't want to live in an apartment building."
          },
          "propertyTypes": {
            "type": "array",
            "items": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4,
                5,
                6,
                9,
                13,
                14,
                15,
                16,
                17,
                21
              ]
            },
            "description": "An integer array indicating what type of home the user requests. Use only the following sets of values; [4, 15, 5, 14, 9] if specify they only want an apartment; [1, 3, 6] if they want a condo; [13, 2, 21] if they want a house; [16, 17] if they want a room in a shared home."
          },
          "features": {
            "type": "array",
            "items": {
              "type": "integer",
              "enum": [
                2,
                3,
                4,
                5,
                6,
                8,
                31,
                32,
                66
              ]
            },
            "description": "An integer array for home features that the user requests. Use any combination of the following values (but no others); 2 for \"assisted living\" homes; 3 for current rent discounts; 4 for places available only to people with low incomes; 5 for \"section 8\" homes; 6 for senior living homes; 8 for student housing; 31 for utilities included; 32 for no security deposit; 66 for new construction."
          },
          "buildingAmenities": {
            "type": "array",
            "items": {
              "type": "integer",
              "enum": [
                2,
                3,
                4,
                5,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                16,
                17
              ]
            },
            "description": "An integer array for shared apartment building amenities that the user requests. Use any combination of the following values (but no others); 2 for concierge service; 3 for gym; 4 for on site laundry; 5 for package service; 7 for dry cleaning service; 8 for garage parking; 9 for swimming pool; 10 for storage; 11 for business center; 12 for door person; 13 for roof deck; 14 for outdoor space; 16 for wheelchair accessible; 17 for elevator."
          },
          "listingAmenities": {
            "type": "array",
            "items": {
              "type": "integer",
              "enum": [
                2,
                3,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                21,
                22,
                24,
                25,
                28,
                29,
                32
              ]
            },
            "description": "An integer array for home amenities that the user requests. Use any combination of the following values (but no others); 2 for air conditioning; 3 for ceiling fan; 4 for high ceilings; 5 for assigned parking; 6 for fireplace; 7 for dishwasher; 8 for balcony; 9 for garden; 10 for deck; 11 for hardwood floor; 12 for carpet; 13 for furnished; 14 for central heat; 15 for walk in closets; 16 for in unit laundry; 21 for electric vehicle charging; 22 for wifi; 24 for tv; 25 for cable tv; 28 for microwave; 29 for oven; 32 for outdoor space."
          },
          "minPricePerBedroomPercentile": {
            "type": "string",
            "description": "Only pass the specific value p75 when a user searches for luxury homes."
          },
          "maxPricePerBedroomPercentile": {
            "type": "string",
            "description": "Only pass the specific value p50 when a user searches for cheap homes."
          }
        }
      },
      "getListablesResponse": {
        "type": "object",
        "properties": {
          "search_results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/listableResponse"
            },
            "description": "The homes found that match the user's requirements."
          },
          "search_link": {
            "type": "string",
            "description": "A url for more rental homes that match the user's requirements."
          },
          "instructions": {
            "type": "string"
          }
        }
      },
      "listableResponse": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "The street address for the home, including e.g. house number, street name, and unit number if applicable."
          },
          "agent_name": {
            "type": "string",
            "description": "The name of the agent who is posting the home."
          },
          "amenity_tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of important amenities for the home (e.g. air_conditioning, dishwasher, garden)."
          },
          "building_amenity_tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of important building amenities for the home (e.g. gym, swimming_pool, roof_deck)."
          },
          "building_name": {
            "type": "string",
            "description": "The name of the building, if the home is an apartment."
          },
          "city": {
            "type": "string",
            "description": "The city that the home is in."
          },
          "city_state": {
            "type": "string",
            "description": "The lowercase hyphenated <city>-<statecode> that the home is in."
          },
          "date_available": {
            "type": "string",
            "description": "The date for when the home is available. If it is empty or in the past, then it is unknown."
          },
          "bedrooms_range": {
            "type": "object",
            "properties": {
              "max": {
                "type": "integer",
                "description": "The maximum number of bedrooms for the home."
              },
              "min": {
                "type": "integer",
                "description": "The minimum number of bedrooms for the home."
              }
            }
          },
          "bedrooms": {
            "type": "integer",
            "description": "The number of bedrooms for the home."
          },
          "bathrooms_range": {
            "type": "object",
            "properties": {
              "max": {
                "type": "integer",
                "description": "The maximum number of bathrooms for the home."
              },
              "min": {
                "type": "integer",
                "description": "The minimum number of bathrooms for the home."
              }
            }
          },
          "bathrooms": {
            "type": "integer",
            "description": "The number of bathrooms for the home."
          },
          "price_range": {
            "type": "object",
            "properties": {
              "max": {
                "type": "integer",
                "description": "The maximum monthly rental price for the home."
              },
              "min": {
                "type": "integer",
                "description": "The minimum monthly rental price for the home."
              }
            }
          },
          "price": {
            "type": "integer",
            "description": "The month rental price for the home."
          },
          "neighborhood_name": {
            "type": "string",
            "description": "The name of the neighborhood the home is in."
          },
          "neighborhood_url": {
            "type": "string",
            "description": "A url for the neighborhood of the home, with information about the neighborhood and more rentals in that neighborhood."
          },
          "cat-friendly": {
            "type": "boolean",
            "description": "Whether cats are allowed for the home."
          },
          "dog-friendly": {
            "type": "boolean",
            "description": "Whether dogs are allowed for the home."
          },
          "large-dog-friendly": {
            "type": "boolean",
            "description": "Whether large dogs are allowed for the home."
          },
          "link": {
            "type": "string",
            "description": "A url for more information about the home on Zumper. Always use this exact url in the response, do not change it."
          },
          "phone": {
            "type": "string",
            "description": "The phone number to contact the landlord of the home."
          },
          "description": {
            "type": "string",
            "description": "The description of the home. Usually contains a summary of the details and the location."
          },
          "title": {
            "type": "string",
            "description": "A title to use for the home (suitable for text in links)."
          },
          "zipcode": {
            "type": "string",
            "description": "The zipcode for the home."
          }
        }
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ]
}