San Antonio, TX · Military City, USA UEI L58JZMKRCLM5  ·  CAGE 203C1  ·  NAICS 541511  ·  SAM.gov Active

This page reads that ledger the way the rest of these tools read a public record. It publishes what the City reports, the share of projects each money column is actually filled in on, and the questions the record cannot answer at all. Nothing here is estimated.

Two numbers on this page are easy to misread, so they are settled before anything else.

The field called "Total Budget" is a recorded zero on 274 of the 370 projects. Divide the City’s recorded spending by it and you get 602.5% of budget, which is arithmetic over a column of zeroes rather than a finding. Every dollar figure below uses the Bond Budget and Bond Expenditures pair instead, and each one is printed beside the share of projects that actually carries it.

And no project in this record carries a real date. 356 of the construction end dates are a season, such as "Summer 2029", and the rest are blank. Nothing here can measure whether a project is late. Whether a project is on schedule is the City’s own assessment of itself, and this page reports it as exactly that.

What voters approved, and what has been spent

$2.05Bapproved across 2 bond programmes, recorded on 99.2% of projects
$1.07Brecorded as spent, on 98.6% of projects
370projects, of which 243 are complete and 6 cancelled

The citywide rate is 52.2%, and on its own it describes neither programme. Read separately, the 2017 bond is at 86.0% and the 2022 bond is at 28.5%. They were approved five years apart and are at different stages of delivery, so the blended figure is an average of two unrelated things.

Bond programmeProjectsApprovedSpentShare spentCompleteOff schedule
2017 bond182$844.0M$726.0M86.0%1717
2022 bond188$1.21B$343.5M28.5%7233

Which money fields are actually filled in

Four money columns exist. Two of them are usable and two are not, and nothing in the record marks which is which. This is the table that decides every figure above.

Column, as the City names itCarries a figureRecorded as zeroBlankCoverage
Bond Budget3673099.2%
Bond Expenditures3655098.6%
Total Budget96274025.9%
Total Expenditures3664098.9%

Not one value in this table is blank, and that matters. A blank column would say nobody recorded a figure. A zero says the City wrote zero, and the record does not say whether that means the project has no separate total budget or that nobody entered one. Those are different facts and this page cannot tell them apart, so it says "recorded as zero" throughout and never "missing".

A rate is only ever computed inside one pair. Four divisions are refused here: recorded spending by Total Budget, bond spending by Total Budget, recorded spending by Bond Budget, and any of those added up citywide before dividing. The record does not document what separates the Total pair from the Bond pair, and unlike the building permits dataset this one publishes no data dictionary, so the difference is not guessed at.

By proposition

Ordered by how many projects each covers, never by money. A proposition with more dollars is not better funded relative to need: they buy different kinds of thing, and a library is not a drainage tunnel.

PropositionProjectsApprovedSpentCompleteOff schedule
Parks163$459.2M$265.4M12818 (11%)
Streets126$916.8M$484.7M7212 (10%)
Drainage42$308.9M$147.8M205 (12%)
Library13$23.3M$23.6M130 (0%)
Safety11$112.7M$48.9M62 (18%)
Facility9$59.1M$19.6M33 (33%)
Housing5$150.0M$59.0M00 (0%)
Neighborhood1$20.0M$20.5M10 (0%)

By council district, and the money that has no single district

Only 75.0% of the approved money sits in one named council district. The rest belongs to projects that span several, or that the City recorded as citywide. It is shown below as its own rows and is never divided between districts, because the record does not say how it divides and inventing a split would make the number ours rather than the City’s.

DistrictProjectsApprovedSpentOff schedule
District 150$329.3M$239.9M7
District 233$137.7M$81.8M4
District 343$206.3M$110.5M3
District 432$147.9M$85.8M2
District 532$145.4M$64.8M6
District 631$107.4M$55.3M3
District 730$108.1M$53.3M1
District 823$127.3M$72.9M1
District 925$119.9M$63.4M0
District 1030$108.4M$47.4M3
Spans several council districts23$307.1M$105.8Mnot comparable
Citywide (CW)18$205.2M$88.5Mnot comparable

These districts are not ranked and should not be. A district with more bond money recorded against it is not better served. Propositions fund particular kinds of asset, and parks, drainage and streets are not spread evenly across a city.

The record carries three council district columns and they do not agree. The column named Council District matches the one named CD on 329 of 370 projects, and CD matches CD2 on 347. This page reads Council District throughout. There is nothing in the record that makes one of the three authoritative, and switching between them would move money between districts, so the disagreement is published rather than quietly resolved.

On schedule, according to the City

324projects the City records as on schedule
40projects the City records as off schedule
6projects the City records as cancelled

No project sits past the end date the City has given it while still incomplete, and that is worth stating carefully. It is what you would see if the City kept these dates current. It is also exactly what you would see if a date were moved forward each time a project slipped. The record holds no history of previous end dates, so nothing in it separates the two readings, and this page does not pick one.

What can be said plainly is narrower: the City flags 40 of its 370 projects as off schedule itself, and 8 projects are marked complete and off schedule at the same time, which is the City recording that they finished late.

Cancelled

ProjectBondDistrictApprovedSpent
Lone Star Boulevard (Area Streets)201705$62k$63k
Aquatic Center at Palo Alto College201704$0$0
Harvey E. Najim YMCA Phase 2201703$50k$50k
O.P. Schnabel Park Multi-Generational Center201707$11k$0
Sports Education Facility201702$2k$2k
District 4 Multigenerational Recreational202204$0$0

A cancelled project that records money spent is not necessarily money wasted. Design and study work happens before a decision to cancel, and the record does not say what was bought.

What this record cannot tell you

QuestionWhat the record holds
Is a project late?No date exists to measure against. Every construction end is a season and the City's own status flag is the only judgement available.
Is a project over budget?Not computable. The column that would be the denominator is a recorded zero on most projects, and approved bond money is an authorisation rather than an estimate of final cost.
What does each district get?Only for the 75.0% of money in a single named district. The rest spans districts or is citywide and is never divided.
What is the difference between the two budget columns?Undocumented. This package publishes no data dictionary, so the distinction is not guessed at.
Who is responsible for a project?The record names an officer and a direct phone number on every project. This page reads neither and republishes neither.

Source: City of San Antonio bond project master list, which the City states is updated monthly, retrieved 2026-08-30. This is a different record from the building permit file: a permit is permission for someone to build, and a bond project is work the City committed voters’ money to. There is no key between them and this page never joins them. Machine readable copies: JSON API and CSV.

Other San Antonio tools

Same method, a different public record. Each one states what its record cannot answer.

Crime Map Building Permits Bar & Restaurant Revenue Aggressive Driving Trail Accessibility Licence Plate Readers Data Centers Data Center Zoning 311 Response Times Data Center Corroboration Data Center Environmental Record Bond Projects

All 12 are free, with no signup and no email wall, and the public API behind them needs no key.