Part of the San Antonio Commercial Asking Rent Snapshot — September 2026.
Retail in September 2026: Median $18 per square foot per year, n=31. Published readings in this window are dated 2026-09-23. Null asking rents are excluded. This is a public-page observation, not availability.
USD per square foot per year: $18 per square foot per year. n=31.
The normalized readings run from $9 to $30 per square foot per year.
The page stated a per-square-foot rent and did not say whether that was per year or per month. These readings are not mixed into the per-year median.
| Asset class | Median of the stated figure | n |
|---|---|---|
| Retail | $2 per square foot, period not stated | 1 |
A row is a postal code printed on the observation, not a named submarket. It is listed when at least 5 normalized readings share that code inside one asset class. A building that publishes many suites can move the figure. Groups below 5 stay in the class median and are left out of this table.
| Asset class | Postal code | Median $/sf/yr | n |
|---|---|---|---|
| Retail | 78237 | $14 | 9 |
| Retail | 78218 | $17 | 5 |
Chart file: /reports/2026-09.svg. The highlighted bar is retail.
Observation window: 2026-09-01 through 2026-09-30, UTC. A date is the day a public page was read, not a lease start. Published readings in this window are dated 2026-09-23.
Each published suite contributes its newest observation in that window. An older reading on the same suite is not a second point.
1991 suites have a reading in the window. 582 of those state a base rent. A null base rent is excluded from every median. Null does not mean zero.
24 duplicate readings were collapsed before the medians. A duplicate is the same address, suite label, rent, unit, and area. A blank address is not merged with another suite. The n under each median is the count after that collapse.
USD per square foot per year is the primary unit. A rent stored as usd_per_sf_year is used as stated. A rent stored as usd_per_sf_month is multiplied by 12. That is a unit conversion of a stated rate, not a new rent. A rent stored as usd_per_month is converted only when area is stated and greater than zero: monthly rent times 12, divided by the stated square feet. A rent stored as usd_per_year is divided by stated square feet the same way.
A rent stored as usd_per_sf is not converted. The page did not say year or month. Those readings have their own median, labeled period not stated.
A monthly rent with no stated area stays in a USD-per-month median. It is not divided into a per-square-foot rate.
A stated amount with no stored unit is excluded from every median. The amount remains on the suite page. A non-positive rent is not used. This snapshot does not replace any excluded figure with an estimate.
108 stated rents remain outside every median after deduplication because the unit could not be used under those rules.
The median is the middle value after sorting. An even count uses the mean of the two middle values only. The arithmetic mean of the cohort is not published. Asset class is the recorded use type. A suite whose use type was not stated stays in the citywide median and in the row Use type not stated. It is not moved onto office, retail, industrial, or flex.
Readings are suite observations, not buildings and not closed leases. sourceKind is public_page. Evidence older than 7 days is confirmation_overdue on the suite page. This snapshot does not drop a reading for age.
These are asking rents printed on public pages, observed on the dates above. They are not closed transactions, not effective rents, and not a confirmation that the suite is available.
Rent units in the source pages are inconsistent. Some state dollars per month, some state dollars per square foot per year, and some state a per-square-foot figure without a period. This snapshot does not guess the missing period.
Listing headlines are not treated as building names on suite pages when the observation states an address. The medians do not depend on the headline.
One property with many suites can dominate a postal code. This is not a building-weighted index.
3 normalized readings are above 200 USD per square foot per year. They stay in the median because the stated fields convert under the method. The median is not the mean, so a single extreme reading does not set it.
1 normalized reading is below 1 USD per square foot per year. It stays in the median for the same reason.
Every published reading in this window falls on 2026-09-23. This snapshot is one observation date, not a multi-month trend. No earlier month is invented to draw a line.
Retail observations list the underlying suite pages. Stated-rent JSON is the same published fields, filtered.