{"zip":"78212","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":1565,"rentYoy":-0.0022,"bedroomEstimates":[1185,1297,1565,2012,2336],"hudFmr":[1060,1160,1400,1800,2090],"ladderSource":"safmr","population":27437,"populationMoe":1502,"medianIncome":62801,"medianIncomeMoe":5596,"medianGrossRent":1129,"medianGrossRentMoe":56,"housingUnits":13534,"occupiedUnits":11414,"vacantUnits":2120,"renterOccupied":6093,"rentBurdenTotal":6093,"rentBurden30Plus":2812,"vacantForRent":809,"vacantForSale":79,"vacantSeasonal":400,"structureTotal":13534,"singleFamilyUnits":7209,"largeMultifamilyUnits":1946,"vacancyRate":0.15664252992463426,"renterShare":0.5338181181005782,"rentBurdenShare":0.4615132118824881,"requiredIncome":62600,"askingRentToIncome":0.2990398242066209,"askingVsAcsRent":1.3861824623560672,"askingVsHud2br":1.1178571428571429,"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":68,"zipSalePrice":412407,"zipSalePriceYoy":0.001,"zipMedianDom":75,"zipActiveListings":257,"zipActiveListingsYoy":-0.0059,"zipInventory":160,"zipInventoryYoy":-0.0632,"zipPendingSales":72,"zipMonthsSupply":7.2,"zipSaleToList":0.9505,"zipSoldAboveList":0.0758,"zipOffMarketTwoWeeks":0.2503,"generatedAt":"2026-08-31 14:36:21.904959+00","summaryHtml":"<p>The five-digit label 78212 is both Zillow’s ZIP market identifier and the match for a Census ZCTA. A ZCTA is a statistical area and is not identical to a USPS delivery ZIP. In June 2026, Zillow ZORI for 78212 was $1,565, down 0.2% from a year earlier. ZORI is a typical observed asking-rent index blended across rental types, rather than a measure of every signed lease. By contrast, the ACS 2024 five-year ZCTA median gross rent was $1,129 for occupied renter homes and includes selected utilities. The $62,600 income implied by the 30% screen nearly matches the ZCTA’s $62,801 median household income, but that screen is arithmetic only, not advice or an applicant qualification rule.</p><p>The recent rent direction breaks from, rather than confirms, the longer backward-looking Zillow history. The exact same-month one-year change was -0.2%, while the three-year annualized change was 0.5% and the five-year annualized change was 3.2%. Coverage was 100% across the available monthly history. Monthly-return variability annualizes to 2.9%, which means one current ZORI reading warrants more caution than a perfectly steady series would. Separately, the maximum drawdown was 2.8%, documenting a contained historical retreat from a prior peak. Transparent national discovery ranks among history-eligible ZIPs were 2,410 for momentum, 1,461 for stability, and 2,362 for the balanced measure; lower ranks are higher. These are descriptive backward-looking measurements, not forecasts, investment ratings, or recommendations.</p><p>The bedroom ladder should be read as a modelling device, not as a set of measured ZIP bedroom rents. Scaling ZIP ZORI using the local HUD ladder produces modelled monthly estimates of $1,185 for a studio, $1,297 for one bedroom, $1,565 for two bedrooms, $2,012 for three bedrooms, and $2,336 for four bedrooms. HUD FMR or SAFMR is an administrative, bedroom-specific standard rather than asking rent, and the local HUD ladder supplies the relative bedroom pattern used in this calculation. The estimated two-bedroom figure matching current ZORI does not establish that an observed two-bedroom unit rents at that level; unit condition, utilities, lease terms, and availability remain unobserved here.</p><p>ACS ZCTA housing data show 13,534 housing units, with 11,414 occupied and 2,120 vacant, for a 15.7% vacancy rate. Renters occupied 53.4% of occupied homes, so rental households form a slightly larger share of occupied homes than owners. The housing stock contains more single-family units than large multifamily units, a mix that should not be translated into a claim about any individual listing. Among 6,093 renter households, 2,812, or 46.2%, were rent burdened at the ACS threshold of spending at least 30% of income on gross rent. There were 809 units reported vacant for rent, but this category is not proof that a specific unit is currently available, suitably priced, or comparable with ZORI.</p><p>Wider geographies provide context only: the City of San Antonio city-scope rent measure was $1,382, Bexar County’s county-scope rent measure was $1,389, and the San Antonio-New Braunfels, TX metro-scope rent measure was $1,416, each below 78212’s current ZORI. The ZIP’s 29.9% asking-rent-to-income screen also exceeds the metro context’s 22.3% measure. Those comparisons sharpen the local affordability tension, but they do not replace ZIP evidence or establish why the differences exist. City, county, and metro figures each represent wider areas with different housing compositions, income distributions, and source scopes than the matched ZCTA and Zillow ZIP series.</p><p>The direct rolling-three-month Redfin ZIP resale observation belongs wholly to the for-sale market, not to rental transactions. It reports a $412,407 median sold price, up 0.1% year over year, with 68 homes sold and a median 75 days on market. The same ZIP resale view showed 257 active listings, inventory of 160 homes, and 7.2 months of supply. Average sale-to-list was 95.1%, while 7.6% of sales closed above list. These resale liquidity signals sit uneasily beside the ZIP’s higher asking-rent snapshot and positive longer rent history: prices were nearly flat, supply was substantial, and sales generally closed below list. Annualized ZORI divided by median sold price is a 4.6% cross-source screening ratio only; it is not a cap rate, property yield, net return, or expected return.</p><p>The sources answer different questions and should not be collapsed into one rent conclusion. Zillow ZORI is a blended asking-rent index; ACS gross rent is a survey measure of occupied renter homes with selected utilities; and HUD standards are administrative benchmarks. The ACS ZCTA also carries survey uncertainty, while ZORI does not identify a property’s utilities, concessions, lease duration, bedroom count, or physical condition. Likewise, Redfin’s resale figures measure completed ZIP home sales and listing conditions, not rental demand, rental turnover, or property operating costs. The cooling history and resale evidence can improve context around a rent snapshot, but neither establishes a future path or a unit-specific outcome.</p><p>A property-level review should verify the live asking rent, exact bedroom configuration, included utilities, concessions, lease term, deposit requirements, and whether the unit is genuinely available. It should also compare the property’s condition and location within the ZIP against recent competing listings, then separately review appropriate sale records if the for-sale market matters. Confirm whether a listing’s advertised rent aligns with the ZORI rental-type blend rather than assuming the index is a direct comparable. The unresolved question is whether a specific unit’s all-in monthly housing cost and competitive position support the ZIP-level screen once its own facts are known.</p>","findings":[{"body":"ZIP ZORI was $1,565 in June 2026, while the arithmetic income needed to keep that asking-rent figure at 30% of income was $62,600. The matched ZCTA median household income was $62,801. This is a close aggregate comparison, not an affordability determination for any renter or a statement about a specific unit’s utilities, fees, or lease terms.","title":"Current asking rent is near the median-income screen"},{"body":"The same-month Zillow history shows a 0.2% decline over one year, against annualized gains of 0.5% over three years and 3.2% over five years. The sequence therefore shows current cooling after a positive longer path. Historical monthly variability and drawdown constrain confidence in treating the latest asking-rent observation as a stable, forward-looking level.","title":"Short-term cooling interrupts a positive longer record"},{"body":"ACS reports that 46.2% of renter households met the gross-rent burden threshold, while the ZCTA vacancy rate was 15.7%. Gross rent includes selected utilities and describes occupied renter homes, whereas vacancy is a housing-stock measure. Neither statistic proves the cost, availability, condition, or burden status associated with a particular rental listing.","title":"ZCTA renter burden and vacancy require separate interpretation"},{"body":"Redfin’s direct ZIP resale evidence showed 7.2 months of supply, a 75-day median marketing period, and average sales at 95.1% of list. Those for-sale conditions contrast with the ZIP’s higher asking-rent index relative to wider-area rent context. The 4.6% annualized-rent-to-sale-price figure is only a cross-source screening ratio and cannot represent property economics.","title":"Resale liquidity tempers a simple rent-price reading"}],"risks":["The asking-rent index, ACS gross-rent statistic, and HUD bedroom standards describe different universes. Treating them as interchangeable could overstate or understate the all-in rent for a particular available unit.","ACS ZCTA figures are five-year survey estimates with margins of error and cover a statistical area rather than a USPS delivery ZIP. They should not be assumed to describe every address carrying the ZIP label.","The recent Zillow decline, longer historical gains, volatility, and drawdown are backward-looking measurements. They do not establish future rent movement, leasing velocity, tenant demand, or an investment outcome.","Redfin resale data concern completed home sales and current for-sale listings, not rental transactions. Supply, marketing time, and sale-to-list patterns cannot directly determine a rental property’s expenses, occupancy, or net results."],"qa":[{"a":"They measure different housing populations and costs. Zillow ZORI is a typical observed asking-rent index blended across rental types, while ACS median gross rent is a five-year survey measure for occupied renter homes and includes selected utilities. The difference does not by itself indicate an error, a rent increase for every household, or an outcome for a current listing.","q":"Why is ZORI higher than the ACS median gross rent?"},{"a":"No. The studio through four-bedroom figures are modelled monthly estimates created by scaling ZIP ZORI with the local HUD bedroom ladder. HUD FMR or SAFMR is an administrative standard, not asking rent, and the resulting figures should not be presented as measured bedroom rents, executed leases, or direct comparables for a particular property.","q":"Are the bedroom figures observed rents for 78212?"},{"a":"It divides annualized ZIP asking rent by 30% to produce an arithmetic income reference point. It is useful for comparing the aggregate ZORI level with the area’s reported median household income, but it is not financial advice, a tenant screening standard, an applicant qualification rule, or a statement about affordability after utilities, debt, taxes, or household composition.","q":"What does the 30% required-income screen mean?"},{"a":"It is annualized ZIP ZORI divided by the ZIP median sold price from Redfin’s rolling-three-month resale observation. Because the numerator is an asking-rent index and the denominator is a median sale price from a different market universe, it is only a cross-source screening ratio. It excludes expenses, financing, vacancies, taxes, maintenance, and property-specific characteristics.","q":"How should the Redfin rent-price screen be used?"}],"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":"2016-05-01","rent":1033.567007},{"period":"2016-06-01","rent":1067.884292},{"period":"2016-07-01","rent":1062.369836},{"period":"2016-08-01","rent":1046.993185},{"period":"2016-09-01","rent":1040.865449},{"period":"2016-10-01","rent":1062.82242},{"period":"2016-11-01","rent":1065.706074},{"period":"2016-12-01","rent":1066.772846},{"period":"2017-01-01","rent":1063.725108},{"period":"2017-02-01","rent":1077.305768},{"period":"2017-03-01","rent":1088.986779},{"period":"2017-04-01","rent":1089.915882},{"period":"2017-05-01","rent":1083.429026},{"period":"2017-06-01","rent":1092.638022},{"period":"2017-07-01","rent":1109.80245},{"period":"2017-08-01","rent":1129.797952},{"period":"2017-09-01","rent":1140.286076},{"period":"2017-10-01","rent":1130.289178},{"period":"2017-11-01","rent":1130.321381},{"period":"2017-12-01","rent":1129.655068},{"period":"2018-01-01","rent":1136.855087},{"period":"2018-02-01","rent":1138.152319},{"period":"2018-03-01","rent":1142.635674},{"period":"2018-04-01","rent":1149.027187},{"period":"2018-05-01","rent":1150.853471},{"period":"2018-06-01","rent":1141.186961},{"period":"2018-07-01","rent":1140.195365},{"period":"2018-08-01","rent":1156.25671},{"period":"2018-09-01","rent":1153.139398},{"period":"2018-10-01","rent":1169.658696},{"period":"2018-11-01","rent":1161.667375},{"period":"2018-12-01","rent":1171.677652},{"period":"2019-01-01","rent":1164.581819},{"period":"2019-02-01","rent":1178.800683},{"period":"2019-03-01","rent":1186.063946},{"period":"2019-04-01","rent":1191.418238},{"period":"2019-05-01","rent":1198.875425},{"period":"2019-06-01","rent":1206.732577},{"period":"2019-07-01","rent":1211.929725},{"period":"2019-08-01","rent":1204.960189},{"period":"2019-09-01","rent":1215.845271},{"period":"2019-10-01","rent":1215.814253},{"period":"2019-11-01","rent":1234.900922},{"period":"2019-12-01","rent":1240.742869},{"period":"2020-01-01","rent":1257.347474},{"period":"2020-02-01","rent":1256.763812},{"period":"2020-03-01","rent":1235.073743},{"period":"2020-04-01","rent":1244.141631},{"period":"2020-05-01","rent":1238.280662},{"period":"2020-06-01","rent":1250.255746},{"period":"2020-07-01","rent":1253.334508},{"period":"2020-08-01","rent":1259.415609},{"period":"2020-09-01","rent":1265.658633},{"period":"2020-10-01","rent":1267.230784},{"period":"2020-11-01","rent":1271.778163},{"period":"2020-12-01","rent":1290.159696},{"period":"2021-01-01","rent":1291.688458},{"period":"2021-02-01","rent":1290.090672},{"period":"2021-03-01","rent":1299.990646},{"period":"2021-04-01","rent":1319.200537},{"period":"2021-05-01","rent":1341.048173},{"period":"2021-06-01","rent":1337.71394},{"period":"2021-07-01","rent":1349.379497},{"period":"2021-08-01","rent":1355.458825},{"period":"2021-09-01","rent":1368.69589},{"period":"2021-10-01","rent":1388.190724},{"period":"2021-11-01","rent":1412.186413},{"period":"2021-12-01","rent":1451.565007},{"period":"2022-01-01","rent":1469.536771},{"period":"2022-02-01","rent":1479.105411},{"period":"2022-03-01","rent":1477.690418},{"period":"2022-04-01","rent":1456.266958},{"period":"2022-05-01","rent":1466.117226},{"period":"2022-06-01","rent":1476.775343},{"period":"2022-07-01","rent":1495.24021},{"period":"2022-08-01","rent":1511.385246},{"period":"2022-09-01","rent":1519.681407},{"period":"2022-10-01","rent":1528.047926},{"period":"2022-11-01","rent":1515.364298},{"period":"2022-12-01","rent":1493.633728},{"period":"2023-01-01","rent":1497.963848},{"period":"2023-02-01","rent":1508.453657},{"period":"2023-03-01","rent":1517.951658},{"period":"2023-04-01","rent":1519.458824},{"period":"2023-05-01","rent":1533.499577},{"period":"2023-06-01","rent":1543.665679},{"period":"2023-07-01","rent":1546.806336},{"period":"2023-08-01","rent":1527.315462},{"period":"2023-09-01","rent":1518.712646},{"period":"2023-10-01","rent":1517.116828},{"period":"2023-11-01","rent":1537.573994},{"period":"2023-12-01","rent":1533.716133},{"period":"2024-01-01","rent":1543.330234},{"period":"2024-02-01","rent":1542.755207},{"period":"2024-03-01","rent":1553.916383},{"period":"2024-04-01","rent":1575.421968},{"period":"2024-05-01","rent":1561.833717},{"period":"2024-06-01","rent":1575.936679},{"period":"2024-07-01","rent":1579.922451},{"period":"2024-08-01","rent":1594.528517},{"period":"2024-09-01","rent":1603.852259},{"period":"2024-10-01","rent":1600.816957},{"period":"2024-11-01","rent":1600.524221},{"period":"2024-12-01","rent":1600.225528},{"period":"2025-01-01","rent":1583.068225},{"period":"2025-02-01","rent":1575.762068},{"period":"2025-03-01","rent":1569.918665},{"period":"2025-04-01","rent":1572.427396},{"period":"2025-05-01","rent":1569.535074},{"period":"2025-06-01","rent":1568.907904},{"period":"2025-07-01","rent":1564.328982},{"period":"2025-08-01","rent":1562.87535},{"period":"2025-09-01","rent":1561.264241},{"period":"2025-10-01","rent":1564.784834},{"period":"2025-11-01","rent":1559.23648},{"period":"2025-12-01","rent":1566.351236},{"period":"2026-01-01","rent":1574.524689},{"period":"2026-02-01","rent":1579.099076},{"period":"2026-03-01","rent":1577.403569},{"period":"2026-04-01","rent":1566.562338},{"period":"2026-05-01","rent":1572.95643},{"period":"2026-06-01","rent":1565.444176}],"historySummary":{"pointCount":122,"firstPeriod":"2016-05-01","latestPeriod":"2026-06-01","coverageMonths":122,"coverageRatio":1,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":1568.907904,"endRent":1565.444176,"change":-0.002207731882265973,"cagr":-0.002207731882265973},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":1543.665679,"endRent":1565.444176,"change":0.014108299028911642,"cagr":0.0046808220620417895},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1337.71394,"endRent":1565.444176,"change":0.17023836650756574,"cagr":0.031940997049612285}},"maxDrawdown":-0.0278178858118876,"annualizedVolatility":0.02915514649039805,"consecutiveReturnCount":121}}