Find NYC rental apartments by budget, neighborhood, commute and amenities, with deal scores.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a link that opens this search on Buzzedin, where the user can save it as an alert and get an email or push notification when a new matching listing appears. Pass the same filters used for search_listings. Use it when the user wants to be notified, or accepts the offer of an alert.
Number of bedrooms. "1br"=1, "2bed"=2, "studio"="studio"
Minimum number of bathrooms
AC/air conditioning required
No broker fee required
Sort order
Borough name if mentioned: Manhattan, Brooklyn, Queens, Bronx, Staten Island
Maximum square footage. Extract from phrases like "under X sqft", "less than X sq ft", "max X square feet"
Minimum square footage. Extract from phrases like "at least X sqft", "X+ sqft", "over X sq ft", "minimum X square feet"
Pre-war building
Maximum monthly rent in dollars. Extract from phrases like "under $X", "under X", "less than $X", "max $X", "$Xk", "Xk" where k=1000. Examples: "5k"=5000, "$4k"=4000, "under 3500"=3500
Minimum monthly rent in dollars
Latest acceptable move-in date as YYYYMMDD (for example, 20260701 for July 1, 2026). Only set this when the user gives a move-in deadline.
Apartment feels above-average in size for its bedroom count. Match spacious or very spacious listings.
View type. "park views"="park", "water view"="water", "city views"="city_skyline"
Floor level. "high floor"="high", "penthouse"="penthouse"
Has bathtub (not just shower)
Doorman building required
Parking available
Street noise level. "quiet"="quiet", "peaceful"="quiet"
Room layout type. "open layout"="open", "flex"="flex", "railroad"="railroad"
Cats allowed
Dogs allowed
Elevator building required
Furnished apartment required
Kitchen type. "open kitchen"="open", "eat-in kitchen"="eat_in"
Earliest acceptable move-in date as YYYYMMDD (for example, 20260801 for August 1, 2026). Only set this when the user wants listings available on or after a specific date — for example "not until August" or "earliest move-in August 1".
Pets allowed (any pets)
Building type. "high rise"="high_rise", "walkup"="walk_up"
Flooring type. "hardwood floors"="hardwood"
Has fireplace (decorative or working)
Natural light level. "sunny"/"bright"="abundant"
Filter by commute time to a SPECIFIC location
Has dishwasher
Has dedicated home office space
Building has roof access/deck
In-unit washer/dryer required
Extract specific NYC neighborhood names. Map abbreviations to full names: "LES"="Lower East Side", "UES"="Upper East Side", "UWS"="Upper West Side", "FiDi"="Financial District", "BedStuy"="Bedford-Stuyvesant", "LIC"="Long Island City", "DUMBO"="DUMBO". Map general areas to specific neighborhoods: "Lower Manhattan" -> ["Financial District", "Tribeca", "Battery Park City", "Chinatown", "Civic Center"]. Use exact neighborhood names.
Unit faces quiet side (courtyard, back)
Building has bike storage
Building has live-in super
Has notable/great view
Storage unit available in building
Has exposed brick
Has high ceilings (9ft+)
Private outdoor space required (balcony, patio, backyard, terrace, roof)
Has walk-in closet
Looking for lease takeover
Gym in building required
Renovation status. "renovated"="newly_renovated"
Building condition/maintenance level
Unit exposure/facing direction. "south facing"="south"
ONLY for generic POI types like "a grocery store". For specific brands (Whole Foods, Equinox), use commuteFilter instead
Heat/utilities included in rent
Laundry in building required
The listing itself says the unit is rent-stabilized. Much rarer; use only when the user wants the listing to state it.
Building is on the NYC (DHCR) list of buildings with rent-stabilized units. Use this when the user asks for rent-stabilized apartments.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http nyc-apartments https://buzzedin.com/mcp
Create a link that opens this search on Buzzedin, where the user can save it as an alert and get an email or push notification when a new matching listing appears. Pass the same filters used for search_listings. Use it when the user wants to be notified, or accepts the offer of an alert.
| Argument | Type | Description |
|---|---|---|
| beds | any | Number of bedrooms. "1br"=1, "2bed"=2, "studio"="studio" |
| baths | number | Minimum number of bathrooms |
| hasAc | boolean | AC/air conditioning required |
| noFee | boolean | No broker fee required |
| sortBy | string | Sort order |
| borough | string | Borough name if mentioned: Manhattan, Brooklyn, Queens, Bronx, Staten Island |
| maxSqft | number | Maximum square footage. Extract from phrases like "under X sqft", "less than X sq ft", "max X square feet" |
| minSqft | number | Minimum square footage. Extract from phrases like "at least X sqft", "X+ sqft", "over X sq ft", "minimum X square feet" |
| isPrewar | boolean | Pre-war building |
| maxPrice | number | Maximum monthly rent in dollars. Extract from phrases like "under $X", "under X", "less than $X", "max $X", "$Xk", "Xk" where k=1000. Examples: "5k"=5000, "$4k"=4000, "under 3500"=3500 |
| minPrice | number | Minimum monthly rent in dollars |
| moveInBy | number | Latest acceptable move-in date as YYYYMMDD (for example, 20260701 for July 1, 2026). Only set this when the user gives a move-in deadline. |
| spacious | boolean | Apartment feels above-average in size for its bedroom count. Match spacious or very spacious listings. |
| viewType | array | View type. "park views"="park", "water view"="water", "city views"="city_skyline" |
| floorLevel | string | Floor level. "high floor"="high", "penthouse"="penthouse" |
| hasBathtub | boolean | Has bathtub (not just shower) |
| hasDoorman | boolean | Doorman building required |
| hasParking | boolean | Parking available |
| noiseLevel | string | Street noise level. "quiet"="quiet", "peaceful"="quiet" |
| roomLayout | string | Room layout type. "open layout"="open", "flex"="flex", "railroad"="railroad" |
| catsAllowed | boolean | Cats allowed |
| dogsAllowed | boolean | Dogs allowed |
| hasElevator | boolean | Elevator building required |
| isFurnished | boolean | Furnished apartment required |
| kitchenType | string | Kitchen type. "open kitchen"="open", "eat-in kitchen"="eat_in" |
| moveInAfter | number | Earliest acceptable move-in date as YYYYMMDD (for example, 20260801 for August 1, 2026). Only set this when the user wants listings available on or after a specific date — for example "not until August" or "earliest move-in August 1". |
| petsAllowed | boolean | Pets allowed (any pets) |
| buildingType | string | Building type. "high rise"="high_rise", "walkup"="walk_up" |
| flooringType | string | Flooring type. "hardwood floors"="hardwood" |
| hasFireplace | boolean | Has fireplace (decorative or working) |
| naturalLight | string | Natural light level. "sunny"/"bright"="abundant" |
| commuteFilter | object | Filter by commute time to a SPECIFIC location |
| hasDishwasher | boolean | Has dishwasher |
| hasHomeOffice | boolean | Has dedicated home office space |
| hasRoofAccess | boolean | Building has roof access/deck |
| inUnitLaundry | boolean | In-unit washer/dryer required |
| neighborhoods | array | Extract specific NYC neighborhood names. Map abbreviations to full names: "LES"="Lower East Side", "UES"="Upper East Side", "UWS"="Upper West Side", "FiDi"="Financial District", "BedStuy"="Bedford-Stuyvesant", "LIC"="Long Island City", "DUMBO"="DUMBO". Map general areas to specific neighborhoods: "Lower Manhattan" -> ["Financial District", "Tribeca", "Battery Park City", "Chinatown", "Civic Center"]. Use exact neighborhood names. |
| facesQuietSide | boolean | Unit faces quiet side (courtyard, back) |
| hasBikeStorage | boolean | Building has bike storage |
| hasLiveInSuper | boolean | Building has live-in super |
| hasNotableView | boolean | Has notable/great view |
| hasStorageUnit | boolean | Storage unit available in building |
| hasExposedBrick | boolean | Has exposed brick |
| hasHighCeilings | boolean | Has high ceilings (9ft+) |
| hasOutdoorSpace | boolean | Private outdoor space required (balcony, patio, backyard, terrace, roof) |
| hasWalkInCloset | boolean | Has walk-in closet |
| isLeaseTakeover | boolean | Looking for lease takeover |
| hasGymInBuilding | boolean | Gym in building required |
| renovationStatus | string | Renovation status. "renovated"="newly_renovated" |
| buildingCondition | string | Building condition/maintenance level |
| exposureDirection | array | Unit exposure/facing direction. "south facing"="south" |
| poiCommuteFilters | array | ONLY for generic POI types like "a grocery store". For specific brands (Whole Foods, Equinox), use commuteFilter instead |
| utilitiesIncluded | boolean | Heat/utilities included in rent |
| hasLaundryInBuilding | boolean | Laundry in building required |
| rentControlledClaimed | boolean | The listing itself says the unit is rent-stabilized. Much rarer; use only when the user wants the listing to state it. |
| rentControlledVerified | boolean | Building is on the NYC (DHCR) list of buildings with rent-stabilized units. Use this when the user asks for rent-stabilized apartments. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"beds": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"const": "studio"
}
],
"description": "Number of bedrooms. \"1br\"=1, \"2bed\"=2, \"studio\"=\"studio\""
},
"baths": {
"type": "number",
"description": "Minimum number of bathrooms"
},
"hasAc": {
"type": "boolean",
"description": "AC/air conditioning required"
},
"noFee": {
"type": "boolean",
"description": "No broker fee required"
},
"sortBy": {
"enum": [
"price_asc",
"price_desc",
"newest",
"match_score"
],
"type": "string",
"description": "Sort order"
},
"borough": {
"enum": [
"Manhattan",
"Brooklyn",
"Queens",
"Bronx",
"Staten Island"
],
"type": "string",
"description": "Borough name if mentioned: Manhattan, Brooklyn, Queens, Bronx, Staten Island"
},
"maxSqft": {
"type": "number",
"description": "Maximum square footage. Extract from phrases like \"under X sqft\", \"less than X sq ft\", \"max X square feet\""
},
"minSqft": {
"type": "number",
"description": "Minimum square footage. Extract from phrases like \"at least X sqft\", \"X+ sqft\", \"over X sq ft\", \"minimum X square feet\""
},
"isPrewar": {
"type": "boolean",
"description": "Pre-war building"
},
"maxPrice": {
"type": "number",
"description": "Maximum monthly rent in dollars. Extract from phrases like \"under $X\", \"under X\", \"less than $X\", \"max $X\", \"$Xk\", \"Xk\" where k=1000. Examples: \"5k\"=5000, \"$4k\"=4000, \"under 3500\"=3500"
},
"minPrice": {
"type": "number",
"description": "Minimum monthly rent in dollars"
},
"moveInBy": {
"type": "number",
"description": "Latest acceptable move-in date as YYYYMMDD (for example, 20260701 for July 1, 2026). Only set this when the user gives a move-in deadline."
},
"spacious": {
"type": "boolean",
"description": "Apartment feels above-average in size for its bedroom count. Match spacious or very spacious listings."
},
"viewType": {
"type": "array",
"items": {
"type": "string"
},
"description": "View type. \"park views\"=\"park\", \"water view\"=\"water\", \"city views\"=\"city_skyline\""
},
"floorLevel": {
"enum": [
"ground",
"low",
"mid",
"high",
"penthouse"
],
"type": "string",
"description": "Floor level. \"high floor\"=\"high\", \"penthouse\"=\"penthouse\""
},
"hasBathtub": {
"type": "boolean",
"description": "Has bathtub (not just shower)"
},
"hasDoorman": {
"type": "boolean",
"description": "Doorman building required"
},
"hasParking": {
"type": "boolean",
"description": "Parking available"
},
"noiseLevel": {
"enum": [
"quiet",
"moderate",
"loud"
],
"type": "string",
"description": "Street noise level. \"quiet\"=\"quiet\", \"peaceful\"=\"quiet\""
},
"roomLayout": {
"enum": [
"railroad",
"flex",
"alcove",
"open"
],
"type": "string",
"description": "Room layout type. \"open layout\"=\"open\", \"flex\"=\"flex\", \"railroad\"=\"railroad\""
},
"catsAllowed": {
"type": "boolean",
"description": "Cats allowed"
},
"dogsAllowed": {
"type": "boolean",
"description": "Dogs allowed"
},
"hasElevator": {
"type": "boolean",
"description": "Elevator building required"
},
"isFurnished": {
"type": "boolean",
"description": "Furnished apartment required"
},
"kitchenType": {
"enum": [
"open",
"galley",
"eat_in"
],
"type": "string",
"description": "Kitchen type. \"open kitchen\"=\"open\", \"eat-in kitchen\"=\"eat_in\""
},
"moveInAfter": {
"type": "number",
"description": "Earliest acceptable move-in date as YYYYMMDD (for example, 20260801 for August 1, 2026). Only set this when the user wants listings available on or after a specific date — for example \"not until August\" or \"earliest move-in August 1\"."
},
"petsAllowed": {
"type": "boolean",
"description": "Pets allowed (any pets)"
},
"buildingType": {
"enum": [
"high_rise",
"mid_rise",
"walk_up",
"townhouse",
"brownstone"
],
"type": "string",
"description": "Building type. \"high rise\"=\"high_rise\", \"walkup\"=\"walk_up\""
},
"flooringType": {
"enum": [
"hardwood",
"engineered",
"carpet",
"tile",
"concrete"
],
"type": "string",
"description": "Flooring type. \"hardwood floors\"=\"hardwood\""
},
"hasFireplace": {
"type": "boolean",
"description": "Has fireplace (decorative or working)"
},
"naturalLight": {
"enum": [
"abundant",
"good",
"limited"
],
"type": "string",
"description": "Natural light level. \"sunny\"/\"bright\"=\"abundant\""
},
"commuteFilter": {
"type": "object",
"required": [
"destination",
"maxMinutes",
"mode"
],
"properties": {
"mode": {
"enum": [
"transit",
"walking",
"cycling",
"driving"
],
"type": "string",
"description": "Transportation mode (walking, transit, cycling, driving). Use \"transit\" when the query does not specify."
},
"maxMinutes": {
"type": "number",
"maximum": 90,
"minimum": 1,
"description": "Maximum commute time in minutes. Use 30 when the query does not specify."
},
"destination": {
"type": "string",
"description": "Specific address, place name, or landmark (e.g., \"Grand Central\", \"350 5th Ave\", \"my office at 123 Main St\")"
}
},
"description": "Filter by commute time to a SPECIFIC location"
},
"hasDishwasher": {
"type": "boolean",
"description": "Has dishwasher"
},
"hasHomeOffice": {
"type": "boolean",
"description": "Has dedicated home office space"
},
"hasRoofAccess": {
"type": "boolean",
"description": "Building has roof access/deck"
},
"inUnitLaundry": {
"type": "boolean",
"description": "In-unit washer/dryer required"
},
"neighborhoods": {
"type": "array",
"items": {
"type": "string"
},
"description": "Extract specific NYC neighborhood names. Map abbreviations to full names: \"LES\"=\"Lower East Side\", \"UES\"=\"Upper East Side\", \"UWS\"=\"Upper West Side\", \"FiDi\"=\"Financial District\", \"BedStuy\"=\"Bedford-Stuyvesant\", \"LIC\"=\"Long Island City\", \"DUMBO\"=\"DUMBO\". Map general areas to specific neighborhoods: \"Lower Manhattan\" -> [\"Financial District\", \"Tribeca\", \"Battery Park City\", \"Chinatown\", \"Civic Center\"]. Use exact neighborhood names."
},
"facesQuietSide": {
"type": "boolean",
"description": "Unit faces quiet side (courtyard, back)"
},
"hasBikeStorage": {
"type": "boolean",
"description": "Building has bike storage"
},
"hasLiveInSuper": {
"type": "boolean",
"description": "Building has live-in super"
},
"hasNotableView": {
"type": "boolean",
"description": "Has notable/great view"
},
"hasStorageUnit": {
"type": "boolean",
"description": "Storage unit available in building"
},
"hasExposedBrick": {
"type": "boolean",
"description": "Has exposed brick"
},
"hasHighCeilings": {
"type": "boolean",
"description": "Has high ceilings (9ft+)"
},
"hasOutdoorSpace": {
"type": "boolean",
"description": "Private outdoor space required (balcony, patio, backyard, terrace, roof)"
},
"hasWalkInCloset": {
"type": "boolean",
"description": "Has walk-in closet"
},
"isLeaseTakeover": {
"type": "boolean",
"description": "Looking for lease takeover"
},
"hasGymInBuilding": {
"type": "boolean",
"description": "Gym in building required"
},
"renovationStatus": {
"enum": [
"newly_renovated",
"updated",
"original"
],
"type": "string",
"description": "Renovation status. \"renovated\"=\"newly_renovated\""
},
"buildingCondition": {
"enum": [
"excellent",
"good",
"fair",
"poor"
],
"type": "string",
"description": "Building condition/maintenance level"
},
"exposureDirection": {
"type": "array",
"items": {
"type": "string"
},
"description": "Unit exposure/facing direction. \"south facing\"=\"south\""
},
"poiCommuteFilters": {
"type": "array",
"items": {
"type": "object",
"required": [
"poiType",
"maxMinutes",
"mode"
],
"properties": {
"mode": {
"enum": [
"walking",
"cycling"
],
"type": "string",
"description": "Mode - walking or cycling. Use \"walking\" when the query does not specify."
},
"poiType": {
"enum": [
"grocery",
"gym",
"park",
"subway",
"cafe",
"restaurant",
"pharmacy",
"laundry"
],
"type": "string",
"description": "Generic POI category. ONLY for generic requests like \"a grocery store\", \"a gym\", \"a subway\". NEVER use this field when the user names a specific brand (Trader Joe's, Whole Foods, Equinox, Starbucks, CVS, etc.) — brands must go in commuteFilter instead."
},
"maxMinutes": {
"type": "number",
"maximum": 30,
"minimum": 1,
"description": "Maximum time in minutes. EXTRACT exact time from query (e.g., \"5 min\" = 5, \"10 min\" = 10). If not specified, default to 10."
}
}
},
"description": "ONLY for generic POI types like \"a grocery store\". For specific brands (Whole Foods, Equinox), use commuteFilter instead"
},
"utilitiesIncluded": {
"type": "boolean",
"description": "Heat/utilities included in rent"
},
"hasLaundryInBuilding": {
"type": "boolean",
"description": "Laundry in building required"
},
"rentControlledClaimed": {
"type": "boolean",
"description": "The listing itself says the unit is rent-stabilized. Much rarer; use only when the user wants the listing to state it."
},
"rentControlledVerified": {
"type": "boolean",
"description": "Building is on the NYC (DHCR) list of buildings with rent-stabilized units. Use this when the user asks for rent-stabilized apartments."
}
}
}Searches active NYC rental listings from StreetEasy, LeaseBreak, NYBits, Reddit, and building websites, plus lease takeovers posted on Buzzedin. Supports price, bedrooms, neighborhoods, boroughs, move-in dates, commute time to an address, distance to places (subway, grocery, a named store), amenities, rent-stabilized buildings, lease takeovers, and apartment qualities like natural light or quiet. Returns up to 8 listings with a deal-score estimate, how each rent compares to its neighborhood median, selected structured features such as laundry, outdoor space, pets and light, plus a public detail link for each apartment. Enrichment and deal scores are estimates; confirm details on the listing. Fetch the next page to see more results.
| Argument | Type | Description |
|---|---|---|
| beds | any | Number of bedrooms. "1br"=1, "2bed"=2, "studio"="studio" |
| page | integer | Results page, starting at 1. Use only when the user asks for more results. |
| baths | number | Minimum number of bathrooms |
| hasAc | boolean | AC/air conditioning required |
| noFee | boolean | No broker fee required |
| sortBy | string | Sort order |
| borough | string | Borough name if mentioned: Manhattan, Brooklyn, Queens, Bronx, Staten Island |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.
| maxSqft | number | Maximum square footage. Extract from phrases like "under X sqft", "less than X sq ft", "max X square feet" |
| minSqft | number | Minimum square footage. Extract from phrases like "at least X sqft", "X+ sqft", "over X sq ft", "minimum X square feet" |
| isPrewar | boolean | Pre-war building |
| maxPrice | number | Maximum monthly rent in dollars. Extract from phrases like "under $X", "under X", "less than $X", "max $X", "$Xk", "Xk" where k=1000. Examples: "5k"=5000, "$4k"=4000, "under 3500"=3500 |
| minPrice | number | Minimum monthly rent in dollars |
| moveInBy | number | Latest acceptable move-in date as YYYYMMDD (for example, 20260701 for July 1, 2026). Only set this when the user gives a move-in deadline. |
| spacious | boolean | Apartment feels above-average in size for its bedroom count. Match spacious or very spacious listings. |
| viewType | array | View type. "park views"="park", "water view"="water", "city views"="city_skyline" |
| floorLevel | string | Floor level. "high floor"="high", "penthouse"="penthouse" |
| hasBathtub | boolean | Has bathtub (not just shower) |
| hasDoorman | boolean | Doorman building required |
| hasParking | boolean | Parking available |
| noiseLevel | string | Street noise level. "quiet"="quiet", "peaceful"="quiet" |
| roomLayout | string | Room layout type. "open layout"="open", "flex"="flex", "railroad"="railroad" |
| catsAllowed | boolean | Cats allowed |
| dogsAllowed | boolean | Dogs allowed |
| hasElevator | boolean | Elevator building required |
| isFurnished | boolean | Furnished apartment required |
| kitchenType | string | Kitchen type. "open kitchen"="open", "eat-in kitchen"="eat_in" |
| moveInAfter | number | Earliest acceptable move-in date as YYYYMMDD (for example, 20260801 for August 1, 2026). Only set this when the user wants listings available on or after a specific date — for example "not until August" or "earliest move-in August 1". |
| petsAllowed | boolean | Pets allowed (any pets) |
| buildingType | string | Building type. "high rise"="high_rise", "walkup"="walk_up" |
| flooringType | string | Flooring type. "hardwood floors"="hardwood" |
| hasFireplace | boolean | Has fireplace (decorative or working) |
| naturalLight | string | Natural light level. "sunny"/"bright"="abundant" |
| commuteFilter | object | Filter by commute time to a SPECIFIC location |
| hasDishwasher | boolean | Has dishwasher |
| hasHomeOffice | boolean | Has dedicated home office space |
| hasRoofAccess | boolean | Building has roof access/deck |
| inUnitLaundry | boolean | In-unit washer/dryer required |
| neighborhoods | array | Extract specific NYC neighborhood names. Map abbreviations to full names: "LES"="Lower East Side", "UES"="Upper East Side", "UWS"="Upper West Side", "FiDi"="Financial District", "BedStuy"="Bedford-Stuyvesant", "LIC"="Long Island City", "DUMBO"="DUMBO". Map general areas to specific neighborhoods: "Lower Manhattan" -> ["Financial District", "Tribeca", "Battery Park City", "Chinatown", "Civic Center"]. Use exact neighborhood names. |
| facesQuietSide | boolean | Unit faces quiet side (courtyard, back) |
| hasBikeStorage | boolean | Building has bike storage |
| hasLiveInSuper | boolean | Building has live-in super |
| hasNotableView | boolean | Has notable/great view |
| hasStorageUnit | boolean | Storage unit available in building |
| hasExposedBrick | boolean | Has exposed brick |
| hasHighCeilings | boolean | Has high ceilings (9ft+) |
| hasOutdoorSpace | boolean | Private outdoor space required (balcony, patio, backyard, terrace, roof) |
| hasWalkInCloset | boolean | Has walk-in closet |
| isLeaseTakeover | boolean | Looking for lease takeover |
| hasGymInBuilding | boolean | Gym in building required |
| renovationStatus | string | Renovation status. "renovated"="newly_renovated" |
| buildingCondition | string | Building condition/maintenance level |
| exposureDirection | array | Unit exposure/facing direction. "south facing"="south" |
| poiCommuteFilters | array | ONLY for generic POI types like "a grocery store". For specific brands (Whole Foods, Equinox), use commuteFilter instead |
| utilitiesIncluded | boolean | Heat/utilities included in rent |
| hasLaundryInBuilding | boolean | Laundry in building required |
| rentControlledClaimed | boolean | The listing itself says the unit is rent-stabilized. Much rarer; use only when the user wants the listing to state it. |
| rentControlledVerified | boolean | Building is on the NYC (DHCR) list of buildings with rent-stabilized units. Use this when the user asks for rent-stabilized apartments. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"beds": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"const": "studio"
}
],
"description": "Number of bedrooms. \"1br\"=1, \"2bed\"=2, \"studio\"=\"studio\""
},
"page": {
"type": "integer",
"maximum": 5,
"minimum": 1,
"description": "Results page, starting at 1. Use only when the user asks for more results."
},
"baths": {
"type": "number",
"description": "Minimum number of bathrooms"
},
"hasAc": {
"type": "boolean",
"description": "AC/air conditioning required"
},
"noFee": {
"type": "boolean",
"description": "No broker fee required"
},
"sortBy": {
"enum": [
"price_asc",
"price_desc",
"newest",
"match_score"
],
"type": "string",
"description": "Sort order"
},
"borough": {
"enum": [
"Manhattan",
"Brooklyn",
"Queens",
"Bronx",
"Staten Island"
],
"type": "string",
"description": "Borough name if mentioned: Manhattan, Brooklyn, Queens, Bronx, Staten Island"
},
"maxSqft": {
"type": "number",
"description": "Maximum square footage. Extract from phrases like \"under X sqft\", \"less than X sq ft\", \"max X square feet\""
},
"minSqft": {
"type": "number",
"description": "Minimum square footage. Extract from phrases like \"at least X sqft\", \"X+ sqft\", \"over X sq ft\", \"minimum X square feet\""
},
"isPrewar": {
"type": "boolean",
"description": "Pre-war building"
},
"maxPrice": {
"type": "number",
"description": "Maximum monthly rent in dollars. Extract from phrases like \"under $X\", \"under X\", \"less than $X\", \"max $X\", \"$Xk\", \"Xk\" where k=1000. Examples: \"5k\"=5000, \"$4k\"=4000, \"under 3500\"=3500"
},
"minPrice": {
"type": "number",
"description": "Minimum monthly rent in dollars"
},
"moveInBy": {
"type": "number",
"description": "Latest acceptable move-in date as YYYYMMDD (for example, 20260701 for July 1, 2026). Only set this when the user gives a move-in deadline."
},
"spacious": {
"type": "boolean",
"description": "Apartment feels above-average in size for its bedroom count. Match spacious or very spacious listings."
},
"viewType": {
"type": "array",
"items": {
"type": "string"
},
"description": "View type. \"park views\"=\"park\", \"water view\"=\"water\", \"city views\"=\"city_skyline\""
},
"floorLevel": {
"enum": [
"ground",
"low",
"mid",
"high",
"penthouse"
],
"type": "string",
"description": "Floor level. \"high floor\"=\"high\", \"penthouse\"=\"penthouse\""
},
"hasBathtub": {
"type": "boolean",
"description": "Has bathtub (not just shower)"
},
"hasDoorman": {
"type": "boolean",
"description": "Doorman building required"
},
"hasParking": {
"type": "boolean",
"description": "Parking available"
},
"noiseLevel": {
"enum": [
"quiet",
"moderate",
"loud"
],
"type": "string",
"description": "Street noise level. \"quiet\"=\"quiet\", \"peaceful\"=\"quiet\""
},
"roomLayout": {
"enum": [
"railroad",
"flex",
"alcove",
"open"
],
"type": "string",
"description": "Room layout type. \"open layout\"=\"open\", \"flex\"=\"flex\", \"railroad\"=\"railroad\""
},
"catsAllowed": {
"type": "boolean",
"description": "Cats allowed"
},
"dogsAllowed": {
"type": "boolean",
"description": "Dogs allowed"
},
"hasElevator": {
"type": "boolean",
"description": "Elevator building required"
},
"isFurnished": {
"type": "boolean",
"description": "Furnished apartment required"
},
"kitchenType": {
"enum": [
"open",
"galley",
"eat_in"
],
"type": "string",
"description": "Kitchen type. \"open kitchen\"=\"open\", \"eat-in kitchen\"=\"eat_in\""
},
"moveInAfter": {
"type": "number",
"description": "Earliest acceptable move-in date as YYYYMMDD (for example, 20260801 for August 1, 2026). Only set this when the user wants listings available on or after a specific date — for example \"not until August\" or \"earliest move-in August 1\"."
},
"petsAllowed": {
"type": "boolean",
"description": "Pets allowed (any pets)"
},
"buildingType": {
"enum": [
"high_rise",
"mid_rise",
"walk_up",
"townhouse",
"brownstone"
],
"type": "string",
"description": "Building type. \"high rise\"=\"high_rise\", \"walkup\"=\"walk_up\""
},
"flooringType": {
"enum": [
"hardwood",
"engineered",
"carpet",
"tile",
"concrete"
],
"type": "string",
"description": "Flooring type. \"hardwood floors\"=\"hardwood\""
},
"hasFireplace": {
"type": "boolean",
"description": "Has fireplace (decorative or working)"
},
"naturalLight": {
"enum": [
"abundant",
"good",
"limited"
],
"type": "string",
"description": "Natural light level. \"sunny\"/\"bright\"=\"abundant\""
},
"commuteFilter": {
"type": "object",
"required": [
"destination",
"maxMinutes",
"mode"
],
"properties": {
"mode": {
"enum": [
"transit",
"walking",
"cycling",
"driving"
],
"type": "string",
"description": "Transportation mode (walking, transit, cycling, driving). Use \"transit\" when the query does not specify."
},
"maxMinutes": {
"type": "number",
"maximum": 90,
"minimum": 1,
"description": "Maximum commute time in minutes. Use 30 when the query does not specify."
},
"destination": {
"type": "string",
"description": "Specific address, place name, or landmark (e.g., \"Grand Central\", \"350 5th Ave\", \"my office at 123 Main St\")"
}
},
"description": "Filter by commute time to a SPECIFIC location"
},
"hasDishwasher": {
"type": "boolean",
"description": "Has dishwasher"
},
"hasHomeOffice": {
"type": "boolean",
"description": "Has dedicated home office space"
},
"hasRoofAccess": {
"type": "boolean",
"description": "Building has roof access/deck"
},
"inUnitLaundry": {
"type": "boolean",
"description": "In-unit washer/dryer required"
},
"neighborhoods": {
"type": "array",
"items": {
"type": "string"
},
"description": "Extract specific NYC neighborhood names. Map abbreviations to full names: \"LES\"=\"Lower East Side\", \"UES\"=\"Upper East Side\", \"UWS\"=\"Upper West Side\", \"FiDi\"=\"Financial District\", \"BedStuy\"=\"Bedford-Stuyvesant\", \"LIC\"=\"Long Island City\", \"DUMBO\"=\"DUMBO\". Map general areas to specific neighborhoods: \"Lower Manhattan\" -> [\"Financial District\", \"Tribeca\", \"Battery Park City\", \"Chinatown\", \"Civic Center\"]. Use exact neighborhood names."
},
"facesQuietSide": {
"type": "boolean",
"description": "Unit faces quiet side (courtyard, back)"
},
"hasBikeStorage": {
"type": "boolean",
"description": "Building has bike storage"
},
"hasLiveInSuper": {
"type": "boolean",
"description": "Building has live-in super"
},
"hasNotableView": {
"type": "boolean",
"description": "Has notable/great view"
},
"hasStorageUnit": {
"type": "boolean",
"description": "Storage unit available in building"
},
"hasExposedBrick": {
"type": "boolean",
"description": "Has exposed brick"
},
"hasHighCeilings": {
"type": "boolean",
"description": "Has high ceilings (9ft+)"
},
"hasOutdoorSpace": {
"type": "boolean",
"description": "Private outdoor space required (balcony, patio, backyard, terrace, roof)"
},
"hasWalkInCloset": {
"type": "boolean",
"description": "Has walk-in closet"
},
"isLeaseTakeover": {
"type": "boolean",
"description": "Looking for lease takeover"
},
"hasGymInBuilding": {
"type": "boolean",
"description": "Gym in building required"
},
"renovationStatus": {
"enum": [
"newly_renovated",
"updated",
"original"
],
"type": "string",
"description": "Renovation status. \"renovated\"=\"newly_renovated\""
},
"buildingCondition": {
"enum": [
"excellent",
"good",
"fair",
"poor"
],
"type": "string",
"description": "Building condition/maintenance level"
},
"exposureDirection": {
"type": "array",
"items": {
"type": "string"
},
"description": "Unit exposure/facing direction. \"south facing\"=\"south\""
},
"poiCommuteFilters": {
"type": "array",
"items": {
"type": "object",
"required": [
"poiType",
"maxMinutes",
"mode"
],
"properties": {
"mode": {
"enum": [
"walking",
"cycling"
],
"type": "string",
"description": "Mode - walking or cycling. Use \"walking\" when the query does not specify."
},
"poiType": {
"enum": [
"grocery",
"gym",
"park",
"subway",
"cafe",
"restaurant",
"pharmacy",
"laundry"
],
"type": "string",
"description": "Generic POI category. ONLY for generic requests like \"a grocery store\", \"a gym\", \"a subway\". NEVER use this field when the user names a specific brand (Trader Joe's, Whole Foods, Equinox, Starbucks, CVS, etc.) — brands must go in commuteFilter instead."
},
"maxMinutes": {
"type": "number",
"maximum": 30,
"minimum": 1,
"description": "Maximum time in minutes. EXTRACT exact time from query (e.g., \"5 min\" = 5, \"10 min\" = 10). If not specified, default to 10."
}
}
},
"description": "ONLY for generic POI types like \"a grocery store\". For specific brands (Whole Foods, Equinox), use commuteFilter instead"
},
"utilitiesIncluded": {
"type": "boolean",
"description": "Heat/utilities included in rent"
},
"hasLaundryInBuilding": {
"type": "boolean",
"description": "Laundry in building required"
},
"rentControlledClaimed": {
"type": "boolean",
"description": "The listing itself says the unit is rent-stabilized. Much rarer; use only when the user wants the listing to state it."
},
"rentControlledVerified": {
"type": "boolean",
"description": "Building is on the NYC (DHCR) list of buildings with rent-stabilized units. Use this when the user asks for rent-stabilized apartments."
}
}
}