Seven APIs. No one place to find them. This is the place.
guest@devsa ~ % curl localhost:210
→ the next real bus from any VIA stop, every scheduled trip
→ every building permit since 2025: what, where, how much, how long it took
→ San Antonio against its peer cities: growth, who owns the businesses
→ the river, the creeks and the aquifer, live
→ the acequias from 1718, and 4,200 places from 1897
→ 7 publishers · one catalog, rebuilt every Monday · no API keys
Seven public agencies publish San Antonio's data in the open: the City, Bexar County, VIA, the San Antonio River Authority, the Alamo Area MPO, Opportunity Home San Antonio and the Edwards Aquifer Authority. Each runs its own portal, with its own rules, and almost nobody builds with any of it, because there's no obvious place to start. This repo brings all seven together: what each one publishes, how to use it without breaking its rules, a list of every dataset they put out, and a small working program for each.
Three experiments built from it are at devsa.community/localhost.
No sign-up. No keys. Python 3.9+ and an internet connection.
git clone https://github.com/devsanantonio/localhost
cd localhost
python3 starters/via-next-bus/main.py "houston & st mary" # the next buses from a stop near GeekdomThen pick any starter below. Each one is a single Python file using only the standard library, short enough to read before you run it, and every one takes --json, so you can pipe its answer into your own code, a GitHub Action or an agent.
| Publisher | What only it has | Terms | Starters |
|---|---|---|---|
| City of San Antonio | 311 calls, building permits, zoning, bond projects, the economy beside peer metros | CC BY 4.0 | permits-near-you, 311-by-district, how-we-compare |
| Bexar County | Census geography, schools, voting districts, and the city in 1718 and 1896–97 | Per dataset, in each layer's description | acequias, san-antonio-1897 |
| VIA Metropolitan Transit | Every route, stop and scheduled trip, and live bus positions | VIA's developer license: uses that help riders, no VIA logos | via-next-bus |
| San Antonio River Authority | Floodplains, water quality, the Mission Reach | Its own; cite the date you retrieved the data | creek-levels |
| Alamo Area MPO | Funded road and transit projects, flood-exposed roads, bike stress | As-is disclaimer | funded-projects |
| Opportunity Home San Antonio | Housing communities by district, low water crossings | Informational use | low-water-crossings |
| Edwards Aquifer Authority | The aquifer's daily level, springflow, drought stage | Informational use, per layer | aquifer-today |
Plus the U.S. Geological Survey's live gauges on the river and San Pedro Creek, every 15 minutes, in the public domain.
SOURCES.md is the full guide: what each agency publishes, the field names, and how to query each API. ATTRIBUTION.md has the exact credit line for each, to copy.
data/catalog.json lists every public dataset from all seven, with its address, when it was last updated and its credit line, rebuilt every Monday by a GitHub Action. The same run checks every starter against its live source and opens an issue if one breaks.
To search it from the command line: python3 starters/peek/main.py --find flood. Peek searches every publisher at once, then shows any dataset's fields and first rows.
| Starter | Source | Build from it |
|---|---|---|
| Next bus | VIA | Type a stop, get the next buses. The bones of a departure board, a bot, or the transit app you wish existed. |
| Permits near you | City of San Antonio | Every building permit around a point since 2025, biggest first, with how long each took to issue. One SQL query to the City's API. |
| 311 by district | City of San Antonio | Half a million service calls, counted server-side in about two seconds. What each district calls about, and how often it closes late. |
| How we compare | City of San Antonio | San Antonio's economy beside seven peer metros: GDP growth, target industries, who owns the businesses, what the colleges graduate. |
| Funded projects | Alamo Area MPO | The region's 68 funded road and transit projects for 2027–2030, totaled by the server, and the streets most exposed to a 100-year flood. |
| Creek levels | USGS · River Authority | The river and San Pedro Creek right now, every 15 minutes, and whether a point sits in the River Authority's draft floodplains. Not a flood warning. |
| The aquifer today | Edwards Aquifer Authority · USGS | The J-17 well's level and 10-day average, the drought trigger it sits under, and springflow at Comal and San Marcos Springs. |
| Low water crossings | Opportunity Home San Antonio | The 156 crossings inside the FEMA floodplain, nearest first, on a map. Not a flood warning. |
| Acequias | Bexar County | The Spanish irrigation ditches San Antonio grew around, each with the year it was dug and the year it went dry. Which ran near you, and a map with a year slider. |
| San Antonio, 1896–97 | Bexar County | A map of the city about 130 years ago: saloons, wagon yards, breweries, schools, over today's streets. Data almost no other city has. |
| Peek | All seven | Search every publisher's datasets for a word, then see any one's fields and first rows. The way into the agencies nobody links to. |
| MCP | All seven | San Antonio's open data as tools for your own coding agent: Claude Code, Codex, Cursor. One line of config. |
Starters are the first commit, not the project. A few directions, any of which would be a strong portfolio piece or a Build-and-tell Friday post. Most are open issues, so you can claim one:
- Then and now. Pick a block downtown and put the 1897 businesses next to what's there today.
- Walk sheds. Which neighborhoods are more than a quarter mile from a bus that comes every 15 minutes?
- Your district's dashboard. 311 calls by type and month for one council district, updated nightly with a GitHub Action.
- A departure board for a library, a coworking space or a dorm lobby.
- Where the money goes. The City's 370 bond projects and the Alamo Area MPO's funded projects for 2027–2030, on one map. Which run behind, and where?
- When it rains. The MPO's flood-exposed roads, the River Authority's floodplains and USGS's live creek levels. Which roads on your commute go under first?
- One district, every publisher. Pick a district, say Downtown West, and put permits, bond projects, flood-exposed streets, bike stress and bus stops on one page.
- Something we haven't thought of. Most of what's in the catalog has never been charted by anyone outside the agency that published it.
Using a coding agent? It's welcome here. AGENTS.md gives it the sources, the commands and the ground rules, so what it builds follows the same rules you would. Claude Code also picks up the localhost skill on its own, and the MCP starter gives any agent the data as tools.
Maintained by DEVSA, the nonprofit that connects the people building San Antonio tech. DEVSA isn't affiliated with any of these agencies, and nothing here speaks for them. The data is theirs. This is the way in.
Some of this data is about people. A few lines we hold to, and ask contributors to hold to as well:
- No rankings of neighborhoods by crime. The City publishes police calls, offenses and arrests. They're public, and there's real work to be done with them, but a "most dangerous neighborhoods" map built from raw counts tells a story about San Antonio that the data doesn't support. Starters here won't use them.
- The 1897 directory is about real people. It records names, jobs and, in the language of the time, race. Treat it as history — what the city was, who built it — not as a lookup of individuals.
- Credit every source, every time. It's the license, and it's how the people who publish this data find out it's being used.
Built something with San Antonio data? Add it to SHOWCASE.md with a pull request: one line, a link to your repo or demo, and which sources it uses. Then share it in #build-and-tell on the DEVSA Discord on a Friday.
Found a broken link, a stale dataset or a field that doesn't mean what its name says? Open an issue. We collect these, and they're the most useful thing we can pass back to the people who publish the data.
New starters, better explanations of a dataset, and fixes are all welcome. See CONTRIBUTING.md.
The code in this repo is MIT. The data belongs to its publishers and is used under their terms. See ATTRIBUTION.md.