{"zip":"78233","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":1288,"rentYoy":-0.0478,"bedroomEstimates":[972,1059,1288,1651,1928],"hudFmr":[1230,1340,1630,2090,2440],"ladderSource":"safmr","population":48911,"populationMoe":2344,"medianIncome":76421,"medianIncomeMoe":4930,"medianGrossRent":1514,"medianGrossRentMoe":80,"housingUnits":19859,"occupiedUnits":18970,"vacantUnits":889,"renterOccupied":7509,"rentBurdenTotal":7509,"rentBurden30Plus":3267,"vacantForRent":520,"vacantForSale":128,"vacantSeasonal":0,"structureTotal":19859,"singleFamilyUnits":14176,"largeMultifamilyUnits":2070,"vacancyRate":0.04476559746210786,"renterShare":0.39583552978386927,"rentBurdenShare":0.43507790651218536,"requiredIncome":51520,"askingRentToIncome":0.2022480731736041,"askingVsAcsRent":0.8507265521796565,"askingVsHud2br":0.7901840490797546,"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":114,"zipSalePrice":246944,"zipSalePriceYoy":-0.0681,"zipMedianDom":73,"zipActiveListings":385,"zipActiveListingsYoy":-0.1145,"zipInventory":238,"zipInventoryYoy":-0.0931,"zipPendingSales":154,"zipMonthsSupply":6.3,"zipSaleToList":0.9709,"zipSoldAboveList":0.0812,"zipOffMarketTwoWeeks":0.2793,"generatedAt":"2026-09-01 10:02:19.584545+00","summaryHtml":"<p>Cooling, rather than a fresh growth leg, is the central historical tension in ZIP 78233. Zillow’s current ZIP ZORI is $1,288, a typical observed asking-rent index blended across rental types, after a 4.8% same-month decline over 1 year. The annualized same-month change is also negative over 3 years, at a 2.4% annualized decline, whereas the 5-year measure remains a 1.5% gain. Recent direction therefore breaks from, rather than confirms, the longer path. Monthly index-return variability annualizes to 2.4%, a relatively contained pattern that still limits confidence in treating a single current reading as definitive. The 7.7% maximum drawdown captures a materially deeper historical retreat. Complete monthly coverage makes this backward-looking record interpretable, not a forecast or investment recommendation. It also does not indicate that every available unit moved by the same amount, because ZORI is an index rather than a lease ledger.</p><p>The 78233 label is both Zillow’s ZIP market identifier and a Census ZCTA match. A ZCTA is a statistical area and is not identical to a USPS delivery ZIP. The matched 2024 ACS 5-year survey reports a $1,514 median gross rent for occupied renter homes, a measure that includes selected utilities; it is not Zillow’s asking-rent index and should not be treated as a contradiction. As wider-context rent figures, San Antonio city is about $1,382, Bexar County is $1,389, and the San Antonio-New Braunfels, TX metro is $1,416. Those city, county, and metro values are context only: they use wider geographies, cannot replace direct ZIP evidence, and do not establish a comparable asking rent for a particular property.</p><p>The bedroom view is a scaling model, not a measured set of bedroom rents. Modelled monthly ZIP estimates are $972 for a studio, $1,059 for a one-bedroom, the current ZORI baseline for a two-bedroom, $1,651 for a three-bedroom, and $1,928 for a four-bedroom. They are produced by scaling ZIP ZORI with the local HUD bedroom ladder. The corresponding HUD FMR/SAFMR administrative standards are $1,230, $1,340, $1,630, $2,090, and $2,440. HUD’s bedroom-specific standards are program benchmarks rather than asking rents, signed-lease rents, or evidence that an available unit is priced at those levels. The wider spread in the upper-bedroom model reflects the HUD ladder’s structure, not direct observation of larger-unit listings in this ZIP.</p><p>At a 30% required-income screen, a $1,288 monthly asking-rent index converts arithmetically to $51,520 of annual income. That amount is below the matched ZCTA’s $76,421 median household income, but this is a comparison of a rental index with a survey-wide household-income statistic, not an applicant qualification rule or affordability advice. The burden evidence adds an important counterweight: 3,267 of 7,509 renter households, or 43.5%, reported gross-rent burdens at or above the screen. ACS burden measures describe surveyed occupied renter homes and cannot prove the financial position, utilities, lease terms, or rent burden of any particular unit. Still, the coexistence of the median-income screen and the burden share argues against reading one aggregate affordability measure in isolation.</p><p>The same ACS ZCTA survey records 19,859 housing units, including 18,970 occupied units and 889 vacant units, for a 4.5% vacancy rate. Its stock count includes 14,176 single-family units, showing that the ZIP’s housing inventory is not represented solely by the rental index. These are area-level survey counts with margins of error, not a live availability file. Vacancy does not identify the condition, location, bedroom count, concession terms, or market rent of an individual home. Likewise, the existence of vacant housing does not establish that a particular renter can access it. This stock snapshot is most useful as context for interpreting aggregate tenure and availability conditions alongside, rather than inside, Zillow’s observed asking-rent universe.</p><p>The direct for-sale evidence shows a separate form of cooling. In Redfin’s rolling-three-month ZIP resale observation, the median sold price was $246,944, down 6.8% year over year. There were 114 homes sold, median marketing time was 73 days, inventory was 238 homes, and months of supply stood at 6.3. Sale-to-list signals were also subdued: the average sale-to-list ratio was 97.1%, while 8.1% of homes sold above list. These are ZIP resale observations, not rental transactions, asking-rent comparables, or estimates of property operating economics. They describe transaction pace, pricing, and listing-market balance in the for-sale universe only, and should remain separate from the ZORI and ACS evidence.</p><p>The annualized ZIP ZORI divided by the Redfin median sold price produces a 6.26% cross-source screening ratio. It is not a cap rate, net return, expected return, property yield, or a substitute for property-level costs. The resale price decline confirms the directional cooling visible in recent asking-rent history, while the supply and sale-to-list readings provide a distinct resale-market context for that same broad tension. They do not, however, convert the median-income screen into proof of low renter burden. Transparent national history-eligible ZIP discovery ranks place momentum at 2,892, stability at 527, and the balanced measure at 2,299; lower ranks are higher. These ranks summarize backward-looking measurements for discovery and do not predict future rents, prices, or investment outcomes.</p><p>Several limits remain material. Zillow ZORI is a blended asking-rent index, ACS is a multi-year survey of occupied homes with selected utilities in gross rent, HUD is an administrative standard, and Redfin is a rolling resale observation. Their dates, populations, and definitions differ. A property-level review would need to verify the actual advertised rent, included utilities, bedroom count, lease length, concessions, availability date, condition, and any changes since listing. On the resale side, it would need the specific sale record, list-price history, days on market, physical condition, and costs not contained in the screening ratio. No aggregate vacancy, burden, price, or rent statistic can resolve those unit facts. The open factual question is whether a specific current listing aligns with the index, modelled bedroom range, and the separate resale evidence.</p>","findings":[{"body":"ZIP ZORI is $1,288 after a 4.8% same-month decline over the latest year. The three-year annualized history is also negative, while the five-year history remains positive. That combination supports a cooling classification, but it is backward-looking index evidence rather than a forecast for future asking rents or lease renewals.","title":"Recent rent direction has broken from the longer history"},{"body":"Zillow ZORI measures a typical observed asking-rent index across rental types. ACS median gross rent is a five-year survey statistic for occupied renter homes and includes selected utilities. HUD bedroom standards are administrative benchmarks. Differences among these values can reflect definitions, timing, and geographic scope rather than a direct market discrepancy.","title":"Rent sources are not interchangeable"},{"body":"The arithmetic income needed for the 30% screen is below the ZCTA median household income, yet a substantial share of surveyed renter households report gross-rent burdens at or above that threshold. This tension means a median-based screen should not be read as evidence that all renter households, or any particular applicant, face the same affordability conditions.","title":"The income screen and burden data point in different directions"},{"body":"Redfin’s direct ZIP resale observation shows a lower median sold price, extended marketing time, supply above a tightly balanced setting, and sale-to-list results below parity on average. Those observations align directionally with rent cooling, but they remain for-sale evidence. The annualized-rent-to-price figure is only a cross-source screen, not a cap rate or return measure.","title":"Resale cooling supports the direction but not property economics"}],"risks":["The ZIP identifier and matched ZCTA are related but not identical geographies, while Zillow, ACS, HUD, and Redfin each use different populations, timing conventions, and measurement definitions.","The historical rent series describes a blended asking-rent index rather than signed leases, so its cooling pattern may not match the price, concession, availability, or renewal terms of a specific unit.","ACS income, gross-rent, burden, housing-stock, and vacancy figures are survey estimates with margins of error. They cannot demonstrate affordability, vacancy access, or financial stress for an individual household.","The rent-to-price screen excludes property-specific acquisition costs, financing, taxes, insurance, repairs, utilities, vacancies, management, and actual collected rent, so it cannot represent property economics."],"qa":[{"a":"The figures measure different universes. Zillow ZORI is a current typical observed asking-rent index blended across rental types. ACS median gross rent is a multi-year survey estimate for occupied renter homes and includes selected utilities. Different dates, renter populations, utility treatment, and survey versus listing methodologies can create a gap without showing an error.","q":"Why is Zillow ZORI lower than the ACS median gross rent?"},{"a":"No. The studio through four-bedroom figures are modelled monthly estimates derived by scaling the ZIP ZORI level with the local HUD bedroom ladder. They are useful for showing the model’s bedroom relationship, but they are not measured asking rents, lease transactions, or evidence that a particular available unit is priced at the estimate.","q":"Are the bedroom figures observed ZIP rents?"},{"a":"It adds direct ZIP for-sale evidence from a rolling three-month resale observation: sold prices, price direction, transaction volume, marketing time, inventory, supply, and sale-to-list behavior. It can indicate whether resale conditions appear to be cooling or tightening, but it is not rental-comp evidence and does not determine a property’s rent or operating performance.","q":"What does the Redfin resale information add?"},{"a":"No. The screen simply divides annualized asking rent by 30% to show the income level implied by that arithmetic threshold. It is not leasing advice, an underwriting standard, or an applicant qualification rule. Actual qualification can depend on documented income, debts, household size, deposits, lease terms, utilities, and owner-specific criteria.","q":"Does the 30% income screen mean a household qualifies for a rental?"}],"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":926.125581},{"period":"2015-02-01","rent":932.952557},{"period":"2015-03-01","rent":935.93572},{"period":"2015-04-01","rent":932.980562},{"period":"2015-05-01","rent":938.169862},{"period":"2015-06-01","rent":943.288378},{"period":"2015-07-01","rent":949.138411},{"period":"2015-08-01","rent":953.936598},{"period":"2015-09-01","rent":946.363712},{"period":"2015-10-01","rent":953.112439},{"period":"2015-11-01","rent":955.804775},{"period":"2015-12-01","rent":961.926131},{"period":"2016-01-01","rent":965.116265},{"period":"2016-02-01","rent":965.202208},{"period":"2016-03-01","rent":974.878844},{"period":"2016-04-01","rent":974.383014},{"period":"2016-05-01","rent":972.216307},{"period":"2016-06-01","rent":977.476766},{"period":"2016-07-01","rent":985.878635},{"period":"2016-08-01","rent":989.781082},{"period":"2016-09-01","rent":995.062718},{"period":"2016-10-01","rent":1002.793349},{"period":"2016-11-01","rent":1012.07497},{"period":"2016-12-01","rent":1016.970051},{"period":"2017-01-01","rent":1013.719329},{"period":"2017-02-01","rent":1021.348863},{"period":"2017-03-01","rent":1022.87554},{"period":"2017-04-01","rent":1025.361942},{"period":"2017-05-01","rent":1031.606076},{"period":"2017-06-01","rent":1026.107835},{"period":"2017-07-01","rent":1030.616853},{"period":"2017-08-01","rent":1023.837303},{"period":"2017-09-01","rent":1036.985483},{"period":"2017-10-01","rent":1037.131476},{"period":"2017-11-01","rent":1032.96316},{"period":"2017-12-01","rent":1034.139258},{"period":"2018-01-01","rent":1032.51703},{"period":"2018-02-01","rent":1041.114068},{"period":"2018-03-01","rent":1034.072599},{"period":"2018-04-01","rent":1047.09631},{"period":"2018-05-01","rent":1042.146055},{"period":"2018-06-01","rent":1051.177084},{"period":"2018-07-01","rent":1041.327023},{"period":"2018-08-01","rent":1046.266265},{"period":"2018-09-01","rent":1044.087263},{"period":"2018-10-01","rent":1060.782736},{"period":"2018-11-01","rent":1077.455089},{"period":"2018-12-01","rent":1080.285709},{"period":"2019-01-01","rent":1076.233192},{"period":"2019-02-01","rent":1060.313396},{"period":"2019-03-01","rent":1069.615619},{"period":"2019-04-01","rent":1065.560414},{"period":"2019-05-01","rent":1073.985963},{"period":"2019-06-01","rent":1076.304058},{"period":"2019-07-01","rent":1088.065176},{"period":"2019-08-01","rent":1095.511812},{"period":"2019-09-01","rent":1099.312524},{"period":"2019-10-01","rent":1094.382291},{"period":"2019-11-01","rent":1092.26446},{"period":"2019-12-01","rent":1099.872387},{"period":"2020-01-01","rent":1116.712012},{"period":"2020-02-01","rent":1136.636715},{"period":"2020-03-01","rent":1144.91409},{"period":"2020-04-01","rent":1141.916006},{"period":"2020-05-01","rent":1135.013891},{"period":"2020-06-01","rent":1128.362472},{"period":"2020-07-01","rent":1131.424352},{"period":"2020-08-01","rent":1128.865681},{"period":"2020-09-01","rent":1138.855176},{"period":"2020-10-01","rent":1141.231692},{"period":"2020-11-01","rent":1140.930488},{"period":"2020-12-01","rent":1139.306194},{"period":"2021-01-01","rent":1141.087148},{"period":"2021-02-01","rent":1147.198758},{"period":"2021-03-01","rent":1153.300708},{"period":"2021-04-01","rent":1164.695945},{"period":"2021-05-01","rent":1182.503616},{"period":"2021-06-01","rent":1196.707996},{"period":"2021-07-01","rent":1214.679427},{"period":"2021-08-01","rent":1226.733392},{"period":"2021-09-01","rent":1228.788329},{"period":"2021-10-01","rent":1240.966777},{"period":"2021-11-01","rent":1245.981322},{"period":"2021-12-01","rent":1267.981072},{"period":"2022-01-01","rent":1267.490498},{"period":"2022-02-01","rent":1275.122238},{"period":"2022-03-01","rent":1278.791521},{"period":"2022-04-01","rent":1286.513563},{"period":"2022-05-01","rent":1290.820648},{"period":"2022-06-01","rent":1305.82789},{"period":"2022-07-01","rent":1321.809735},{"period":"2022-08-01","rent":1344.568174},{"period":"2022-09-01","rent":1356.135302},{"period":"2022-10-01","rent":1363.304612},{"period":"2022-11-01","rent":1367.744782},{"period":"2022-12-01","rent":1366.421567},{"period":"2023-01-01","rent":1376.557895},{"period":"2023-02-01","rent":1385.096268},{"period":"2023-03-01","rent":1391.114428},{"period":"2023-04-01","rent":1395.918135},{"period":"2023-05-01","rent":1392.925731},{"period":"2023-06-01","rent":1386.440412},{"period":"2023-07-01","rent":1356.396353},{"period":"2023-08-01","rent":1341.398087},{"period":"2023-09-01","rent":1337.025267},{"period":"2023-10-01","rent":1346.004108},{"period":"2023-11-01","rent":1354.017772},{"period":"2023-12-01","rent":1353.856764},{"period":"2024-01-01","rent":1350.515378},{"period":"2024-02-01","rent":1344.920596},{"period":"2024-03-01","rent":1350.329228},{"period":"2024-04-01","rent":1355.773294},{"period":"2024-05-01","rent":1362.646056},{"period":"2024-06-01","rent":1360.63919},{"period":"2024-07-01","rent":1368.500416},{"period":"2024-08-01","rent":1364.065021},{"period":"2024-09-01","rent":1363.838343},{"period":"2024-10-01","rent":1356.251933},{"period":"2024-11-01","rent":1355.558173},{"period":"2024-12-01","rent":1359.634895},{"period":"2025-01-01","rent":1355.336747},{"period":"2025-02-01","rent":1347.833334},{"period":"2025-03-01","rent":1339.506551},{"period":"2025-04-01","rent":1341.851955},{"period":"2025-05-01","rent":1345.036303},{"period":"2025-06-01","rent":1352.91994},{"period":"2025-07-01","rent":1357.888996},{"period":"2025-08-01","rent":1363.102278},{"period":"2025-09-01","rent":1361.605623},{"period":"2025-10-01","rent":1358.762008},{"period":"2025-11-01","rent":1350.83315},{"period":"2025-12-01","rent":1342.741702},{"period":"2026-01-01","rent":1339.757647},{"period":"2026-02-01","rent":1339.27436},{"period":"2026-03-01","rent":1333.839021},{"period":"2026-04-01","rent":1319.435065},{"period":"2026-05-01","rent":1304.072657},{"period":"2026-06-01","rent":1288.279255}],"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":1352.91994,"endRent":1288.279255,"change":-0.0477786475672759,"cagr":-0.0477786475672759},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":1386.440412,"endRent":1288.279255,"change":-0.07080084809299403,"cagr":-0.024180254811906332},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1196.707996,"endRent":1288.279255,"change":0.07651930070332691,"cagr":0.014855860812067467}},"maxDrawdown":-0.07710973681132094,"annualizedVolatility":0.02396997799378191,"consecutiveReturnCount":137}}