NYC’s legislation and agency data are, by law, “open”. For example, you can access any City Council legislation text and details through Legistar. But laws and data being made public does not necessarily make them accessible to anyone, particularly for those without a data background. While New York is among the best at making its data “open,” with thousands of datasets and tens of thousands of filed documents publicly available, the formats and interfaces of this information remain closed to most.

Sorting through hundreds of government webpages and thousands of links leading to siloed PDFs and Word documents, often hidden behind further links, is not a simple task. For those without a data background, it makes the goal of learning anything from all these public documents nearly impossible.
The City’s public bodies – from agencies to the City Council – should build more and better tools on top of the data and documents they release, to make it easier for any person to have any of their questions about policies and programs answered. My hope is that with the proliferation and rapid development of AI tools, agencies will find it easier to provide these data exploration and insights-building features on top of their data for the public to use.
But that will take some time to happen (even as I keep pushing for it with the team at State Capacity Ecosystem). So I have made it my goal to fill this gap in the meantime, and one of my efforts on the legislative front here has been the NYC Council Legislation Trackers. Since my last post about these trackers, I have been busy adding more tools, more features, and further refining the data that feeds into these interactive trackers and charts.
Explore the new Legislation Trackers hub here!
If you have feedback on any of the tools or data in the trackers, would like to suggest new features or reports to build, or generally want to discuss civic tech and state capacity, please reach out! This is an ongoing project and works better when I can build with others.
A third tracker counts the powers the Council gives agencies
Over the summer, I released the Obligations Tracker, which scraped and analyzed all City Council legislation since 2014 to extract the obligations they were creating for city agencies. This obligations tracker joined the pre-existing Fiscal Impacts Tracker to allow users to browse legislation by a number of interactive filters and charts: total costs and duties passed on to agencies over time, by duty type or frequency, by City Councilmember, and more.
The biggest addition to the Legislation Trackers hub since then is an entirely new tracker that now lists and organizes the authorities that the City Council grants to agencies. Not all Council legislation imposes burdens on agencies; sometimes, they hand them new powers to inspect, write rules, charge a fee, or impose a penalty. These are the mechanisms that agencies use to deliver on their goals and obligations imposed by the Council and the City Charter.

Some examples of powers the Council has granted agencies in recent years:
DCAS may waive civil service exam fees for high school students and first-time applicants (LL 57 of 2025).
DCWP may suspend or revoke a self-storage operator’s license after 5 violations in 2 years (LL 171 of 2025).
The DCWP and fire commissioners may each order premises sealed after repeated violations, following notice and a hearing (LL 50 of 2024).
So far, the Powers tracker enumerates 1,706 powers from 702 local laws enacted between January 2014 and September 2026. On average, the licensing and enforcement agencies (DOB, DCWP, HPD) gain an authority for every two duties they are handed by the Council. Other agencies, like DOHMH, DOT and the Mayor’s Office tend to get one new power for every five to six new obligations.

The types of powers also falls into many different buckets: 564 are rulemaking (a third of all tracked powers), 360 are enforcement or inspection, 81 are designation or staffing, 45 are program or service related, and then a very long tail of other types of powers. Keyword counts across the relevant legislation similarly reveals a wide variety of agency responsibilities: 88 mention inspection, 58 fees, 57 civil penalties, 38 license revocation. All this only scratches the surface of the ways to break down new agency powers in the Powers tracker.
The trackers now come to you: Ask, alerts, profiles, member pages, district briefs
On top of the third tracker added to the set, I’ve also been busy working to make the data feed coming out of Council legislation and these trackers more digestible and customizable. This has involved adding the following features:
Complete Agency Profiles: To give a better understanding of how Council legislation is affecting agencies overall, I created an Agency Profiles page. This now lives in the trackers hub and allows users to browse across the 100+ city agencies (and similar government bodies in New York), sorting and viewing just the relevant legislation or impacts for each specific agency. I’ve also brought in other datasets to construct holistic agency profiles: budget, headcount, payroll, Mayor’s Management Report findings, and capital projects by agency. Users can compare trends in budget and payroll to see whether agencies given new duties are being resourced accordingly, and where agencies may be building administrative capacity for the future.

