About this site
This is not an official City of Cincinnati website. The official record of Council legislation is Legistar, maintained by the Clerk of Council. Where this site and Legistar differ, Legistar is correct.
Source of the records
Every record comes from the public Legistar web API for Cincinnati (webapi.legistar.com). The site lists matters introduced on or after January 1, 2018. Each record links to its page in Legistar.
Each record is dated by its Legistar introduction date, with one exception. About 330 ordinances and resolutions from 2018 and 2019 were entered into Legistar years later, most of them in November 2023 and in June and July 2025, with the entry day as their introduction date. For those records, which are filed two or more years after the year in their file number, the site uses the earliest agenda or passed date in that year instead.
Update schedule
An automated job runs once a day. It reads new and recently changed matters, reads roll call votes from recent Council meetings, rebuilds the data files and publishes them. GitHub, which runs the job, can start it several hours after its set time. The time of the last update is shown at the top of the main page.
What is generated by AI
The short titles, one-line summaries, topic tags and action types are written by an AI model (Anthropic's Claude) from the Legistar title, type, body and sponsor. When the Legistar title stops short (for example "balance on file in the Clerk's office"), the model also reads the text of the item's main attachment. They are not reviewed one by one and can be wrong. Neighborhood tags for records without a street address are also written by the AI and are less reliable than those described below. The official title, status, dates, sponsors and votes come from Legistar unchanged, apart from the grouping described below.
Legislative Agent registrations, financial disclosure statements, successor designations and appointments get titles and summaries built by fixed rules from the Legistar title instead of AI text.
Neighborhoods
When a record's Legistar title includes a street address, the neighborhood comes from the title or a map, not from the AI. If the title says where the matter is ("644 Crown Street in Walnut Hills"), that neighborhood is used. Otherwise the address is located with the U.S. Census Bureau geocoder and the neighborhood is taken from the City Planning Department's 2020 Statistical Neighborhood Approximations map (CAGIS). The map's lines do not always match the neighborhood names Legistar uses, which is why a name in the title comes first. Three areas on that map each cover two neighborhoods (English Woods and North Fairmount, Lower Price Hill and Queensgate, Riverside and Sedamsville); an address in one of them is tagged with both unless the AI named one. Addresses the geocoder cannot match, and addresses outside the city, keep the AI tag. Legislative Agent registrations are not mapped, because the address in them is the agent's office.
Votes
Votes are read from Legistar's roll call records for meetings of the full Council. The site's vote records start on July 3, 2020. Legistar holds no roll call records for earlier Council meetings, so records before then show no vote breakdown. For each matter the site shows the final passage vote (passed, adopted, failed and similar actions). Procedural votes such as referrals, emergency clauses and motions to suspend readings are not shown. The Mayor is not a member of Council; where Legistar lists the Mayor in a roll call (some 2020 and 2021 records), that entry is left out. Votes are not available for committee meetings on this site.
Legislative Agents
The Legislative Agents page lists organizations that registered a Legislative Agent with the Clerk of Council, with the firm and agents for each. It is built on each daily update from the Registration and Registration-Update filings in Legistar. The agent and client come from the filing's Legistar title; filings whose title names no client organization are left out. Spellings of the same agent or organization are combined using a list reviewed by the council office. The firm is read from the firm name or address in each filing; agents whose firm is not identified that way are grouped as "Firm not identified". Dates run from the registration to the termination filing. Under Cincinnati Municipal Code 112-5(e), a registration expires on the last business day of each odd-numbered year unless terminated earlier, and updates do not renew it; where no termination or new registration was filed, the dates end at that expiration and are marked "expired". That rule took effect January 1, 2025 (Ordinance 299-2024) and is applied here to all years.
How values are grouped
- Status: Legistar uses several spellings for the same outcome (for example "Approve and File" and "Approved and Filed"). The status filter groups these; the record keeps Legistar's text.
- Neighborhoods: AI tags are matched to the City Planning Department's 2020 statistical neighborhood names. Tags outside that list, such as places outside the city, are dropped.
- Topics: a few rarely used topic tags are merged into broader ones.
- Sponsors: name variants (for example a middle name in some records) are matched to one name per member.
Known gaps
- Matters introduced before 2018 are not on the site.
- 2019 has fewer records than other years. Legistar holds about 740 matters with 2019 file numbers, while the numbers issued that year run past 1,800, and it lists only 29 meetings for 2019. The missing matters are not in Legistar.
- A small number of Legistar records have blank or non-standard file numbers. They are shown as Legistar has them.
- Where Legistar holds the same matter twice, the copy without history is left off the site. Records Legistar has deleted are removed.
- The Meetings page lists items attached to a matter. Ceremonial and procedural agenda lines (roll call, prayer, minutes) are not listed.
Corrections
Each record has a "Suggest a title or description change" link. Suggestions are reviewed before anything on the site changes. For the official record, use Legistar or contact the Clerk of Council.