Coverage
43 cities across 11 counties in the Charlotte metro — monitored automatically, every P&Z cycle. The table also lists 3 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 · Catawba · Cleveland · Gaston · Iredell · Lancaster · Lincoln · Mecklenburg · Rowan · 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 — 4 monitored cities · 1 listed, not monitored | ||||||||
| Cabarrus County | Cabarrus | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Concord | Cabarrus | apps.concordnc.gov | Monthly Tuesday | ~131 days AFTER the meeting date (n=9) | 2026-10-17 | 37 | 2026-11-03 | Live |
| Harrisburg | Cabarrus | harrisburgnc.portal.civicclerk.com | Monthly Tuesday | ~97 days AFTER the meeting date (n=7) | 2026-10-13 | 18 | 2026-11-03 | Live |
| Kannapolis | Cabarrus | kannapolisnc.portal.civicclerk.com | Monthly Tuesday | ~55 days AFTER the meeting date (n=10) | 2026-10-21 | 30 | 2026-11-02 | Live |
| Midland NC | Cabarrus | — | Monthly Tuesday | ~68 days AFTER the meeting date (n=6) | 2026-10-22 | 0 | 2026-10-29 | Seeding |
| Catawba County — 1 monitored city | ||||||||
| Catawba County | Catawba | — | Monthly Mixed | not yet measured | 2026-10-29 | 0 | 2026-11-03 | Seeding |
| Cleveland County — 4 monitored cities | ||||||||
| Boiling Springs NC | Cleveland | www.boilingspringsnc.gov | Monthly Mixed | not yet measured | 2026-10-17 | 0 | 2026-11-01 | Seeding |
| Cleveland County NC | Cleveland | clevelandcounty.granicus.com | Monthly Tuesday | ~67 days AFTER the meeting date (n=6) | 2026-10-30 | 0 | 2026-11-04 | Seeding |
| Kings Mountain | Cleveland | www.cityofkm.com | Monthly Tuesday | ~41 days AFTER the meeting date (n=6) | 2026-11-03 | 10 | 2026-11-03 | Live |
| Shelby | Cleveland | — | Semimonthly Monday | ~6 days AFTER the meeting date (n=4) | 2026-11-01 | 0 | 2026-11-01 | Seeding |
| Gaston County — 5 monitored cities | ||||||||
| Belmont | Gaston | cityofbelmont.civicweb.net | — | not yet measured | 2026-10-19 | 3 | 2026-11-02 | Live |
| Bessemer City | Gaston | bessemercitync.portal.civicclerk.com | Monthly Mixed | not yet measured | 2026-10-09 | 1 | 2026-10-31 | Live |
| Gaston County | Gaston | gaston.legistar.com | Semimonthly Mixed | ~24 days AFTER the meeting date (n=18) | 2026-10-28 | 17 | 2026-11-04 | Live |
| Gastonia | Gaston | cityofgastonia.granicus.com | Monthly Mixed | ~12 days AFTER the meeting date (n=6) | 2026-10-30 | 1 | 2026-11-02 | Live |
| Stanley NC | Gaston | nc-stanley.civicplus.com | Monthly Mixed | ~215 days AFTER the meeting date (n=3) | 2026-10-17 | 3 | 2026-11-01 | Live |
| Iredell County — 4 monitored cities | ||||||||
| Iredell County | Iredell | www.iredellcountync.gov | Monthly Wednesday | ~54 days AFTER the meeting date (n=8) | 2026-10-29 | 7 | 2026-11-04 | Live |
| Mooresville | Iredell | mooresvillenc.granicus.com | Monthly Tuesday | not yet measured | 2026-10-29 | 7 | 2026-10-29 | Live |
| Statesville | Iredell | www.iredellcountync.gov | Monthly Wednesday | ~55 days AFTER the meeting date (n=8) | 2026-09-30 | 6 | 2026-10-06 | Checks stalled |
| Troutman | Iredell | nc-troutman.civicplus.com | Monthly Wednesday | not yet measured | 2026-10-15 | 2 | 2026-11-03 | Live |
| 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 | ~75 days AFTER the meeting date (n=18) | 2026-10-16 | 91 | 2026-11-04 | Live |
| Lincoln County — 1 monitored city | ||||||||
| Lincolnton | Lincoln | lincolntonnc.portal.civicclerk.com | Monthly Tuesday | ~55 days AFTER the meeting date (n=6) | 2026-09-11 | 8 | 2026-11-02 | Live |
| Mecklenburg County — 7 monitored cities · 1 listed, not monitored | ||||||||
| Charlotte | Mecklenburg | charlottenc.legistar.com | Monthly Monday | ~69 days AFTER the meeting date (n=9) | 2026-10-15 | 48 | 2026-10-25 | Live |
| Cornelius | Mecklenburg | cornelius.granicus.com | Monthly Monday | ~414 days AFTER the meeting date (n=33) | 2026-11-03 | 19 | 2026-11-03 | Live |
| Davidson | Mecklenburg | davidsonnc.portal.civicclerk.com | Monthly Monday | ~58 days AFTER the meeting date (n=6) | 2026-10-21 | 1 | 2026-10-25 | Live |
| Huntersville | Mecklenburg | huntersvillenc.portal.civicclerk.com | Monthly Tuesday | ~76 days AFTER the meeting date (n=8) | 2026-09-21 | 27 | 2026-10-26 | Live |
| Matthews | Mecklenburg | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Mecklenburg County | Mecklenburg | mecklenburg.legistar.com | Semimonthly Mixed | ~60 days AFTER the meeting date (n=19) | 2026-10-30 | 19 | 2026-11-03 | Live |
| Mint Hill | Mecklenburg | — | — | not yet measured | 2026-10-09 | 3 | 2026-11-03 | Live |
| Pineville | Mecklenburg | meetings.municode.com | Monthly Mixed | ~40 days AFTER the meeting date (n=3) | 2026-10-18 | 0 | 2026-11-01 | Seeding |
| Rowan County — 3 monitored cities | ||||||||
| Landis NC | Rowan | landis-nc.municodemeetings.com | Monthly Mixed | ~47 days AFTER the meeting date (n=6) | 2026-10-21 | 0 | 2026-11-01 | Seeding |
| Rowan County NC | Rowan | — | Monthly Monday | ~69 days AFTER the meeting date (n=6) | 2026-10-18 | 0 | 2026-11-04 | Seeding |
| Salisbury NC | Rowan | — | Semimonthly Tuesday | ~128 days AFTER the meeting date (n=6) | 2026-10-18 | 0 | 2026-11-04 | Seeding |
| Union County — 10 monitored cities | ||||||||
| Indian Trail | Union | www.indiantrail.org | Monthly Tuesday | ~56 days AFTER the meeting date (n=7) | 2026-09-09 | 9 | 2026-11-02 | Live |
| Marshville | Union | nc-marshville.civicplus.com | Monthly Monday | ~31 days AFTER the meeting date (n=3) | 2026-10-15 | 2 | 2026-11-04 | Live |
| Marvin NC | Union | pub-marvinnc.escribemeetings.com | Monthly Tuesday | ~106 days AFTER the meeting date (n=6) | 2026-10-18 | 0 | 2026-11-01 | Seeding |
| Monroe | Union | monroenc.portal.civicclerk.com | Biweekly Mixed | ~47 days AFTER the meeting date (n=10) | 2026-10-09 | 11 | 2026-11-04 | Live |
| Stallings | Union | — | — | not yet measured | 2026-10-12 | 2 | 2026-10-31 | Live |
| Union County | Union | unioncountync.legistar.com | Monthly Tuesday | ~58 days AFTER the meeting date (n=10) | 2026-10-16 | 24 | 2026-11-04 | Live |
| Unionville NC | Union | — | Monthly Monday | ~76 days AFTER the meeting date (n=7) | 2026-11-01 | 0 | 2026-11-03 | Seeding |
| Waxhaw | Union | waxhaw.civicweb.net | — | not yet measured | 2026-08-20 | 5 | 2026-10-31 | Live |
| Weddington | Union | — | Monthly Monday | same day (n=3) | 2026-10-23 | 1 | 2026-10-31 | Live |
| Wingate | Union | nc-wingate.civicplus.com | Monthly Mixed | not yet measured | 2026-10-15 | 2 | 2026-11-04 | Live |
| York County — 3 monitored cities · 1 listed, not monitored | ||||||||
| Fort Mill | York | www.fortmillsc.gov | Monthly Tuesday | ~54 days AFTER the meeting date (n=10) | 2026-10-14 | 29 | 2026-11-03 | Live |
| Rock Hill | York | — | — | not yet measured | — | 0 | — | Coming soon — not monitored yet |
| Tega Cay | York | www.tegacaysc.org | Monthly Monday | ~55 days AFTER the meeting date (n=9) | 2026-10-26 | 6 | 2026-11-03 | Live |
| York County | York | yorkcosc.portal.civicclerk.com | Monthly Monday | ~63 days AFTER the meeting date (n=10) | 2026-10-02 | 46 | 2026-11-03 | 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 →
P&Z Radar AI agent · Expand
Hi, I’m Pip. How can I help?