Get Multifamily Building
curl --request GET \
--url https://scrapebadger.com/v1/zillow/building \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/zillow/building"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/zillow/building', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/zillow/building",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/zillow/building"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/zillow/building")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/zillow/building")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"building": {
"url": "<string>",
"lot_id": "<string>",
"zpid": "<string>",
"name": "<string>",
"building_type": "<string>",
"home_types": [
"<string>"
],
"provider_listing_id": "<string>",
"street_address": "<string>",
"full_address": "<string>",
"city": "<string>",
"state": "<string>",
"zipcode": "<string>",
"county": "<string>",
"country": "<string>",
"neighborhood": "<string>",
"latitude": 123,
"longitude": 123,
"time_zone": "<string>",
"phone": "<string>",
"contact_name": "<string>",
"rental_applications_accepted": "<string>",
"currency": "<string>",
"rent_min": 123,
"rent_max": 123,
"base_rent_min": 123,
"base_rent_max": 123,
"list_price_includes_required_fees": true,
"units_available": 123,
"unit_count": 123,
"description": "<string>",
"building_details": [
"<string>"
],
"amenities": [
"<string>"
],
"unit_features": [
"<string>"
],
"policies": [
"<string>"
],
"special_features": [
"<string>"
],
"special_offers": [
"<string>"
],
"office_hours": [
"<string>"
],
"allowed_pets": [
"<string>"
],
"walk_score": 123,
"transit_score": 123,
"bike_score": 123,
"is_waitlisted": true,
"is_low_income": true,
"is_senior_housing": true,
"is_student_housing": true,
"floor_plans": [
{
"name": "<string>",
"beds": 123,
"baths": 123,
"sqft": 123,
"price_min": 123,
"price_max": 123,
"base_rent_min": 123,
"base_rent_max": 123,
"required_monthly_fee_min": 123,
"required_monthly_fee_max": 123,
"available_from_utc": 123,
"available_from_at": "<string>",
"lease_term": "<string>",
"description": "<string>",
"photos": [
"<string>"
],
"units": [
{
"unit_number": "<string>",
"zpid": "<string>",
"beds": 123,
"baths": 123,
"sqft": 123,
"price": 123,
"base_rent": 123,
"required_monthly_fee_min": 123,
"required_monthly_fee_max": 123,
"list_price_includes_required_fees": true,
"available_from_utc": 123,
"available_from_at": "<string>",
"allowed_pets": [
"<string>"
]
}
],
"units_available": 123
}
],
"units": [
{
"unit_number": "<string>",
"zpid": "<string>",
"beds": 123,
"baths": 123,
"sqft": 123,
"price": 123,
"base_rent": 123,
"required_monthly_fee_min": 123,
"required_monthly_fee_max": 123,
"list_price_includes_required_fees": true,
"available_from_utc": 123,
"available_from_at": "<string>",
"allowed_pets": [
"<string>"
]
}
],
"schools": [
{
"name": "<string>",
"rating": 123,
"grades": "<string>",
"level": "<string>",
"type": "<string>",
"distance": 123,
"link": "<string>",
"student_count": 123,
"assigned": true
}
],
"photos": [
{
"url": "<string>",
"caption": "<string>",
"subject_type": "<string>",
"sources": [
{}
]
}
],
"scraped_utc": 123,
"scraped_at": "<string>"
}
}Properties
Get Multifamily Building
A Zillow apartment community — floor plans, per-unit rents, availability dates, amenities, schools and walk/transit scores.
GET
/
v1
/
zillow
/
building
Get Multifamily Building
curl --request GET \
--url https://scrapebadger.com/v1/zillow/building \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/zillow/building"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/zillow/building', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/zillow/building",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/zillow/building"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/zillow/building")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/zillow/building")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"building": {
"url": "<string>",
"lot_id": "<string>",
"zpid": "<string>",
"name": "<string>",
"building_type": "<string>",
"home_types": [
"<string>"
],
"provider_listing_id": "<string>",
"street_address": "<string>",
"full_address": "<string>",
"city": "<string>",
"state": "<string>",
"zipcode": "<string>",
"county": "<string>",
"country": "<string>",
"neighborhood": "<string>",
"latitude": 123,
"longitude": 123,
"time_zone": "<string>",
"phone": "<string>",
"contact_name": "<string>",
"rental_applications_accepted": "<string>",
"currency": "<string>",
"rent_min": 123,
"rent_max": 123,
"base_rent_min": 123,
"base_rent_max": 123,
"list_price_includes_required_fees": true,
"units_available": 123,
"unit_count": 123,
"description": "<string>",
"building_details": [
"<string>"
],
"amenities": [
"<string>"
],
"unit_features": [
"<string>"
],
"policies": [
"<string>"
],
"special_features": [
"<string>"
],
"special_offers": [
"<string>"
],
"office_hours": [
"<string>"
],
"allowed_pets": [
"<string>"
],
"walk_score": 123,
"transit_score": 123,
"bike_score": 123,
"is_waitlisted": true,
"is_low_income": true,
"is_senior_housing": true,
"is_student_housing": true,
"floor_plans": [
{
"name": "<string>",
"beds": 123,
"baths": 123,
"sqft": 123,
"price_min": 123,
"price_max": 123,
"base_rent_min": 123,
"base_rent_max": 123,
"required_monthly_fee_min": 123,
"required_monthly_fee_max": 123,
"available_from_utc": 123,
"available_from_at": "<string>",
"lease_term": "<string>",
"description": "<string>",
"photos": [
"<string>"
],
"units": [
{
"unit_number": "<string>",
"zpid": "<string>",
"beds": 123,
"baths": 123,
"sqft": 123,
"price": 123,
"base_rent": 123,
"required_monthly_fee_min": 123,
"required_monthly_fee_max": 123,
"list_price_includes_required_fees": true,
"available_from_utc": 123,
"available_from_at": "<string>",
"allowed_pets": [
"<string>"
]
}
],
"units_available": 123
}
],
"units": [
{
"unit_number": "<string>",
"zpid": "<string>",
"beds": 123,
"baths": 123,
"sqft": 123,
"price": 123,
"base_rent": 123,
"required_monthly_fee_min": 123,
"required_monthly_fee_max": 123,
"list_price_includes_required_fees": true,
"available_from_utc": 123,
"available_from_at": "<string>",
"allowed_pets": [
"<string>"
]
}
],
"schools": [
{
"name": "<string>",
"rating": 123,
"grades": "<string>",
"level": "<string>",
"type": "<string>",
"distance": 123,
"link": "<string>",
"student_count": 123,
"assigned": true
}
],
"photos": [
{
"url": "<string>",
"caption": "<string>",
"subject_type": "<string>",
"sources": [
{}
]
}
],
"scraped_utc": 123,
"scraped_at": "<string>"
}
}Zillow serves multi-unit rentals as buildings, not homes: they live on
/apartments/... and /b/... URLs and embed a different data blob, so Get Property Detail cannot read them (it answers 400 building_url if you pass one).
Pass the detail_url of any search result whose home_type is BUILDING — GET /v1/zillow/search?location=Kansas+City,+MO&status=for_rent returns them.
Query Parameters
string
required
Full Zillow building URL, e.g.
https://www.zillow.com/apartments/kansas-city-mo/brookside-51/CkBJqt/. A /homedetails/... URL is rejected with 400 not_a_building_url.Response
The response wraps a singleBuilding object under a building key.
object
Show Building object
Show Building object
string
Canonical building URL (nullable).
string
Zillow’s building id (nullable).
string
Zillow id of the building’s primary unit (nullable).
string
Community name, e.g.
Brookside 51 (nullable).string
FOR_RENT (nullable).string[]
e.g.
["apartment"].string
Feed provider’s listing id — joins to a search card’s
provider_listing_id (nullable).string
Street address (nullable).
string
Full one-line address (nullable).
string
City (nullable).
string
State code (nullable).
string
ZIP code (nullable).
string
County (nullable).
string
Country (nullable).
string
Neighborhood (nullable).
number
Latitude (nullable).
number
Longitude (nullable).
string
IANA time zone (nullable).
string
Leasing-office phone (nullable).
string
Property manager, e.g.
Greystar (nullable).string
Whether Zillow accepts applications for this building (nullable).
string
ISO 4217 currency code (nullable).
integer
Cheapest advertised total monthly price across the live inventory (nullable).
integer
Most expensive advertised total monthly price (nullable).
integer
Cheapest base rent — excludes mandatory monthly fees (nullable).
integer
Most expensive base rent (nullable).
boolean
Whether the headline price already includes the required monthly fees (nullable).
integer
Units Zillow reports as available (nullable).
integer
Units in the building’s feed (nullable).
string
Marketing description (nullable).
string[]
Verbatim summary facts, e.g.
["170 units", "built in 2018"].string[]
Building amenities.
string[]
In-unit features.
string[]
Parking and other policies.
string[]
Highlighted features.
string[]
Current move-in concessions.
string[]
Leasing-office hours.
string[]
Pet types allowed.
integer
Walk Score (nullable).
integer
Transit Score (nullable).
integer
Bike Score (nullable).
boolean
Building is waitlisted (nullable).
boolean
Income-restricted housing (nullable).
boolean
Senior housing (nullable).
boolean
Student housing (nullable).
FloorPlan[]
Floor-plan models:
name, beds, baths, sqft, price_min/price_max, base_rent_min/base_rent_max, required_monthly_fee_min/max, available_from_at, lease_term, description, photos[], units[], units_available.Unit[]
Every unit across every floor plan, flattened:
unit_number, zpid, beds, baths, sqft, price, base_rent, required_monthly_fee_min/max, list_price_includes_required_fees, available_from_at, allowed_pets[].School[]
name, rating, grades, level, type, distance.Photo[]
url, caption, responsive sources[].string
Scrape time, ISO-8601 (nullable).
price is the total monthly leasing price Zillow advertises; base_rent excludes the mandatory monthly fees, which are carried in required_monthly_fee_min/max. For rent comps, compare base_rent across buildings — the fee bundle differs by operator.Some buildings — typically landlord-managed ones — publish floor-plan pricing without enumerating individual units. There
units is empty and rent_min/rent_max come from the floor plans.Example
Response
{
"building": {
"url": "https://www.zillow.com/apartments/kansas-city-mo/brookside-51/CkBJqt/",
"lot_id": "2750786886",
"zpid": "2062673170",
"name": "Brookside 51",
"building_type": "FOR_RENT",
"home_types": ["apartment"],
"street_address": "5100 Oak St",
"full_address": "5100 Oak St, Kansas City, MO 64112",
"city": "Kansas City",
"state": "MO",
"zipcode": "64112",
"county": "Jackson County",
"neighborhood": "South Plaza",
"latitude": 39.03416,
"longitude": -94.58333,
"phone": "(816) 608-6275",
"contact_name": "Greystar",
"currency": "USD",
"rent_min": 2015,
"rent_max": 2580,
"base_rent_min": 1734,
"base_rent_max": 2299,
"list_price_includes_required_fees": true,
"units_available": 5,
"unit_count": 5,
"building_details": ["170 units", "built in 2018"],
"floor_plans": [
{
"name": "B2 (1BR)",
"beds": 1,
"baths": 1,
"sqft": 795,
"price_min": 2015,
"price_max": 2045,
"base_rent_min": 1734,
"base_rent_max": 1764,
"available_from_at": "2026-09-26T07:00:00Z",
"lease_term": "Available months 6,7,8,9,10,11,12,13,14,15",
"units_available": 2,
"units": [
{
"unit_number": "Unit 243",
"zpid": "2062673170",
"beds": 1,
"baths": 1,
"sqft": 795,
"price": 2015,
"base_rent": 1734,
"required_monthly_fee_min": 281,
"required_monthly_fee_max": 281,
"list_price_includes_required_fees": true,
"available_from_at": "2026-10-28T07:00:00Z",
"allowed_pets": ["Dogs", "Cats"]
}
]
}
],
"amenities": ["Club House", "Fitness Center", "Lounge: TV Lounge", "In Unit: In-Home Washers & Dryers"],
"unit_features": ["Dryer", "Washer", "High End Stainless Steel Appliances"],
"policies": ["Covered Parking", "Surface Lot"],
"special_offers": ["Preferred Employer Discount: Receive $340 off move-in costs."],
"office_hours": ["Mon - Fri: 9:00AM - 6:00PM", "Sat: 10:00AM - 2:00PM", "Sun: Closed"],
"allowed_pets": ["Cats", "Large dogs", "Small dogs"],
"walk_score": 85,
"transit_score": 56,
"bike_score": 42,
"schools": [
{ "name": "Hale Cook Elementary", "rating": 8, "grades": "PK-6", "type": "PUBLIC", "distance": 2.8 }
],
"photos": [
{ "url": "https://photos.zillowstatic.com/fp/84cf-cc_ft_1536.webp", "caption": "Community photo" }
],
"scraped_at": "2026-09-09T08:12:44Z"
}
}
Each building request costs 5 credits. Failed requests are not charged.
Authorizations
Query Parameters
Full Zillow building URL, e.g. https://www.zillow.com/apartments/kansas-city-mo/brookside-51/CkBJqt/.
Response
200 - application/json
Building detail
A Zillow multifamily building (an apartment community, not a single home).
Show child attributes
Show child attributes

