{"zip":"78254","city":"San Antonio","state":"TX","county":"Bexar County","countySlug":"bexar-county-tx","metro":"San Antonio-New Braunfels, TX","metroSlug":"san-antonio-tx","citySlug":"san-antonio-tx","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":1880,"rentYoy":-0.0054,"bedroomEstimates":[1418,1548,1880,2413,2815],"hudFmr":[1410,1540,1870,2400,2800],"ladderSource":"safmr","population":77893,"populationMoe":3972,"medianIncome":115526,"medianIncomeMoe":6640,"medianGrossRent":1765,"medianGrossRentMoe":105,"housingUnits":25842,"occupiedUnits":24789,"vacantUnits":1053,"renterOccupied":4388,"rentBurdenTotal":4388,"rentBurden30Plus":1699,"vacantForRent":451,"vacantForSale":220,"vacantSeasonal":107,"structureTotal":25842,"singleFamilyUnits":23834,"largeMultifamilyUnits":637,"vacancyRate":0.04074762015323891,"renterShare":0.1770139981443382,"rentBurdenShare":0.3871923427529626,"requiredIncome":75200,"askingRentToIncome":0.19528071602929212,"askingVsAcsRent":1.065155807365439,"askingVsHud2br":1.0053475935828877,"cityRent":1381.6424039371357,"countyRent":1389,"metroRent":1416,"cityGrossRent":1324,"countyGrossRent":1354,"countyListings":9069,"countyListingDom":57,"countyPriceReducedShare":0.2741,"countyListingPeriod":"2026-06","metroMonthsSupply":5.4,"metroMedianDom":72,"metroPriceDrops":0.3804,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.089082261488219,"apartmentTimeOnMarket":37.3,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":369,"zipSalePrice":338424,"zipSalePriceYoy":-0.0191,"zipMedianDom":69,"zipActiveListings":1037,"zipActiveListingsYoy":-0.029,"zipInventory":591,"zipInventoryYoy":-0.0688,"zipPendingSales":398,"zipMonthsSupply":4.9,"zipSaleToList":0.9862,"zipSoldAboveList":0.1143,"zipOffMarketTwoWeeks":0.213,"generatedAt":"2026-08-31 14:18:18.772643+00","summaryHtml":"<p>ZIP 78254 presents a current-rent premium alongside a cooling recent path. Zillow’s typical observed asking-rent index, blended across rental types, is $1,880 per month, down 0.5% from the same month a year earlier. The five-digit label 78254 functions both as a Zillow ZIP market identifier and as a Census ZCTA match; a ZCTA is a statistical area, not the same thing as a USPS delivery ZIP. For wider context only, San Antonio city is $1,382, Bexar County is $1,389, and the San Antonio-New Braunfels, TX metro is $1,416. Those broader-scope rent figures frame the ZIP’s higher asking-rent index, but they are not substitutes for direct ZIP evidence.</p><p>The history supports the cooling designation rather than a renewed acceleration. Exact same-month ZORI changes were -0.54% over one year and -0.26% annualized over three years, following a 2.38% annualized gain over five years. Thus, the recent direction breaks from the longer positive path, although the retreat has been measured rather than extreme. The history contains 138 observations with 100% coverage. Annualized variability of monthly ZORI movements is 1.85%, which supports comparatively high confidence that the present index is not an isolated erratic reading; separately, the maximum drawdown was 2.14%, showing the observed historical peak-to-trough setback. National discovery ranks among history-eligible ZIPs were 2,547 for momentum, 59 for stability, and 1,606 for the balanced measure, where lower ranks place higher. These are transparent backward-looking discovery measures, not forecasts or investment signals.</p><p>The bedroom ladder is a modelling device, not a set of measured bedroom rents. Scaling ZIP ZORI through the local HUD FMR/SAFMR ladder produces modelled monthly estimates of $1,418 for a studio, $1,548 for one bedroom, $1,880 for two bedrooms, $2,413 for three bedrooms, and $2,815 for four bedrooms. The corresponding HUD two-bedroom standard is $1,870. HUD FMR/SAFMR is an administrative, bedroom-specific standard rather than asking rent, so the close alignment at two bedrooms reflects the scaling method and does not establish a transaction or listing rent for any particular home.</p><p>The ACS ZCTA survey measures a different rental population and cost concept. Its five-year estimate of median gross rent for occupied renter homes is $1,765, including selected utilities, making the Zillow asking-rent index 6.5% higher. At a 30% income screen, $1,880 monthly rent translates arithmetically to $75,200 in annual income, versus estimated median household income of $115,526. That comparison is neither advice nor an applicant qualification rule; it does not identify the income or expenses of a specific renter. ACS estimates 4,388 renter-occupied households, of which 1,699, or 38.7%, were rent burdened at or above the screen. Burden is a household-level survey result, not proof that a currently available unit is affordable or unaffordable.</p><p>Housing composition gives important context to those renter results. The matched ZCTA contains 25,842 housing units, with 1,053 vacant units for an overall vacancy rate of 4.1%. Its stock includes 23,834 single-family units and 637 units in large multifamily structures, while renters account for 17.7% of occupied homes. Of the reported vacant units, 451 were classified as vacant for rent. This describes aggregate survey inventory and tenure structure, not the availability, condition, lease terms, or vacancy status of a particular property. The modest renter share also means area-wide household statistics should not be treated as a direct profile of the active rental listing pool.</p><p>For-sale evidence points in a similarly cooler direction but remains in a separate market universe. Redfin’s direct rolling-three-month ZIP resale observation reports a median sold price of $338,424, down 1.9% year over year, with 369 homes sold and a median 69 days on market. It reports inventory of 591 homes and 4.9 months of supply. The average sale-to-list ratio was 98.6%, only 11.4% of homes sold above list, and 21.3% went off market within two weeks. These are resale liquidity and pricing signals, not rental transactions or rental comparables. The price decline, longer marketing time, and below-list sale signal align with the ZIP’s cooling asking-rent history rather than challenge it. Annualized ZIP ZORI divided by median sold price is 6.7%, but that is only a cross-source screening ratio and cannot establish property-level economics.</p><p>The central tension is therefore not a conflict between strong rent growth and weak resale conditions. Instead, the ZIP retains a current asking-rent level above the named city, county, and metro contexts while its recent ZIP rent history and direct ZIP resale measures are both softer. The household-income screen appears less restrictive relative to the area median than the reported renter-burden share might suggest, yet those indicators describe different populations and use different methodologies. Zillow captures a blended asking-rent index, ACS describes occupied renter homes with selected utilities, HUD supplies administrative standards, and Redfin records completed home sales. Keeping those evidence universes separate is necessary to avoid turning an area-level pattern into a unit-level conclusion.</p><p>Several limits remain material. ACS renter, burden, income, and gross-rent estimates are survey estimates with reported margins of error; Zillow’s index does not disclose the rent, concessions, utilities, or condition of a particular listing; and the HUD-scaled bedroom ladder is modelled rather than observed. A property-level file would need current same-bedroom asking comparables, utility responsibility, concessions, lease duration, availability status, physical condition, and listing history. For a sale-side review, it would also need directly comparable recent sales, list-price history, marketing status, and property-specific costs that the screening ratio omits. The unresolved question is whether a specific home’s current terms resemble these ZIP-level snapshots closely enough for the broad evidence to be relevant.</p>","findings":[{"body":"The direct ZIP asking-rent index declined modestly over the latest year and has been nearly flat on an annualized three-year basis, despite a positive longer five-year record. Redfin’s direct ZIP resale observation also shows a lower median sold price, extended marketing time, and an average sale below list. These are aligned cooling signals, not a forecast.","title":"Cooling is visible in both rent history and resale evidence"},{"body":"ZIP-level Zillow asking rent is materially above the supplied San Antonio city, Bexar County, and San Antonio-New Braunfels metro context values. That premium is a comparison of different geographic scopes, not evidence that every ZIP property commands the same rent. The ZIP index itself is a blended typical asking-rent measure across rental types.","title":"Current asking rent remains elevated versus wider contexts"},{"body":"The required-income calculation is straightforward arithmetic based on the current asking-rent index and a 30% screen. ACS median household income and renter-burden statistics are survey measures for the matched ZCTA population, however, not tenant underwriting outcomes. Gross rent also includes selected utilities, unlike the asking-rent index, so the figures should not be merged into one affordability claim.","title":"Affordability indicators answer different questions"},{"body":"The studio-through-four-bedroom amounts use ZIP ZORI scaled through the local HUD bedroom ladder. HUD FMR/SAFMR is an administrative standard, while Zillow measures asking-rent conditions; neither source supplies a verified rent for a specific available unit. The ladder is useful for consistent sizing of the ZIP index, but it requires listing-level validation before unit-level interpretation.","title":"Bedroom figures are scaled estimates, not observed rents"}],"risks":["The ACS renter count, gross-rent, income, and burden results are five-year survey estimates with margins of error, so apparent differences among household measures may not precisely describe the current active rental population.","Zillow’s ZIP index blends observed asking rents across rental types and does not identify concessions, utility treatment, lease length, property condition, or current availability for a specific home or apartment.","The annualized rent-to-sale-price figure combines Zillow asking-rent information with Redfin resale information. It excludes property-specific costs, financing, operating performance, and transaction details, so it cannot establish economics for an individual property.","Vacancy classifications are area-level ACS categories. A reported vacant-for-rent count cannot prove that a particular property is empty, market-ready, competitively priced, or available under terms comparable with the ZIP index."],"qa":[{"a":"It is Zillow’s ZIP-level typical observed asking-rent index, blended across rental types. It is not ACS gross rent, not a HUD administrative standard, and not a verified asking price for a particular unit. Its strongest use here is describing current ZIP-level asking-rent conditions and comparing their direction with the historical ZIP series.","q":"What does the current Zillow rent figure represent?"},{"a":"They are modelled monthly ZIP estimates created by scaling the current ZIP Zillow index with the local HUD FMR/SAFMR bedroom ladder. They are not measured studio, one-bedroom, two-bedroom, three-bedroom, or four-bedroom rents. A particular listing can differ because its utilities, condition, size, location, concessions, and lease terms are not represented in the model.","q":"How should the bedroom estimates be interpreted?"},{"a":"No. The income figure is the arithmetic result of applying a 30% share to the ZIP asking-rent index. It is not lending, leasing, or applicant-qualification guidance. Household income, gross rent, and burden statistics come from the ACS ZCTA survey and cannot establish the financial position or lease eligibility of any individual renter.","q":"Does the required-income screen determine whether renters can qualify?"},{"a":"It can describe the direct rolling-three-month ZIP for-sale market: sold-price movement, sales activity, marketing time, inventory, supply, and sale-to-list behavior. It cannot serve as rental-comp evidence or establish property income. The rent-to-price calculation is only a cross-source screening ratio because it joins separate asking-rent and completed-sale datasets.","q":"What can the Redfin resale information establish?"}],"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-01-01","rent":1304.561464},{"period":"2015-02-01","rent":1312.11378},{"period":"2015-03-01","rent":1313.787433},{"period":"2015-04-01","rent":1322.7944},{"period":"2015-05-01","rent":1323.976913},{"period":"2015-06-01","rent":1334.628252},{"period":"2015-07-01","rent":1335.70345},{"period":"2015-08-01","rent":1344.405911},{"period":"2015-09-01","rent":1342.608772},{"period":"2015-10-01","rent":1353.099344},{"period":"2015-11-01","rent":1353.871819},{"period":"2015-12-01","rent":1367.346128},{"period":"2016-01-01","rent":1359.286086},{"period":"2016-02-01","rent":1362.515696},{"period":"2016-03-01","rent":1358.207873},{"period":"2016-04-01","rent":1360.094621},{"period":"2016-05-01","rent":1359.991341},{"period":"2016-06-01","rent":1358.100818},{"period":"2016-07-01","rent":1364.53012},{"period":"2016-08-01","rent":1369.263174},{"period":"2016-09-01","rent":1376.387136},{"period":"2016-10-01","rent":1380.509107},{"period":"2016-11-01","rent":1385.754431},{"period":"2016-12-01","rent":1387.792108},{"period":"2017-01-01","rent":1398.037335},{"period":"2017-02-01","rent":1401.446179},{"period":"2017-03-01","rent":1408.156194},{"period":"2017-04-01","rent":1407.233522},{"period":"2017-05-01","rent":1417.300518},{"period":"2017-06-01","rent":1421.357137},{"period":"2017-07-01","rent":1422.293457},{"period":"2017-08-01","rent":1415.820948},{"period":"2017-09-01","rent":1419.561766},{"period":"2017-10-01","rent":1420.174022},{"period":"2017-11-01","rent":1425.671126},{"period":"2017-12-01","rent":1425.6017},{"period":"2018-01-01","rent":1429.162557},{"period":"2018-02-01","rent":1436.913004},{"period":"2018-03-01","rent":1442.011894},{"period":"2018-04-01","rent":1451.087246},{"period":"2018-05-01","rent":1449.059539},{"period":"2018-06-01","rent":1453.886969},{"period":"2018-07-01","rent":1460.366592},{"period":"2018-08-01","rent":1467.577195},{"period":"2018-09-01","rent":1468.515271},{"period":"2018-10-01","rent":1468.439382},{"period":"2018-11-01","rent":1466.070583},{"period":"2018-12-01","rent":1475.939627},{"period":"2019-01-01","rent":1476.997589},{"period":"2019-02-01","rent":1483.199367},{"period":"2019-03-01","rent":1485.566338},{"period":"2019-04-01","rent":1487.077829},{"period":"2019-05-01","rent":1492.394438},{"period":"2019-06-01","rent":1495.299842},{"period":"2019-07-01","rent":1496.890221},{"period":"2019-08-01","rent":1501.536347},{"period":"2019-09-01","rent":1505.658113},{"period":"2019-10-01","rent":1512.231518},{"period":"2019-11-01","rent":1518.010859},{"period":"2019-12-01","rent":1517.266929},{"period":"2020-01-01","rent":1520.315893},{"period":"2020-02-01","rent":1518.378936},{"period":"2020-03-01","rent":1526.193095},{"period":"2020-04-01","rent":1521.56618},{"period":"2020-05-01","rent":1530.853446},{"period":"2020-06-01","rent":1530.747327},{"period":"2020-07-01","rent":1534.789973},{"period":"2020-08-01","rent":1541.374016},{"period":"2020-09-01","rent":1545.99082},{"period":"2020-10-01","rent":1569.50152},{"period":"2020-11-01","rent":1574.717097},{"period":"2020-12-01","rent":1602.298742},{"period":"2021-01-01","rent":1601.430702},{"period":"2021-02-01","rent":1627.556872},{"period":"2021-03-01","rent":1628.877565},{"period":"2021-04-01","rent":1647.124992},{"period":"2021-05-01","rent":1658.239727},{"period":"2021-06-01","rent":1671.364135},{"period":"2021-07-01","rent":1694.407882},{"period":"2021-08-01","rent":1701.751198},{"period":"2021-09-01","rent":1732.310308},{"period":"2021-10-01","rent":1733.416982},{"period":"2021-11-01","rent":1764.921846},{"period":"2021-12-01","rent":1767.643096},{"period":"2022-01-01","rent":1792.765072},{"period":"2022-02-01","rent":1799.083747},{"period":"2022-03-01","rent":1817.662637},{"period":"2022-04-01","rent":1823.601248},{"period":"2022-05-01","rent":1815.114987},{"period":"2022-06-01","rent":1830.88747},{"period":"2022-07-01","rent":1841.202162},{"period":"2022-08-01","rent":1866.740516},{"period":"2022-09-01","rent":1865.902902},{"period":"2022-10-01","rent":1874.567111},{"period":"2022-11-01","rent":1867.881237},{"period":"2022-12-01","rent":1869.52097},{"period":"2023-01-01","rent":1861.378513},{"period":"2023-02-01","rent":1852.274218},{"period":"2023-03-01","rent":1852.618237},{"period":"2023-04-01","rent":1861.59267},{"period":"2023-05-01","rent":1889.999207},{"period":"2023-06-01","rent":1894.581695},{"period":"2023-07-01","rent":1885.060915},{"period":"2023-08-01","rent":1870.436684},{"period":"2023-09-01","rent":1854.026732},{"period":"2023-10-01","rent":1855.46688},{"period":"2023-11-01","rent":1857.866558},{"period":"2023-12-01","rent":1864.531404},{"period":"2024-01-01","rent":1878.024716},{"period":"2024-02-01","rent":1879.032391},{"period":"2024-03-01","rent":1889.005459},{"period":"2024-04-01","rent":1879.86647},{"period":"2024-05-01","rent":1876.777398},{"period":"2024-06-01","rent":1869.791338},{"period":"2024-07-01","rent":1875.714367},{"period":"2024-08-01","rent":1881.786519},{"period":"2024-09-01","rent":1887.750461},{"period":"2024-10-01","rent":1891.329906},{"period":"2024-11-01","rent":1888.430212},{"period":"2024-12-01","rent":1870.502344},{"period":"2025-01-01","rent":1857.59184},{"period":"2025-02-01","rent":1859.599878},{"period":"2025-03-01","rent":1876.607733},{"period":"2025-04-01","rent":1887.050025},{"period":"2025-05-01","rent":1897.386206},{"period":"2025-06-01","rent":1890.371498},{"period":"2025-07-01","rent":1892.61418},{"period":"2025-08-01","rent":1893.765278},{"period":"2025-09-01","rent":1899.505987},{"period":"2025-10-01","rent":1897.029653},{"period":"2025-11-01","rent":1900.315971},{"period":"2025-12-01","rent":1911.564809},{"period":"2026-01-01","rent":1916.3632},{"period":"2026-02-01","rent":1915.812297},{"period":"2026-03-01","rent":1896.508598},{"period":"2026-04-01","rent":1889.503578},{"period":"2026-05-01","rent":1875.807697},{"period":"2026-06-01","rent":1880.105105}],"historySummary":{"pointCount":138,"firstPeriod":"2015-01-01","latestPeriod":"2026-06-01","coverageMonths":138,"coverageRatio":1,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":1890.371498,"endRent":1880.105105,"change":-0.005430886474357854,"cagr":-0.005430886474357854},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":1894.581695,"endRent":1880.105105,"change":-0.007641048173433362,"cagr":-0.00255353102840683},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1671.364135,"endRent":1880.105105,"change":0.12489257465130432,"cagr":0.02381670173196726}},"maxDrawdown":-0.021405761022092018,"annualizedVolatility":0.01845441952932382,"consecutiveReturnCount":137}}