What San Antonio’s Bond Ledger Records
San Antonio voters approve bond programs, and the City publishes a project by project ledger of what that money is doing. It is the only machine readable record of City money there is: the open data catalog carries 166 datasets and not one of them is a budget, a payroll or a procurement file.
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.
It also maps them. Every project the City records a place for is on the map below, drawn as the City’s own alignment where it publishes one. The citywide programs are not, because a program spread across the whole city has no single location, and the coordinates the record gives them are a downtown cluster rather than places where work happens. They are listed instead, so nothing goes missing.
One claim on an earlier version of this page was wrong and is corrected below. It said the City publishes no contract or vendor data at all. The search behind that looked at the names of datasets, and a vendor name is a column inside one: the City does name consultants and contractors on bond projects, unevenly, and in older files published beside the current list.
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
The citywide rate is 52.2%, and on its own it describes neither program. 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 program | Projects | Approved | Spent | Share spent | Complete | Off schedule |
|---|---|---|---|---|---|---|
| 2017 bond | 182 | $844.0M | $726.0M | 86.0% | 171 | 7 |
| 2022 bond | 188 | $1.21B | $343.5M | 28.5% | 72 | 33 |
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 it | Carries a figure | Recorded as zero | Blank | Coverage |
|---|---|---|---|---|
| Bond Budget | 367 | 3 | 0 | 99.2% |
| Bond Expenditures | 365 | 5 | 0 | 98.6% |
| Total Budget | 96 | 274 | 0 | 25.9% |
| Total Expenditures | 366 | 4 | 0 | 98.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.
| Proposition | Projects | Approved | Spent | Complete | Off schedule |
|---|---|---|---|---|---|
| Parks | 163 | $459.2M | $265.4M | 128 | 18 (11%) |
| Streets | 126 | $916.8M | $484.7M | 72 | 12 (10%) |
| Drainage | 42 | $308.9M | $147.8M | 20 | 5 (12%) |
| Library | 13 | $23.3M | $23.6M | 13 | 0 (0%) |
| Safety | 11 | $112.7M | $48.9M | 6 | 2 (18%) |
| Facility | 9 | $59.1M | $19.6M | 3 | 3 (33%) |
| Housing | 5 | $150.0M | $59.0M | 0 | 0 (0%) |
| Neighborhood | 1 | $20.0M | $20.5M | 1 | 0 (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.
| District | Projects | Approved | Spent | Off schedule |
|---|---|---|---|---|
| District 1 | 50 | $329.3M | $239.9M | 7 |
| District 2 | 33 | $137.7M | $81.8M | 4 |
| District 3 | 43 | $206.3M | $110.5M | 3 |
| District 4 | 32 | $147.9M | $85.8M | 2 |
| District 5 | 32 | $145.4M | $64.8M | 6 |
| District 6 | 31 | $107.4M | $55.3M | 3 |
| District 7 | 30 | $108.1M | $53.3M | 1 |
| District 8 | 23 | $127.3M | $72.9M | 1 |
| District 9 | 25 | $119.9M | $63.4M | 0 |
| District 10 | 30 | $108.4M | $47.4M | 3 |
| Spans several council districts | 23 | $307.1M | $105.8M | not comparable |
| Citywide (CW) | 18 | $205.2M | $88.5M | not 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.
Where the projects are
Every project the City records a location for, drawn on the City's own council district geography. Where the City publishes a real alignment for a project, that line is drawn instead of a point.
352 of 370 projects are on this map, 134 of them as an alignment rather than a point. 18 citywide programs carrying $205.2M are not on it, and are listed underneath.
A citywide program has no single location. Each one does carry a coordinate in the record, but those 18 coordinates are a small downtown cluster rather than places where the work happens, so plotting them would put 10.0% of the whole ledger on a handful of blocks. They are listed instead.
A pin is not the work. It is the single point the City recorded. A street or drainage project covers a corridor, and a project that spans several council districts is drawn as one marker standing for all of them. Some projects share a coordinate with another, so one marker can stand for more than one.
The record stores these positions in Texas State Plane feet, not latitude and longitude. They are converted here, and the conversion is checked against the same points published by the City in latitude and longitude on every build; the largest disagreement is currently 0.946 meters.
Nothing external is contacted until you press this: not the map library, not the background tiles, and not the project locations.
The citywide programs, which are not on the map
$205.2M, 10.0% of the ledger, recorded against no council district and no single place.
| Program | Proposition | Bond | Phase | Approved |
|---|---|---|---|---|
| Home Owner Rehabilitation & Preservation | Housing | 2022 | Construction | $45.0M |
| Rental Acquisition, Rehab, & Preservation | Housing | 2022 | Construction | $40.0M |
| Rental Housing Production & Acquisition | Housing | 2022 | Construction | $35.0M |
| Permanent Onsite Supportive Homeless Srv | Housing | 2022 | Construction | $25.0M |
| Neighborhood Improvements | Neighborhood | 2017 | Complete | $20.0M |
| Citywide Bicycle Facilities | Streets | 2022 | Construction | $10.0M |
| Public Art (Streets) | Streets | 2022 | Construction | $7.1M |
| Homeownership Production | Housing | 2022 | Construction | $5.0M |
| Public Art (Streets) | Streets | 2017 | Construction | $4.4M |
| Public Art (Parks) | Parks | 2022 | Construction | $4.1M |
| Public Art (Drainage) | Drainage | 2022 | Construction | $2.6M |
| Public Art (Parks, Recreation & Open Space) | Parks | 2017 | Complete | $1.9M |
| Public Art (Drainage) | Drainage | 2017 | Complete | $1.4M |
| Public Art (Public Safety Facilities) | Safety | 2022 | Design | $1.2M |
| Citywide Bridge Improvements | Streets | 2022 | Complete | $1.2M |
| Public Art (Libraries Facilities) | Facility | 2022 | Design | $875k |
| Public Art (Public Safety Facilities Improvements) | Safety | 2017 | Complete | $344k |
| Public Art (Library & Cultural Facilities) | Library | 2017 | Complete | $240k |
On schedule, according to the City
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
| Project | Bond | District | Approved | Spent |
|---|---|---|---|---|
| Lone Star Boulevard (Area Streets) | 2017 | 05 | $62k | $63k |
| Aquatic Center at Palo Alto College | 2017 | 04 | $0 | $0 |
| Harvey E. Najim YMCA Phase 2 | 2017 | 03 | $50k | $50k |
| O.P. Schnabel Park Multi-Generational Center | 2017 | 07 | $11k | $0 |
| Sports Education Facility | 2017 | 02 | $2k | $2k |
| District 4 Multigenerational Recreational | 2022 | 04 | $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.
Who the City hired, where it says so
This page used to say the City publishes no contract or vendor data anywhere in its open data catalog. That was wrong. The search behind it looked at the names of datasets, and a vendor name is a column inside one. The City names consultants and contractors on bond projects, in older files published alongside the current list.
The coverage runs backwards in time. It is close to complete on the 2012 program, partial on 2017, and absent from the current master list, so a project with nobody named against it here is one the record does not name anybody for, not one that was built without a contractor. 57 of the 370 projects on this page can be matched to a named consultant or contractor, using the City's own project number rather than the project name, which is spelled differently between the files.
| Project | City project no. | Consultant | Contractor | Approved |
|---|---|---|---|---|
| Prue Road (Babcock Road to Laureate Drive) | 23-01603 | Michael Baker International, Inc. | JJ Abrams LP | $27.6M |
| Port San Antonio | 23-01633 | Pape-Dawson Engineers, Inc. | not named | $24.0M |
| Seeling Channel Phase 3 | 23-01635 | Unintech Consulting Engineers | not named | $18.0M |
| Bulverde Road Phase 1 (Butterleigh Drive to North of Quiet Meadow Street) | 23-01565 | LNV, Inc. | not named | $17.0M |
| DeZavala Road (I-10 Frontage Road to Lockhill Selma Road) | 23-01570 | Camacho-Hernandez & Associates | Curran Contracting Company | $15.5M |
| San Pedro Creek | 23-01634 | not named | Sundt Davila | $14.6M |
| Commerce Street (Frio Street to Santa Rosa Street) | 23-01569 | Chiang Patel & Yerby, Inc. | not named | $14.0M |
| Goliad Road (Fair Avenue to East Southcross Boulevard) | 23-01583 | Camacho-Hernandez & Associates | not named | $12.9M |
| Santa Rosa Street (César E. Chávez Boulevard to Martin Street) | 23-01608 | Pape-Dawson Engineers, Inc. | not named | $12.0M |
| Brooks City Base South New Braunfels Avenue (Lyster Road to Aviation Landing) | 23-01563 | Pape-Dawson Engineers, Inc. | not named | $10.4M |
| West Military Drive & Westmar Drive Area | 23-01639 | KFW Engineering | not named | $10.2M |
| Brooks City Base Stinson Corridor (Research Plaza to South Presa Street) | 23-01564 | Pape-Dawson Engineers, Inc. | not named | $10.0M |
| West Commerce Street (Frio Street to Colorado Street) | 23-01617 | Bain Medina Bain, Inc. | not named | $10.0M |
| West Military Drive & Ingram Road Connectors | 23-01618 | Developer (KFW Engineers) | not named | $10.0M |
| Cedarhurst Drive Area (Dumont Drive to Eaglerock Drive) | 23-01627 | Maestas & Associates, Inc. | not named | $9.2M |
| Esma Street Area | 23-01629 | Bain Medina Bain, Inc. | not named | $9.2M |
| District 1 Pedestrian Mobility & Streets | 23-01571 | MW Cude Engineers, LLC | not named | $9.0M |
| Enrique M. Barrera Parkway Phase 1 (Old Highway 90 Area) | 23-01579 | AIA Engineers, Ltd. | not named | $9.0M |
| North Main Avenue & Soledad Street (Pecan Street to Navarro Street) | 23-01598 | Lockwood, Andrews & Newnam, Inc. | not named | $9.0M |
| North New Braunfels Avenue Phase 1 (East Houston Street to Burleson Street) | 23-01599 | Freese and Nichols, Inc. | not named | $9.0M |
| Probandt Street (South Alamo Street to US Highway 90) | 23-01602 | Kimley-Horn and Associates, Inc. | not named | $9.0M |
| South Alamo Street Improvements (Market Street to East César E. Chávez Boulevard) | 23-01609 | Moore Iacofano Goltsman, Inc. | not named | $9.0M |
| Barbara Drive Drainage Phase 2 | 23-01623 | Halff Associates, INC. | not named | $8.7M |
| Fredericksburg Road (North Flores Street to West Woodlawn Avenue) | 23-01582 | Poznecki-Camarillo, Inc. | not named | $8.0M |
| Roosevelt Avenue (US Highway 90 to Southeast Loop 410) | 23-01606 | Civil Engineering Consultants | not named | $8.0M |
| Eisenhauer Road/Northwood-Devonshire Drive Area Phase 1 | 23-01628 | CDS Muery | not named | $8.0M |
| South Pine Street/Greer Street Phase 1 | 23-01636 | Vickrey & Associates, Inc. | not named | $8.0M |
| Bynum Avenue (West Gerald Avenue to Southwest Military Drive) | 23-01566 | IDCUS, Inc. | not named | $7.7M |
| North St. Mary’s Street (East Mistletoe Avenue to West Josephine Street) | 23-01600 | Gonzalez De La Garza & Associates | not named | $7.0M |
| Upland Road | 23-01637 | Ford Engineering, Inc. | not named | $6.9M |
| Vance Jackson Road Low-Water Crossings | 23-01638 | M&S Engineering, LLC | not named | $6.4M |
| Hardy Oak Boulevard and Huebner Road Extensions | 23-01585 | Developer (Pape Dawson Engineers) | not named | $6.3M |
| Commerce Street (St. Mary’s Street to Santa Rosa Street) | 23-01568 | Chiang Patel & Yerby, Inc. | not named | $6.0M |
| San Saba Street (Nueva Street to Martin Street) | 23-01607 | Moore Iacofano Goltsman, Inc. | not named | $6.0M |
| Bitters Road Intersection & Sidewalks (Savannah Pass to Blanco Road) | 23-01560 | Garcia & Wright Consulting Engr. | not named | $5.1M |
| Roosevelt Avenue (I-10 to South St. Mary’s Street) | 23-01605 | Civil Engineering Consultants | not named | $5.0M |
| South Presa Street (Southeast Military Drive to Southcross Boulevard) | 23-01610 | RPS Klotz Associates | not named | $5.0M |
| Southcross Boulevard (I-37 to I-35) | 23-01613 | Brown & Gay Engineers, Inc. | not named | $5.0M |
| Camaron Street (West Houston Street to Fox Tech High School) | 23-01567 | Michael Baker International, Inc. | not named | $4.5M |
| Paso Del Norte Street (Shady Oaks) | 23-01632 | Sanchez-Salazar & Associates, LLC | not named | $4.3M |
| District 9 Pedestrian Mobility & Streets | 23-01578 | Slay Engineering Company, Inc. | not named | $4.0M |
| Rittiman Road (I-35 to Castle Cross Drive) | 23-01604 | GGC Engineers, Inc. | not named | $4.0M |
| Monticello Park (Area Streets) | 23-01596 | Fernandez, Frazer, White & Assoc | not named | $3.9M |
| Thomas Jefferson High School (Area Street) | 23-01615 | Moy Tarin Ramirez Engineers, LLC | not named | $3.6M |
| Brooks City Base Inner Circle Road (Louis Bauer Drive to Research Plaza) | 23-01562 | Pape-Dawson Engineers, Inc. | not named | $3.0M |
| Harry Wurzbach Road/Austin Highway Connectors | 23-01586 | Civil Engineering Consultants | not named | $3.0M |
| Thousand Oaks Drive (Wetmore Road to Perrin Beitel Road) | 23-01616 | Jones & Carter, Inc. | not named | $3.0M |
| District 7 Sidewalks | 23-01577 | Jacobs Engineering Group, Inc. | not named | $2.8M |
| Auldine Drive & Burr Oak Drive (Alley to Outfall) | 23-01622 | HNTB Corporation | not named | $2.8M |
| Evans Road (Highway 281 to Caliza Drive) | 23-01580 | WSP USA, Inc. | not named | $2.7M |
| Belfast Drive & Janda Susan Road Area Phase 2 | 23-01625 | Stantec | E-Z Bel Construction, LLC | $2.6M |
| Lamar Street (Austin Street to North New Braunfels Avenue) | 23-01591 | Bain Medina Bain, Inc. | San Antonio Constructors, LTD | $2.5M |
| Mission Road (San Antonio River to Southeast Military Drive) | 23-01595 | Garza EMC, LLC | not named | $2.0M |
| Wurzbach Road (Northwest Military Highway to Fredericksburg Road) | 23-01620 | Texas Department of Transportation | not named | $2.0M |
| Fort Sam ISD New Roadway (Winans Road to Rittiman Road) | 23-01581 | Garcia & Wright Consulting Engr. | not named | $1.7M |
| Blossom Park (Lotus Blossom Street) | 23-01626 | CNG Engineering, PLL | not named | $1.4M |
| Ingram Road (Potranco Road to Dead End) | 23-01589 | Developer (KFW Engineers) | not named | $1.0M |
A firm named here was recorded against that project by the City. It is not a statement about how the work was done, and these are not all the firms the City hired; they are the ones the record names.
The same files describe what 134 of these projects were meant to do, and give a design start and end alongside the construction ones. None of that is in the list this page is built on. It is in the JSON API and the CSV.
A third bond program, which this ledger does not contain
The list this page is built on holds two programs. The City separately publishes a third, the 2012 bond, and it is almost entirely finished: 138 projects, $738.1M recorded as budget and $653.5M as spent.
These figures are not added to the $2.05B above, and the reason is the same one this page gives for refusing four other divisions. The 2012 files record money in columns named Project Budget and Project Expenditures. The current list records it in columns named Bond Budget and Bond Expenditures. Nothing in the record says those mean the same thing, and this package publishes no data dictionary, so they are reported side by side and never summed.
The oldest program is the best documented one. The City names a consultant on 131 of these 138 projects and a contractor on 119, against a minority of the 2017 projects and none at all in the current list. Whatever changed between then and now, it was not that the City stopped hiring anyone.
| Project | Status | Contractor | Budget | Spent |
|---|---|---|---|---|
| Downtown Streets Reconstruction | Under design | not named | $66.4M | $55.9M |
| Hausman Road (Loop 1604 to IH 10) | Complete | Sundt Construction | $61.3M | $56.0M |
| Seeling Channel Phase II Drainage | Complete | Quest Civil Constructors | $32.2M | $30.0M |
| US 281/Loop 1604 Northern Interchange | Under construction | not named | $26.0M | $26.0M |
| Ray Ellison Blvd (410 to Old Pearsall Rd | Complete | Texas Sterling Constructon Co. | $25.7M | $22.3M |
| Citywide Bridge Program | Under construction | not named | $24.1M | $18.3M |
| Callaghan Rd (Loop 410 to Bandera Road) | Under construction | Harper Brothers Construction LLC | $21.2M | $19.3M |
| Theo Avenue & Malone Avenue Corridors | Complete | Capital Excavation Company | $20.9M | $18.5M |
| Blanco Rd Ph II (Edison-El Monte & Olmos | Complete | E-Z Bel Construction, LLC | $18.8M | $17.7M |
| HemisFair Park | Complete | Joeris Gen. Cont., JC Stoddard | $18.1M | $18.2M |
| Witte Museum | Complete | Linbeck Construction | $17.2M | $16.0M |
| Hemisfair Area Street Redevelopment | Complete | Jerdon Construction | $17.1M | $15.6M |
| McCullough Avenue Area Drainage | Under construction | Jordon Foster Construction | $15.2M | $10.8M |
| Redland Rd North (1604 to Ridgewood Pkwy | Under construction | J3 Company, LLC | $14.0M | $10.7M |
| Hausman Road (Loop 1604 to IH 10) | Complete | Sundt Construction | $13.5M | $12.4M |
| Redland Rd South (1604 to Jones Maltsber | Complete | S.J. Louis Construction | $12.3M | $11.3M |
| 36th St Ph III B (Billy Mitchell-Gen.Hud | Under construction | Shannon-Monk, Inc. | $11.2M | $9.1M |
| Goliad Rd (SE Military Dr. to Loop 410) | Under construction | Texas Sterling Construction | $10.8M | $10.8M |
| Redland Rd N(1604-RidgewoodPkwy)Drainage | Under construction | J3 Company, LLC | $10.7M | $7.1M |
| Menger Creek Drainage | Complete | E-Z Bel Construction, LLC | $10.4M | $9.4M |
| E. Commerce (N. Rio Grande to E. Houston | Complete | Capital Excavation Company | $10.0M | $8.4M |
| District 10 Senior Center | Complete | Guido Brothers Construction | $10.0M | $9.9M |
| Cupples Rd (Merida St to Castroville Rd) | Complete | Jordan-Foster Construction | $9.5M | $8.1M |
| Belford Area Drainage | Complete | Jordan-Foster Construction | $8.7M | $5.8M |
| Ingram Road (Culebra Road to Mabe Road) | Complete | Capital Excavation Company | $8.2M | $6.3M |
The 25 largest by recorded budget. All 138 are in the JSON API.
What this record cannot tell you
| Question | What 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 a City officer and a direct phone number on every project. This page reads neither and republishes neither. It does name the consultant or contractor where the City records one, which is on a minority of projects. |
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.
Share it with someone quoting a bond figure.
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 License Plate Readers Data Centers Data Center Zoning 311 Response Times Data Center Corroboration Data Center Environmental Record Bond Projects Council District Lookup Sheriff Response Times County Capital Projects Police Response Times Missing Children Records
All 17 are free, with no signup and no email wall, and the public API behind them needs no key.
Who publishes this
These tools are built and maintained by BrandShyp LLC, a San Antonio software firm. We sell data, software and accessibility work to public agencies and are seeking state and local government contracts. Small business certification with the South Central Texas Regional Certification Agency is in process. We hold no City of San Antonio contract.
No client, agency or sponsor funds, reviews or approves any of these tools, and nothing on these pages is a solicitation. Every figure comes from the public record named below, which is linked and can be queried without us.
Corrections. If a number here disagrees with the record, write to Justice Harker at [email protected] with the figure and the source that contradicts it. Corrections are made on the page, and what changed is noted there rather than replaced silently.
Source. This page reads the City of San Antonio bond project ledger and the sibling bond packages published beside it. The record is linked from the page above and can be queried without us. We claim no rights over the underlying record and add no license of our own to it.