Ask New York City a question
These are free, open tools that let an AI assistant answer questions about New York City using the city's actual public records — not what a language model remembers. Every answer comes back with an identifier you can open in a browser and check yourself.
This repository is a draft. It was started 2026-07-06 and is under active review. Figures in the demo scripts carry the date they were verified. Where something could not be verified, the material says so rather than implying it was checked.
Why this exists
Ask an ordinary AI assistant which City Council bill covers broadband access and it will give you a confident answer with an official-looking bill number. Often the number is from the wrong session. Sometimes it does not exist at all. Nothing in the answer tells you which.
The tools here close that gap. The assistant queries the City’s own systems while you watch, and every claim it makes resolves to a record you can open. When the data cannot answer your question, it says so instead of guessing — which turns out to be the more useful half.
The classes and demos
Each one is a run-it-live script written for a specific room. Same tools throughout; what changes is the arc, the examples, and what the audience already knows.
City Council districts
What is happening in a member's own district: their 311 complaints, their legislation, their discretionary funding, and the agencies they question at hearings.
State legislators
The same idea for Albany, built on New York State Open Legislation rather than the Council's system — a different spine, so a different set of questions.
Community district data
Service requests, capital projects, and land use for a single community district, assembled without a data team.
Teaching with public data
Framed around what the material teaches rather than what the tools do. The failure mode is the lesson: students can see a wrong answer and a checkable one side by side.
Agency staff and data teams
For people inside the thing being queried. Two chapters go deep: what the open data portals do that a search engine structurally cannot, and the cross-agency spending view no single agency can assemble on its own.
Following the money
For people who can already find the data. What costs them is the assembly — one vendor across every district, or money that was announced and then quietly withdrawn.
FOIL methodology
How to get from a government URL to a filed public-records request, with a worked example that follows one real contract end to end.
Start here if you are setting this up
Which portal has what
New York has more than one open data portal and they do not overlap cleanly. This is the decision guide for finding the right one before you write a query.
Query patterns
Copy-paste patterns that work: searching the catalog, fetching a dataset, and joining across two portals. Includes the traps that return real-looking wrong answers.
Sample prompts
What to actually type. User stories and worked prompts for each connector, plus cross-source journeys that follow one thread through several systems.
Why grounding matters
The argument underneath all of this, for people building with AI: why an answer without a checkable source is worth less than no answer.
What it costs
Nothing. The connectors are open source and MIT licensed, and four of the seven need no API key and no account at all. Three need a free key; registration is the only friction. The guides are CC BY-SA 4.0 — fork them, correct them, and use them in your own room.
Also here
- Directory of New York open data portals — which counties and municipalities run one, with API notes
- Training BetaNYC and partners run — Intro to Open Data, Open Data Ambassadors, and more
- The MCP config file — drop-in setup for switching between the NYC and NYS portals