{"zip":"21231","city":"Baltimore","state":"MD","county":"Baltimore City","countySlug":"baltimore-city-md","metro":"Baltimore-Columbia-Towson, MD","metroSlug":"baltimore-md","citySlug":"baltimore-md","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":2327,"rentYoy":0.0246,"bedroomEstimates":[1707,1893,2327,2955,3272],"hudFmr":[1362,1511,1857,2358,2611],"ladderSource":"county","population":14969,"populationMoe":1076,"medianIncome":85254,"medianIncomeMoe":8370,"medianGrossRent":1796,"medianGrossRentMoe":60,"housingUnits":9514,"occupiedUnits":8136,"vacantUnits":1378,"renterOccupied":5353,"rentBurdenTotal":5353,"rentBurden30Plus":2189,"vacantForRent":447,"vacantForSale":105,"vacantSeasonal":71,"structureTotal":9514,"singleFamilyUnits":4868,"largeMultifamilyUnits":2675,"vacancyRate":0.14483918435989068,"renterShare":0.6579400196656834,"rentBurdenShare":0.40892957220250326,"requiredIncome":93080,"askingRentToIncome":0.3275388838060384,"askingVsAcsRent":1.2956570155902005,"askingVsHud2br":1.253096392030156,"cityRent":1798.88720043573,"countyRent":1801,"metroRent":1936,"cityGrossRent":1331,"countyGrossRent":1331,"countyListings":null,"countyListingDom":null,"countyPriceReducedShare":null,"countyListingPeriod":"2026-06","metroMonthsSupply":2.6,"metroMedianDom":28,"metroPriceDrops":0.3085,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.0526465744737228,"apartmentTimeOnMarket":24.3,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":89,"zipSalePrice":354920,"zipSalePriceYoy":0.0439,"zipMedianDom":29,"zipActiveListings":195,"zipActiveListingsYoy":0.0408,"zipInventory":95,"zipInventoryYoy":0.2449,"zipPendingSales":86,"zipMonthsSupply":3.2,"zipSaleToList":0.9956,"zipSoldAboveList":0.4027,"zipOffMarketTwoWeeks":0.5459,"generatedAt":"2026-08-15 09:36:53.808944+00","summaryHtml":"<p>The ZIP’s central tension is not simply a rising asking-rent reading; it is the gap between that reading and the income screen. At the June endpoint, Zillow’s Observed Rent Index (ZORI) is $2,327 per month, a 2.46% increase from the same month a year earlier. ZORI is a typical observed asking-rent index blended across rental types, so it is neither a lease quote nor a count of currently available apartments. Annualizing the index produces $93,080 of income under a 30% rent-to-income screen, versus the matched ACS median household income of $85,254. This screen is arithmetic, not advice and not an applicant qualification rule. Its value is to frame the pressure created when a current asking-rent index is compared with a survey income median.</p><p>The ACS side is a distinct universe. In the matched Census ZCTA five-year survey, median gross rent is $1,796; it represents occupied renter homes and includes selected utilities. The current Zillow index is 29.6% higher, which is a source-scope difference rather than a contradiction or a measure of a particular listing. ACS records 5,353 renter-occupied homes, of which 2,189 report housing costs at or above the stated income threshold, a 40.9% burden share. This is population-level survey evidence with sampling uncertainty, not proof that any tenant is burdened or that any vacant unit is affordable. Gross rent and ZORI should therefore be read alongside one another, not fused into one rent estimate.</p><p>The bedroom sequence answers a different, explicitly modelled question. Scaling ZIP ZORI through the local HUD ladder produces modelled monthly estimates of $1,707 for a studio, $1,893 for one bedroom, $2,327 for two bedrooms, $2,955 for three bedrooms, and $3,272 for four bedrooms. These are not measured bedroom rents; the two-bedroom figure merely equals the ZIP-wide index because the ladder is scaled to it. The supplied local HUD ladder is identified as ZIP SAFMR or county-derived, and its two-bedroom standard is $1,857, making the index-aligned model estimate 25.3% higher. HUD FMR/SAFMR is an administrative, bedroom-specific standard, not asking rent, and it cannot establish a unit’s market rent, lease terms, or utility treatment.</p><p>Stock data add useful scale without identifying a unit. The ACS ZCTA inventory totals 9,514 housing units, carries a 14.5% vacancy rate, and includes 447 units classified vacant for rent. Renters occupy 65.8% of occupied homes. The recorded structure mix includes 4,868 single-family units and 2,675 units in large multifamily structures, but that mix does not establish condition, availability, concessions, or the rent of any individual property. For wider rent context only, Baltimore city-scope rent is about $1,799, Baltimore City county-scope rent is $1,801, and Baltimore-Columbia-Towson metro-scope rent is $1,936. The city, county, and metro values are named contextual benchmarks, not ZIP substitutes.</p><p>History places the current gain in a slower, still-positive path. Exact same-month annualized ZORI changes were 2.46% across one year, 3.20% across three years, and 3.95% across five years, with complete coverage of 136 monthly observations and 135 consecutive returns. The latest direction thus continues rather than reverses the longer record, but it does not match its earlier pace. This is backward-looking measurement, not a forecast or investment recommendation. Monthly ZORI returns translate to 3.26% annualized variability, enough movement to reduce confidence in any one current index snapshot as a precise near-term condition. Independently, the largest observed peak-to-trough decline was 5.69%, confirming that the historical series had meaningful retracements. Transparent national discovery ranks, lower being higher among history-eligible ZIPs, are 1,086 for momentum, 1,993 for stability, and 1,548 for the balanced score.</p><p>Redfin’s direct rolling-three-month ZIP resale observation is for the for-sale market, not rental transactions. It reports a $354,920 median sold price, a 4.39% year-over-year price change, 89 homes sold, and a median 29 days on market. Inventory is 95 homes with 3.2 months of supply. Sale-to-list signals include a 99.56% average sale-to-list ratio, 40.27% of sales above list, and 54.59% going off market within two weeks. Annualized ZIP ZORI divided by that median sold price is a 7.87% cross-source screening ratio only; it is not a cap rate, net return, expected return, or property yield. The resale price gain exceeded the recent rent-index change even as this resale snapshot showed supply and mixed sale-to-list signals, challenging any simplistic inference that a high rent index means a uniformly fast or tight market.</p><p>Taken together, the rent and resale data create a decision tension rather than a single verdict. The current asking-rent index sits well above the occupied-home gross-rent survey and calls for more income than the ZIP’s survey median under the mechanical screen. At the same time, the rent history is positive but decelerating, while resale evidence shows completed transactions and pricing signals from a separate market. None of these relationships proves causation between sale prices, rents, vacancy, or household burden. The vacancy and burden measures describe groups and stock at the ZCTA level; they cannot show that a particular home will lease, remain vacant, command the modelled rent, or have a resale outcome. The most defensible reading preserves each denominator, timing, and source purpose.</p><p>Geographic matching is also a limit. For 21231, the five-digit label is both a Zillow ZIP market identifier and a Census ZCTA match; a ZCTA is a statistical area and is not identical to a USPS delivery ZIP. The evidence also has different endpoints and different unit definitions, so it cannot serve as current listing inventory, an appraisal, or a property operating statement. Property-level resolution requires checks of the exact advertised rent, bedroom count and layout, included utilities, property type and condition, availability date, lease length, concessions, and the contemporaneous sale or list record if resale is relevant. Those checks determine whether the ZIP-level index, modelled ladder, survey comparisons, and resale screen have any direct relevance to a specific address.</p>","findings":[{"body":"ZORI places the current typical asking-rent signal above both the survey gross-rent benchmark and the income implied by the mechanical affordability screen. That does not establish what any household can pay or what any advertised home costs. It identifies a cross-source tension worth retaining because the inputs describe current listings, occupied renter homes, and household income through materially different observations.","title":"Current asking-rent pressure exceeds survey benchmarks"},{"body":"The latest same-month rent change remains positive, but it trails the longer annualized paths in the complete ZIP history. Recorded variability and the historical drawdown mean the current index is best treated as a measured snapshot with movement around it rather than a precise near-term trajectory. The discovery ranks organize past observations only; they do not predict performance or make an investment case.","title":"History remains positive but has cooled"},{"body":"The bedroom figures are modelled allocations of the ZIP-wide index using the local HUD ladder. They create a size progression but are not measured market rents for studios or any other bedroom category. The HUD standards are administrative, and their relationship to current asking rent cannot establish a unit-specific quote, utility treatment, lease structure, or availability.","title":"Bedroom figures are modelled, not observed"},{"body":"Resale reporting supplies direct for-sale evidence on closed transactions, marketing time, inventory, and pricing relative to list. It is not rental data. The annualized rent-to-price quotient is restricted to a cross-source screen and leaves out operating costs, financing, taxes, physical condition, and property-level rent evidence; it therefore cannot characterize a property’s economic outcome.","title":"Resale evidence is informative but separate"}],"risks":["The Zillow index blends rental types and is not tied to a particular property, so an advertised unit can differ because of layout, condition, included utilities, timing, lease terms, or concessions.","ACS ZCTA estimates reflect a multiyear survey of occupied homes and contain sampling uncertainty; neither the reported burden share nor the vacancy categories identify the circumstances of any individual household or address.","The HUD-scaled bedroom ladder is mechanical rather than observed bedroom rent data, so its apparent precision can mask mismatches in unit size, property type, utility inclusion, and active-market availability.","Redfin’s rolling resale measures cover the for-sale market only. The rent-to-price screen omits expenses and property features, while market-level sale signals cannot determine a particular asset’s economics or future result."],"qa":[{"a":"ZORI is a current typical observed asking-rent index that blends rental types, whereas ACS median gross rent is a multiyear survey statistic for occupied renter homes and includes selected utilities. Different timing, covered units, and utility treatment can produce a gap without implying a data error or a specific listing price.","q":"Why does the asking-rent index sit above the ACS gross-rent figure?"},{"a":"No. They are modelled estimates derived by scaling the ZIP-wide ZORI with the supplied local HUD bedroom ladder. They are useful for preserving a stated size relationship, but they do not observe leases, listings, concessions, unit features, utility inclusion, or available stock in any bedroom segment.","q":"Are the bedroom estimates evidence of actual rents for each unit size?"},{"a":"The historical path establishes that the latest direction followed a positive longer record at a slower pace. Its variability indicates that monthly index changes have not been perfectly smooth, and its drawdown documents past retracement. Together they support caution about treating one observed index level as a precise short-run condition, not a forecast.","q":"How should the history measures affect confidence in the current rent snapshot?"},{"a":"It can describe ZIP-level for-sale closings, pricing, market time, inventory, supply, and sale-to-list outcomes during its rolling observation window. It cannot supply rental comparables or operating economics. Dividing annualized ZORI by the resale price produces only a cross-source screening ratio, with no expenses, financing, taxes, or property-specific income.","q":"What can the resale block say about rental economics?"}],"sources":[{"key":"apartment_list_time_on_market","name":"Apartment List Time on Market — listing liquidity","release":"Apartment List 2026-07","pulledAt":"2026-08-08","url":"https://www.apartmentlist.com/research/category/data-rent-estimates"},{"key":"apartment_list_vacancy","name":"Apartment List Vacancy Index — rental vacancy","release":"Apartment List 2026-07","pulledAt":"2026-08-08","url":"https://www.apartmentlist.com/research/apartment-list-vacancy-index-methodology"},{"key":"census_zcta_facts","name":"Census ACS five-year — ZCTA housing and income","release":"ACS 2024 5-year ZCTA","pulledAt":"2026-08-08","url":"https://api.census.gov/data/2024/acs/acs5.html"},{"key":"hud_zip","name":"HUD USPS crosswalk and Small Area FMRs — ZIP rent fallback","release":"ZIP-CBSA 2025Q4 + SAFMR FY2026","pulledAt":"2026-07-26","url":"https://www.huduser.gov/portal/datasets/usps_crosswalk.html"},{"key":"realtor_county","name":"Realtor.com Economic Research — county listing inventory","release":"county inventory 2026-06","pulledAt":"2026-07-28","url":"https://www.realtor.com/research/data/"},{"key":"redfin","name":"Redfin Data Center — inventory, days on market, and price cuts","release":"metro tracker through 2026-05-01","pulledAt":"2026-07-26","url":"https://www.redfin.com/news/data-center/"},{"key":"redfin_zip","name":"Redfin Data Center — ZIP resale activity and supply","release":"ZIP rolling 3 months through 2026-06-30; updated 2026-07-03","pulledAt":"2026-08-12","url":"https://www.redfin.com/news/data-center/"},{"key":"zillow_county","name":"Zillow ZHVI and ZORI — county values and rents","release":"county ZHVI/ZORI 2026-06","pulledAt":"2026-07-26","url":"https://www.zillow.com/research/data/"},{"key":"zillow_zori","name":"Zillow ZORI — metro market rents","release":"Metro_zori_uc_sfrcondomfr_sm_sa_month.csv","pulledAt":"2026-07-26","url":"https://www.zillow.com/research/data/"},{"key":"zillow_zori_city","name":"Zillow ZORI — city market rents","release":"zillow_zori_city.csv","pulledAt":"2026-07-29","url":"https://www.zillow.com/research/data/"},{"key":"zillow_zori_zip","name":"Zillow ZORI — ZIP market rents","release":"ZORI ZIP 2026-06","pulledAt":"2026-08-08","url":"https://www.zillow.com/research/data/"}],"history":[{"period":"2015-03-01","rent":1615.164792},{"period":"2015-04-01","rent":1595.591484},{"period":"2015-05-01","rent":1584.0026},{"period":"2015-06-01","rent":1581.404896},{"period":"2015-07-01","rent":1587.468582},{"period":"2015-08-01","rent":1580.747499},{"period":"2015-09-01","rent":1584.400404},{"period":"2015-10-01","rent":1590.472365},{"period":"2015-11-01","rent":1618.607163},{"period":"2015-12-01","rent":1616.70947},{"period":"2016-01-01","rent":1596.826136},{"period":"2016-02-01","rent":1574.771431},{"period":"2016-03-01","rent":1617.95943},{"period":"2016-04-01","rent":1669.387638},{"period":"2016-05-01","rent":1679.502145},{"period":"2016-06-01","rent":1650.261745},{"period":"2016-07-01","rent":1621.98988},{"period":"2016-08-01","rent":1625.667323},{"period":"2016-09-01","rent":1604.266871},{"period":"2016-10-01","rent":1618.256525},{"period":"2016-11-01","rent":1592.17001},{"period":"2016-12-01","rent":1613.632949},{"period":"2017-01-01","rent":1655.006323},{"period":"2017-02-01","rent":1695.024663},{"period":"2017-03-01","rent":1690.86298},{"period":"2017-04-01","rent":1670.121074},{"period":"2017-05-01","rent":1685.483561},{"period":"2017-06-01","rent":1730.29593},{"period":"2017-07-01","rent":1751.234335},{"period":"2017-08-01","rent":1748.451102},{"period":"2017-09-01","rent":1764.722316},{"period":"2017-10-01","rent":1762.524987},{"period":"2017-11-01","rent":1779.290243},{"period":"2017-12-01","rent":1779.165523},{"period":"2018-01-01","rent":1770.116785},{"period":"2018-02-01","rent":1766.355982},{"period":"2018-03-01","rent":1747.407038},{"period":"2018-04-01","rent":1749.115365},{"period":"2018-05-01","rent":1746.329765},{"period":"2018-06-01","rent":1737.002525},{"period":"2018-07-01","rent":1742.495594},{"period":"2018-08-01","rent":1744.165884},{"period":"2018-09-01","rent":1762.92512},{"period":"2018-10-01","rent":1757.782262},{"period":"2018-11-01","rent":1758.397693},{"period":"2018-12-01","rent":1754.144243},{"period":"2019-01-01","rent":1752.006717},{"period":"2019-02-01","rent":1745.541283},{"period":"2019-03-01","rent":1760.43141},{"period":"2019-04-01","rent":1767.781119},{"period":"2019-05-01","rent":1769.626745},{"period":"2019-06-01","rent":1770.245267},{"period":"2019-07-01","rent":1771.446448},{"period":"2019-08-01","rent":1781.132103},{"period":"2019-09-01","rent":1774.026776},{"period":"2019-10-01","rent":1786.972976},{"period":"2019-11-01","rent":1795.053181},{"period":"2019-12-01","rent":1806.473882},{"period":"2020-01-01","rent":1817.79712},{"period":"2020-02-01","rent":1831.620738},{"period":"2020-03-01","rent":1816.729726},{"period":"2020-04-01","rent":1787.226468},{"period":"2020-05-01","rent":1760.72777},{"period":"2020-06-01","rent":1750.255998},{"period":"2020-07-01","rent":1753.761681},{"period":"2020-08-01","rent":1735.469358},{"period":"2020-09-01","rent":1730.84643},{"period":"2020-10-01","rent":1727.334024},{"period":"2020-11-01","rent":1738.088926},{"period":"2020-12-01","rent":1752.792407},{"period":"2021-01-01","rent":1754.064698},{"period":"2021-02-01","rent":1773.421787},{"period":"2021-03-01","rent":1786.195925},{"period":"2021-04-01","rent":1833.905917},{"period":"2021-05-01","rent":1884.790494},{"period":"2021-06-01","rent":1917.305942},{"period":"2021-07-01","rent":1940.895689},{"period":"2021-08-01","rent":1968.675001},{"period":"2021-09-01","rent":1998.716241},{"period":"2021-10-01","rent":2016.532785},{"period":"2021-11-01","rent":2040.625096},{"period":"2021-12-01","rent":2065.107416},{"period":"2022-01-01","rent":2087.887681},{"period":"2022-02-01","rent":2081.268427},{"period":"2022-03-01","rent":2069.529515},{"period":"2022-04-01","rent":2070.873822},{"period":"2022-05-01","rent":2071.175247},{"period":"2022-06-01","rent":2094.184909},{"period":"2022-07-01","rent":2098.797624},{"period":"2022-08-01","rent":2112.217646},{"period":"2022-09-01","rent":2116.371272},{"period":"2022-10-01","rent":2122.024359},{"period":"2022-11-01","rent":2119.273618},{"period":"2022-12-01","rent":2114.647706},{"period":"2023-01-01","rent":2118.467056},{"period":"2023-02-01","rent":2122.10314},{"period":"2023-03-01","rent":2131.417405},{"period":"2023-04-01","rent":2108.442045},{"period":"2023-05-01","rent":2114.428601},{"period":"2023-06-01","rent":2117.499695},{"period":"2023-07-01","rent":2143.092372},{"period":"2023-08-01","rent":2147.326896},{"period":"2023-09-01","rent":2158.201238},{"period":"2023-10-01","rent":2150.557519},{"period":"2023-11-01","rent":2164.138531},{"period":"2023-12-01","rent":2149.84601},{"period":"2024-01-01","rent":2177.510842},{"period":"2024-02-01","rent":2196.661061},{"period":"2024-03-01","rent":2227.450057},{"period":"2024-04-01","rent":2239.619688},{"period":"2024-05-01","rent":2232.456121},{"period":"2024-06-01","rent":2225.871811},{"period":"2024-07-01","rent":2214.833741},{"period":"2024-08-01","rent":2230.757051},{"period":"2024-09-01","rent":2230.974048},{"period":"2024-10-01","rent":2247.358338},{"period":"2024-11-01","rent":2225.616829},{"period":"2024-12-01","rent":2231.641319},{"period":"2025-01-01","rent":2224.624316},{"period":"2025-02-01","rent":2240.537129},{"period":"2025-03-01","rent":2250.546167},{"period":"2025-04-01","rent":2271.425257},{"period":"2025-05-01","rent":2267.753277},{"period":"2025-06-01","rent":2271.296317},{"period":"2025-07-01","rent":2279.517933},{"period":"2025-08-01","rent":2275.147951},{"period":"2025-09-01","rent":2281.199384},{"period":"2025-10-01","rent":2283.66289},{"period":"2025-11-01","rent":2306.168461},{"period":"2025-12-01","rent":2321.526683},{"period":"2026-01-01","rent":2324.380227},{"period":"2026-02-01","rent":2314.544444},{"period":"2026-03-01","rent":2302.704371},{"period":"2026-04-01","rent":2298.101492},{"period":"2026-05-01","rent":2315.606398},{"period":"2026-06-01","rent":2327.260606}],"historySummary":{"pointCount":136,"firstPeriod":"2015-03-01","latestPeriod":"2026-06-01","coverageMonths":136,"coverageRatio":1,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":2271.296317,"endRent":2327.260606,"change":0.024639800884245444,"cagr":0.024639800884245444},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":2117.499695,"endRent":2327.260606,"change":0.09906065700755629,"cagr":0.03198619386900603},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1917.305942,"endRent":2327.260606,"change":0.21381807411099119,"cagr":0.039514903053943895}},"maxDrawdown":-0.05693684933589127,"annualizedVolatility":0.032610291542399965,"consecutiveReturnCount":135}}