{"zip":"94103","city":"San Francisco","state":"CA","county":"San Francisco County","countySlug":"san-francisco-county-ca","metro":"San Francisco-Oakland-Berkeley, CA","metroSlug":"san-francisco-ca","citySlug":"san-francisco-ca","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":4085,"rentYoy":0.207,"bedroomEstimates":[2817,3374,4085,5218,5409],"hudFmr":[2485,2977,3604,4604,4772],"ladderSource":"county","population":34964,"populationMoe":1934,"medianIncome":116438,"medianIncomeMoe":14947,"medianGrossRent":2218,"medianGrossRentMoe":149,"housingUnits":21609,"occupiedUnits":17952,"vacantUnits":3657,"renterOccupied":14408,"rentBurdenTotal":14408,"rentBurden30Plus":5442,"vacantForRent":2005,"vacantForSale":192,"vacantSeasonal":365,"structureTotal":21609,"singleFamilyUnits":1063,"largeMultifamilyUnits":14232,"vacancyRate":0.16923504095515757,"renterShare":0.8025846702317291,"rentBurdenShare":0.3777068295391449,"requiredIncome":163400,"askingRentToIncome":0.4209965818718975,"askingVsAcsRent":1.8417493237150586,"askingVsHud2br":1.1334628190899,"cityRent":4401.105615598153,"countyRent":4401,"metroRent":3301,"cityGrossRent":2476,"countyGrossRent":2476,"countyListings":647,"countyListingDom":57,"countyPriceReducedShare":0.0582,"countyListingPeriod":"2026-06","metroMonthsSupply":null,"metroMedianDom":null,"metroPriceDrops":null,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.0333429487101049,"apartmentTimeOnMarket":19.7,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":45,"zipSalePrice":883800,"zipSalePriceYoy":-0.0175,"zipMedianDom":43,"zipActiveListings":135,"zipActiveListingsYoy":0.0451,"zipInventory":65,"zipInventoryYoy":-0.1937,"zipPendingSales":53,"zipMonthsSupply":4.3,"zipSaleToList":1.0362,"zipSoldAboveList":0.364,"zipOffMarketTwoWeeks":0.2278,"generatedAt":"2026-09-01 10:16:45.082413+00","summaryHtml":"<p>ZIP 94103’s current rental signal is a $4,085 Zillow Observed Rent Index for June 2026, up 20.7% from the same month a year earlier. Zillow ZORI is a ZIP-level typical observed asking-rent index blended across rental types; it is not a lease ledger, an advertised price for every available unit, or a bedroom-specific rent measure. The five-digit label is both a Zillow ZIP market identifier and a matched Census ZCTA. A ZCTA is a statistical area built for Census tabulation, not an identical representation of a USPS delivery ZIP. That geographic match makes comparison useful, but it does not erase the sources’ different populations, timing, and methods.</p><p>The rent history shows a pronounced recent acceleration within a longer upward path. Exact same-month changes were 20.7% over one year, 8.8% annualized over three years, and 6.4% annualized over five years, so the latest movement confirms rather than breaks from the longer direction while materially exceeding its longer-run pace. History coverage is complete, with 118 observations and 117 consecutive monthly returns. Annualized month-to-month return variability of 4.7% makes any one current rent snapshot less settled than the headline increase alone suggests. Separately, the historical maximum drawdown was 24.8%, evidence that prior rent-index declines have been meaningful. Transparent national discovery ranks among history-eligible ZIPs place momentum at 19, stability at 2,779, and the balanced measure at 852; these are backward-looking descriptions, not forecasts or investment recommendations.</p><p>Bedroom figures should be read as modelled estimates rather than measured ZIP bedroom rents. Scaling the ZIP ZORI with the local HUD ladder produces estimates of $2,817 for a studio, $3,374 for a one-bedroom, $4,085 for a two-bedroom, $5,218 for a three-bedroom, and $5,409 for a four-bedroom. The alignment of the modelled two-bedroom figure with the overall ZORI does not turn either measure into a direct rent observation for a particular unit. HUD’s FY 2026 $3,604 two-bedroom FMR/SAFMR is an administrative, bedroom-specific standard used in the scaling ladder, not an asking-rent measure or evidence of what a unit will lease for.</p><p>The matched ACS 2024 five-year ZCTA survey reports median gross rent of $2,218 among occupied renter homes, and gross rent includes selected utilities. It therefore describes a different, survey-based universe from Zillow’s current asking-rent index, with different timing and household coverage. The same ACS survey reports median household income of $116,438. Annualizing the current asking-rent index requires $163,400 of income under a 30% screen, equal to 42.1% of that area median income. This required-income screen is arithmetic, not advice and not an applicant qualification rule. ACS also records 37.8% of renter households as rent-burdened at that threshold, or 5,442 of 14,408 renter households; neither the area burden rate nor the income comparison proves the circumstances of a particular household.</p><p>Area composition supplies a separate survey backdrop for rental availability and housing stock. Renters occupy 80.3% of occupied homes in the ZCTA, while large multifamily structures account for 14,232 housing units. The overall vacancy rate is 16.9%, including 2,005 homes classified as vacant and for rent. Those area aggregates may indicate a broader stock condition, but they do not establish whether any individual listing is vacant, rentable, comparable, or concession-free. In wider context—not substitutes for ZIP measures—the San Francisco city context and San Francisco County context each show a $4,401 asking-rent index, compared with $3,301 for the San Francisco-Oakland-Berkeley, CA metro context; the city context has a 61.8% renter share and a 12.2% vacancy rate. The ZIP’s rent level is below the city and county context while its renter concentration and vacancy rate are higher.</p><p>The direct rolling-three-month ZIP resale observation describes the for-sale market, not rental transactions. Median sold price was $883,800, down 1.8% year over year, with 45 homes sold and a median 43 days on market. Inventory stood at 65 homes and months of supply were 4.3. Sale-to-list evidence was firmer than the annual median-price change alone: the average sale-to-list ratio was 103.6%, 36.4% of sales closed above list, and 22.8% of listings went off market within two weeks. These are ZIP resale liquidity and pricing signals only. They neither establish rental comparables nor show the operating economics, condition, tenure, or financing profile of a specific property.</p><p>The strongest cross-source tension is between sharply rising recent asking-rent history and a modestly lower resale median, even as several sale-to-list measures remain above or supportive of list pricing. The demanding area-level income screen adds a second tension: current asking rent is high relative to the ACS income benchmark, while the historical path has also shown notable variability and a deep prior pullback. Annualized ZIP ZORI divided by the ZIP median sold price produces a 5.5% cross-source screening ratio. It is not a cap rate, property yield, net return, expected return, or measure of property-level cash flow. The resale data challenge a simple claim that all current rent strength is mirrored by sale-price appreciation.</p><p>Decision use is limited by source design and aggregation. ZORI blends rental types; ACS describes surveyed occupied households; HUD sets administrative bedroom standards; and Redfin tracks resale activity over a rolling period. A defensible property-level review would verify the actual bedroom count, asking rent, lease term, concessions, utility responsibility, unit condition, occupancy status, and whether the relevant sale is genuinely comparable in property type and timing. It should also distinguish active listings from completed leases and completed resales. The key question is whether the specific unit’s documented terms align with these separate area signals rather than assuming that any aggregate rent, vacancy, burden, or resale statistic describes that unit.</p>","findings":[{"body":"The current Zillow asking-rent index rose much faster over the latest same-month period than its longer annualized three- and five-year paths. Complete monthly coverage supports the historical read, yet the ZIP is classified as high variability and has experienced a substantial prior drawdown. Recent direction is constructive in the historical record, but a single current index reading deserves measured confidence.","title":"Recent rent momentum is strong, but the history is not smooth"},{"body":"The studio-through-four-bedroom figures are derived by scaling the ZIP-wide Zillow index with the local HUD bedroom ladder. They are useful for maintaining a consistent size relationship across unit types, but they should never substitute for observed bedroom-specific asking rents. HUD FMR/SAFMR is an administrative standard, while Zillow ZORI is a blended asking-rent index; neither alone identifies a particular unit’s price.","title":"Bedroom values are ladder-based modelling, not rent observations"},{"body":"ACS gross rent is materially lower than the current Zillow asking-rent index, but the comparison crosses a five-year survey of occupied renter homes and a current asking-rent index. The required-income calculation is only a mathematical 30% screen. The ACS burden share describes households in the ZCTA survey and cannot demonstrate whether a particular available apartment is affordable to a particular applicant.","title":"Affordability evidence depends on the universe being compared"},{"body":"ZIP resale prices declined modestly year over year while recent asking-rent momentum was strong. At the same time, above-list sales and the average sale-to-list ratio indicate that resale pricing signals were not uniformly weak. This contrast makes the annualized-rent-to-sale-price figure useful only as a cross-source screen. It cannot measure net income, financing, expenses, appreciation, or property-level investment performance.","title":"Resale evidence complicates the rent narrative"}],"risks":["Zillow ZORI blends rental types into a typical asking-rent index, so it may not match a specific unit’s bedroom count, condition, lease term, included utilities, concessions, or actual signed lease price.","ACS ZCTA estimates are five-year survey measures for a statistical geography and occupied households, while the Zillow ZIP identifier is not identical to a USPS delivery ZIP or a current leasing sample.","Vacancy and rent-burden statistics are area aggregates. They cannot establish that a particular unit is available, vacant, competitively priced, burdened, or subject to the same utility and lease terms.","Redfin resale indicators describe completed ZIP for-sale transactions and listings over a rolling period. The rent-to-price screen omits operating costs, taxes, financing, maintenance, vacancy experience, and property comparability."],"qa":[{"a":"They come from different evidence universes. Zillow ZORI is a current typical observed asking-rent index blended across rental types. ACS median gross rent is a five-year survey estimate for occupied renter homes and includes selected utilities. HUD FMR/SAFMR is an administrative bedroom-specific standard. Their differences should be interpreted as differences in scope and method, not as contradictory measurements of one identical rental population.","q":"Why does the report show different rent values for the same ZIP?"},{"a":"No. They are modelled monthly ZIP estimates created by scaling the overall Zillow ZORI with the local HUD bedroom ladder. The method provides a transparent size-based estimate from studio through four bedrooms, but it does not observe available listings or completed leases by bedroom count. Unit-level rent verification remains necessary because actual terms, utilities, condition, and concessions can differ.","q":"Are the bedroom rent figures observed asking rents?"},{"a":"It annualizes the current ZIP asking-rent index and divides by 30% to show the income level that corresponds to that arithmetic threshold. It is not affordability advice, an underwriting conclusion, or an applicant qualification rule. The calculation also should not be treated as proof that every household earning below that amount faces the same housing costs or has the same lease choices.","q":"What does the 30% required-income screen mean?"},{"a":"Redfin’s rolling-three-month ZIP observation should be used only to describe the local for-sale resale market: sold prices, sales pace, marketing time, inventory, supply, and sale-to-list outcomes. It is not rental evidence. Dividing annualized ZORI by median sold price creates a cross-source screening ratio, but it excludes all property-level operating costs, financing terms, physical differences, and transaction-specific conditions.","q":"How should the resale information be used alongside rent data?"}],"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-09-01","rent":3436.976195},{"period":"2016-10-01","rent":3498.112488},{"period":"2016-11-01","rent":3535.377947},{"period":"2016-12-01","rent":3577.729025},{"period":"2017-01-01","rent":3450.406204},{"period":"2017-02-01","rent":3468.273143},{"period":"2017-03-01","rent":3435.81212},{"period":"2017-04-01","rent":3536.004985},{"period":"2017-05-01","rent":3529.713941},{"period":"2017-06-01","rent":3594.808206},{"period":"2017-07-01","rent":3545.009065},{"period":"2017-08-01","rent":3548.303639},{"period":"2017-09-01","rent":3531.168707},{"period":"2017-10-01","rent":3545.402646},{"period":"2017-11-01","rent":3550.109643},{"period":"2017-12-01","rent":3525.47101},{"period":"2018-01-01","rent":3559.041249},{"period":"2018-02-01","rent":3551.042896},{"period":"2018-03-01","rent":3589.025464},{"period":"2018-04-01","rent":3569.465025},{"period":"2018-05-01","rent":3549.011872},{"period":"2018-06-01","rent":3534.827642},{"period":"2018-07-01","rent":3541.216671},{"period":"2018-08-01","rent":3564.62804},{"period":"2018-09-01","rent":3602.386647},{"period":"2018-10-01","rent":3618.996877},{"period":"2018-11-01","rent":3643.71972},{"period":"2018-12-01","rent":3667.934279},{"period":"2019-01-01","rent":3705.48809},{"period":"2019-02-01","rent":3698.690991},{"period":"2019-03-01","rent":3708.261124},{"period":"2019-04-01","rent":3704.248995},{"period":"2019-05-01","rent":3729.811671},{"period":"2019-06-01","rent":3711.131284},{"period":"2019-07-01","rent":3740.419579},{"period":"2019-08-01","rent":3746.225994},{"period":"2019-09-01","rent":3740.827229},{"period":"2019-10-01","rent":3726.320311},{"period":"2019-11-01","rent":3710.538569},{"period":"2019-12-01","rent":3707.575617},{"period":"2020-01-01","rent":3688.81279},{"period":"2020-02-01","rent":3696.439654},{"period":"2020-03-01","rent":3639.504998},{"period":"2020-04-01","rent":3604.298116},{"period":"2020-05-01","rent":3491.296006},{"period":"2020-06-01","rent":3420.234886},{"period":"2020-07-01","rent":3288.949259},{"period":"2020-08-01","rent":3154.790792},{"period":"2020-09-01","rent":3009.238099},{"period":"2020-10-01","rent":2907.623049},{"period":"2020-11-01","rent":2851.714114},{"period":"2020-12-01","rent":2833.591846},{"period":"2021-01-01","rent":2819.891909},{"period":"2021-02-01","rent":2815.658175},{"period":"2021-03-01","rent":2837.154376},{"period":"2021-04-01","rent":2886.611578},{"period":"2021-05-01","rent":2934.460201},{"period":"2021-06-01","rent":2995.217804},{"period":"2021-07-01","rent":3059.830267},{"period":"2021-08-01","rent":3150.00227},{"period":"2021-09-01","rent":3223.29009},{"period":"2021-10-01","rent":3251.722382},{"period":"2021-11-01","rent":3257.836169},{"period":"2021-12-01","rent":3248.08434},{"period":"2022-01-01","rent":3283.367332},{"period":"2022-02-01","rent":3281.698956},{"period":"2022-03-01","rent":3270.221471},{"period":"2022-04-01","rent":3234.145411},{"period":"2022-05-01","rent":3221.023358},{"period":"2022-06-01","rent":3222.58806},{"period":"2022-07-01","rent":3223.363684},{"period":"2022-08-01","rent":3236.151686},{"period":"2022-09-01","rent":3238.777686},{"period":"2022-10-01","rent":3276.797748},{"period":"2022-11-01","rent":3304.135229},{"period":"2022-12-01","rent":3322.396068},{"period":"2023-01-01","rent":3284.798245},{"period":"2023-02-01","rent":3254.715817},{"period":"2023-03-01","rent":3241.788881},{"period":"2023-04-01","rent":3216.555347},{"period":"2023-05-01","rent":3204.174155},{"period":"2023-06-01","rent":3175.59918},{"period":"2023-07-01","rent":3186.338953},{"period":"2023-08-01","rent":3172.746146},{"period":"2023-09-01","rent":3165.536122},{"period":"2023-10-01","rent":3133.402863},{"period":"2023-11-01","rent":3106.093845},{"period":"2023-12-01","rent":3090.93311},{"period":"2024-01-01","rent":3108.726427},{"period":"2024-02-01","rent":3121.449491},{"period":"2024-03-01","rent":3145.535898},{"period":"2024-04-01","rent":3163.860654},{"period":"2024-05-01","rent":3198.703595},{"period":"2024-06-01","rent":3185.470051},{"period":"2024-07-01","rent":3179.49507},{"period":"2024-08-01","rent":3165.073155},{"period":"2024-09-01","rent":3183.429853},{"period":"2024-10-01","rent":3202.732457},{"period":"2024-11-01","rent":3227.925994},{"period":"2024-12-01","rent":3289.614623},{"period":"2025-01-01","rent":3312.509277},{"period":"2025-02-01","rent":3335.701874},{"period":"2025-03-01","rent":3321.424173},{"period":"2025-04-01","rent":3344.603166},{"period":"2025-05-01","rent":3355.328405},{"period":"2025-06-01","rent":3384.789797},{"period":"2025-07-01","rent":3418.021521},{"period":"2025-08-01","rent":3472.511136},{"period":"2025-09-01","rent":3505.578322},{"period":"2025-10-01","rent":3550.674059},{"period":"2025-11-01","rent":3597.839407},{"period":"2025-12-01","rent":3617.40049},{"period":"2026-01-01","rent":3668.659669},{"period":"2026-02-01","rent":3729.520106},{"period":"2026-03-01","rent":3820.568397},{"period":"2026-04-01","rent":3895.869767},{"period":"2026-05-01","rent":3978.474983},{"period":"2026-06-01","rent":4085.276109}],"historySummary":{"pointCount":118,"firstPeriod":"2016-09-01","latestPeriod":"2026-06-01","coverageMonths":118,"coverageRatio":1,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":3384.789797,"endRent":4085.276109,"change":0.2069512005208871,"cagr":0.2069512005208871},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":3175.59918,"endRent":4085.276109,"change":0.2864583587025613,"cagr":0.0875900967190737},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":2995.217804,"endRent":4085.276109,"change":0.36393290115472343,"cagr":0.06404158425471063}},"maxDrawdown":-0.24840140997644256,"annualizedVolatility":0.046901298663473576,"consecutiveReturnCount":117}}