Coverage
22 cities across 8 counties in the Charlotte metro — monitored automatically, every P&Z cycle. The table also lists 9 on the expansion list (Coming soon, not monitored yet) and 1 covered through a county portal (Covered by … County, not polled as a city); they are not in this count.
The idea is simple: this data is public, and checking the portals is manual work. We automate the manual work — that's it. The table below lists the sources our monitor reads and the expansion candidates it does not yet, where each posts, and when packets typically drop, so you can verify us against the source any time. The status column says which is which.
Coverage is where we start, not where we stop. We follow each case through its stages — hearing scheduled, continued, advanced from Planning & Zoning to Council — flag the ones where staff has recommended denial, and alert on filings near land you own. How that works.
Teal = a portal our monitor read successfully within the last 21 days and holds at least one case from. Grey = on the expansion list.
City and source status
Jump to county: Cabarrus · Cleveland · Gaston · Iredell · Lancaster · Lincoln · Mecklenburg · Union · York
| City | County | Where agendas post | P&Z meeting cadence | First capture vs. meeting (observed) | Last packet seen | Cases tracked | Last checked | Status |
|---|---|---|---|---|---|---|---|---|
| Cabarrus County — 2 monitored cities · 2 listed, not monitored | ||||||||
| Cabarrus County | Cabarrus | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Concord | Cabarrus | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Harrisburg | Cabarrus | harrisburgnc.portal.civicclerk.com | Monthly Tuesday | ~114 days AFTER the meeting date (n=6) | 2026-07-16 | 12 | 2026-09-15 | Live |
| Kannapolis | Cabarrus | kannapolisnc.portal.civicclerk.com | Monthly Tuesday | ~55 days AFTER the meeting date (n=8) | 2026-09-09 | 26 | 2026-09-15 | Live |
| Cleveland County — 0 monitored cities · 1 listed, not monitored | ||||||||
| Shelby | Cleveland | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Gaston County — 3 monitored cities | ||||||||
| Belmont | Gaston | cityofbelmont.civicweb.net | — | not yet measured | 2026-09-14 | 0 | 2026-09-14 | Seeding |
| Gaston County | Gaston | gaston.legistar.com | Semimonthly Tuesday | ~62 days AFTER the meeting date (n=15) | 2026-09-16 | 17 | 2026-09-19 | Live |
| Gastonia | Gaston | cityofgastonia.granicus.com | Monthly Thursday | ~14 days AFTER the meeting date (n=4) | 2026-09-05 | 0 | 2026-09-08 | Seeding |
| Iredell County — 3 monitored cities | ||||||||
| Iredell County | Iredell | www.iredellcountync.gov | Monthly Wednesday | ~82 days AFTER the meeting date (n=7) | 2026-08-27 | 0 | 2026-09-16 | Seeding |
| Mooresville | Iredell | mooresvillenc.granicus.com | — | not yet measured | 2026-07-28 | 4 | 2026-09-17 | Live |
| Statesville | Iredell | www.iredellcountync.gov | Monthly Wednesday | ~83 days AFTER the meeting date (n=7) | 2026-08-27 | 0 | 2026-09-16 | Seeding |
| Lancaster County — 1 monitored city · 1 listed, not monitored | ||||||||
| Indian Land (Lancaster County) | Lancaster | — | — | not yet measured | — | 0 | — | Covered by Lancaster County — not polled as a city |
| Lancaster County SC | Lancaster | lancastercosc.portal.civicclerk.com | Semimonthly Mixed | ~81 days AFTER the meeting date (n=17) | 2026-09-08 | 81 | 2026-09-18 | Live |
| Lincoln County — 1 monitored city · 1 listed, not monitored | ||||||||
| Lincoln County | Lincoln | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Lincolnton | Lincoln | lincolntonnc.portal.civicclerk.com | Monthly Tuesday | ~55 days AFTER the meeting date (n=6) | 2026-09-11 | 8 | 2026-09-15 | Live |
| Mecklenburg County — 5 monitored cities · 3 listed, not monitored | ||||||||
| Charlotte | Mecklenburg | charlottenc.legistar.com | Monthly Monday | ~83 days AFTER the meeting date (n=8) | 2026-09-18 | 46 | 2026-09-19 | Live |
| Cornelius | Mecklenburg | cornelius.granicus.com | Monthly Monday | ~447 days AFTER the meeting date (n=31) | 2026-09-11 | 14 | 2026-09-14 | Live |
| Davidson | Mecklenburg | davidsonnc.portal.civicclerk.com | Monthly Monday | ~118 days AFTER the meeting date (n=5) | 2026-08-31 | 1 | 2026-09-14 | Live |
| Huntersville | Mecklenburg | huntersvillenc.portal.civicclerk.com | Monthly Tuesday | ~76 days AFTER the meeting date (n=8) | 2026-09-15 | 24 | 2026-09-16 | Live |
| Matthews | Mecklenburg | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Mecklenburg County | Mecklenburg | mecklenburg.legistar.com | Monthly Mixed | ~68 days AFTER the meeting date (n=16) | 2026-09-14 | 7 | 2026-09-15 | Live |
| Mint Hill | Mecklenburg | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Pineville | Mecklenburg | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Union County — 4 monitored cities · 1 listed, not monitored | ||||||||
| Indian Trail | Union | www.indiantrail.org | Monthly Tuesday | ~56 days AFTER the meeting date (n=7) | 2026-09-09 | 9 | 2026-09-15 | Live |
| Monroe | Union | monroenc.portal.civicclerk.com | Monthly Wednesday | ~116 days AFTER the meeting date (n=7) | 2026-08-28 | 6 | 2026-09-16 | Live |
| Stallings | Union | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Union County | Union | unioncountync.legistar.com | Monthly Tuesday | ~68 days AFTER the meeting date (n=9) | 2026-09-15 | 22 | 2026-09-19 | Live |
| Waxhaw | Union | waxhaw.civicweb.net | — | not yet measured | 2026-08-20 | 5 | 2026-09-19 | Live |
| York County — 3 monitored cities · 1 listed, not monitored | ||||||||
| Fort Mill | York | www.fortmillsc.gov | Monthly Tuesday | ~68 days AFTER the meeting date (n=9) | 2026-09-12 | 26 | 2026-09-15 | Live |
| Rock Hill | York | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Tega Cay | York | www.tegacaysc.org | Monthly Monday | ~83 days AFTER the meeting date (n=7) | 2026-09-11 | 5 | 2026-09-14 | Live |
| York County | York | yorkcosc.portal.civicclerk.com | Semimonthly Mixed | ~77 days AFTER the meeting date (n=9) | 2026-09-08 | 43 | 2026-09-14 | Live |
Last checked is when our monitor last read that portal successfully; last packet seen is when the city last published one. They differ whenever a city simply has not met — which is most of the time, and is why both are shown rather than one being made to stand for the other.
Status: Live means our monitor read the portal successfully within the last 21 days and we hold at least one case from it; Seeding means the monitor is configured (its first checks may not have landed yet) and no case has been read from it; Checks stalled means our reads have stopped landing; Not retrievable means the portal answers but has never returned an agenda we can fetch; Coming soon means the city is on the expansion list and not yet checked; Covered by … County means the county's portal carries that city's cases. Rows in those last two states are listed for transparency and are not monitored cities: the count at the top of this page, each county heading and the metros page count only the cities our monitor polls. None of these is a statement about what the city has published or about alerts delivered.
First capture vs. meeting is measured from when our own monitor first captured each packet relative to its meeting date, not from the portal's self-reported publish time; historical archive ingestion is included in that figure until it is separately split, so an old packet captured during a backfill reads as captured after its meeting. State open-meetings law sets a minimum posting notice ahead of each meeting; the period and its exceptions vary by state.
Curious who keeps filing across these cities? See the petitioner index → · Activity trends across the metro →