City Councilmember Pages: Similar to the agency profiles above, users can also sort Council legislation and associated impacts by the sponsoring Councilmembers. See all the laws, costs, and duties created by Councilmembers past and present, and find more information about their office. Also on these member pages are the agencies their legislation affects, the committees they sit on or chair, their attendance and voting record, and more context on the district they represent. Connect the laws on the books to the people behind them and discover which legislators may be most supporting or most burdening the agencies and processes you care about.
Email alerts: Members can sign up for customized email alerts from the trackers. Set the parameters for whatever you are interested in – specific agencies, Council members, keywords, Council districts, and which tracker – and you will get an email once a month with the relevant legislation that has been passed and the associated fiscal impacts, obligations, or powers. This way you don’t even have to check my website or manually browse the data yourself. Just set up the alert and wait for emails to arrive.
Deadline and overdue-report alerts: The Obligations tracker already knows each duty’s deadline and whether the report was filed (from the city’s report-filing records). Members get an email when a report they follow comes due which covers duties due in the next 45 days plus reports newly overdue by DORIS filing status.
District briefs: Members get a printable monthly brief for each of the 51 council districts: 311 trends, the member’s laws and which duties are due or late, committees and attendance.

Ask the trackers: A chatbot-like feature where members can ask plain language questions and have an AI agent query the database and return relevant legislation, obligations, and powers. The agent finds the matching records among 12,444 (duties, powers, laws, and fiscal statements) and writes an answer whose only source is those records, citing each fact by record number.
Building these features takes a lot of time and a not-insignificant cost in tokens. Because of that, I have gated access to some of them behind a membership paywall. You can sign up for a membership through Buy Me A Coffee and learn more about the included features here. Your membership also supports more of my work in this area, enabling me to build further tools and conduct analysis to continue improving public transparency. The trackers, their tables and charts, the Law Explorer, and the agency and member profiles always stay free.
The data improves every month, and you can check any record yourself
The Legislation Trackers are part of an ongoing effort to improve NYC government data accessibility, and I plan to add more features and tools to continue making it easier to understand what is happening across city government. To that end, I am always happy to receive feedback, suggestions, and questions on my work.
Every number in the trackers gets audited, and sometimes the audits change the numbers. As better AI models are released and new rounds of audits are run, the numbers reported by the trackers may change slightly. The Obligations tracker holds 8,212 duties from 2,158 laws (1,835 of them with at least one duty) and the Powers tracker holds 1,706 powers from 702 laws, as of Oct 2026. These numbers may fluctuate slightly as methodology is improved, and will in general grow as the Council continues to add new obligations and powers to agencies.
Each law is read by Claude Sonnet 5, and each provision is sorted as a duty or a power by the model’s label and by a fixed rule in code (see more on methodology here).
The road ahead: follow mandates past the day they pass
The reception to these civic tools has been invigorating and has proven to me that we need more of these civic tech tools that make it easier to follow, analyze, and understand the legislation coming out of the Council. The same goes for the immense amount of data and reports being produced by the agencies. While all these things are on the surface “open data” – that is, publicly accessible and available for anyone to sort through – it is not, I would argue, accessible to the general public.
Along those lines, here’s just some of what I have on my roadmap for next steps, future features, and related projects:
Tools that assist in tying obligations, powers, and costs to actual outcomes (do they achieve change, what happens after them, etc.) and case study reports on such
Identifying where rules and mandates may be most underfunded or most burdensome for agencies, causing delays in government services or poor performance
Breaking down the obligations into two parts: the cost if they did comply, and how often they don’t comply
Follow-up research on the obligations to see how often they are actually being followed through, what the life cycle is of the obligation or resulting changes, what happens next, etc.
The goal of this project continues to be to improve civic transparency and accessibility for anyone wishing to better understand the legislation coming out of the City Council and how it affects the city’s bureaucracy. When agency staff, policy advocates, and the general public have a better grasp of the laws coming out of the City Council and their downstream impacts, they can better anticipate needed changes (additional staffing, budget, reporting) and better understand why administrative processes unfold as they currently do.
Please explore the trackers, play around with the features, and share what insights you gain from using the tools. Consider signing up for the advanced features and let me know what new features or reporting based on the data you would like to see. And expect to see more writing based on these trackers and new ones to come from this Substack in the future.





