Coverage

22 cities across 8 counties in the Charlotte metro — monitored automatically, every P&Z cycle.

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

CityCountyWhere agendas postP&Z meeting cadenceFirst capture vs. meeting (observed)Last packet seenCases trackedLast checkedStatus
Cabarrus County — 4 cities
Cabarrus CountyCabarrusnot yet measured0Coming soon
ConcordCabarrusnot yet measured0Coming soon
HarrisburgCabarrusharrisburgnc.portal.civicclerk.comMonthly Tuesday~114 days AFTER the meeting date (n=6)2026-07-16122026-09-15Live
KannapolisCabarruskannapolisnc.portal.civicclerk.comMonthly Tuesday~55 days AFTER the meeting date (n=8)2026-09-09262026-09-15Live
Cleveland County — 1 city
ShelbyClevelandnot yet measured0Coming soon
Gaston County — 3 cities
BelmontGastoncityofbelmont.civicweb.netnot yet measured2026-09-1402026-09-14Seeding
Gaston CountyGastongaston.legistar.comSemimonthly Tuesday~69 days AFTER the meeting date (n=14)2026-09-02162026-09-16Live
GastoniaGastoncityofgastonia.granicus.comMonthly Thursday~14 days AFTER the meeting date (n=4)2026-09-0502026-09-08Seeding
Iredell County — 3 cities
Iredell CountyIredellwww.iredellcountync.govMonthly Wednesday~82 days AFTER the meeting date (n=7)2026-08-2702026-09-16Seeding
MooresvilleIredellmooresvillenc.granicus.comnot yet measured2026-07-2842026-09-17Live
StatesvilleIredellwww.iredellcountync.govMonthly Wednesday~83 days AFTER the meeting date (n=7)2026-08-2702026-09-16Seeding
Lancaster County — 2 cities
Indian Land (Lancaster County)Lancasternot yet measured0Covered by Lancaster County
Lancaster County SCLancasterlancastercosc.portal.civicclerk.comSemimonthly Mixed~81 days AFTER the meeting date (n=17)2026-09-08812026-09-17Live
Lincoln County — 2 cities
Lincoln CountyLincolnnot yet measured0Coming soon
LincolntonLincolnlincolntonnc.portal.civicclerk.comMonthly Tuesday~55 days AFTER the meeting date (n=6)2026-09-1182026-09-15Live
Mecklenburg County — 8 cities
CharlotteMecklenburgcharlottenc.legistar.comMonthly Monday~97 days AFTER the meeting date (n=7)2026-08-17282026-09-17Live
CorneliusMecklenburgcornelius.granicus.comMonthly Monday~447 days AFTER the meeting date (n=31)2026-09-11142026-09-14Live
DavidsonMecklenburgdavidsonnc.portal.civicclerk.comMonthly Monday~118 days AFTER the meeting date (n=5)2026-08-3112026-09-14Live
HuntersvilleMecklenburghuntersvillenc.portal.civicclerk.comMonthly Tuesday~76 days AFTER the meeting date (n=8)2026-09-15242026-09-16Live
MatthewsMecklenburgnot yet measured0Coming soon
Mecklenburg CountyMecklenburgmecklenburg.legistar.comMonthly Mixed~68 days AFTER the meeting date (n=16)2026-09-1472026-09-15Live
Mint HillMecklenburgnot yet measured0Coming soon
PinevilleMecklenburgnot yet measured0Coming soon
Union County — 5 cities
Indian TrailUnionwww.indiantrail.orgMonthly Tuesday~56 days AFTER the meeting date (n=7)2026-09-0992026-09-15Live
MonroeUnionmonroenc.portal.civicclerk.comMonthly Wednesday~116 days AFTER the meeting date (n=7)2026-08-2862026-09-16Live
StallingsUnionnot yet measured0Coming soon
Union CountyUnionunioncountync.legistar.comMonthly Tuesday~68 days AFTER the meeting date (n=9)2026-09-15222026-09-18Live
WaxhawUnionwaxhaw.civicweb.netnot yet measured2026-08-2052026-09-18Live
York County — 4 cities
Fort MillYorkwww.fortmillsc.govMonthly Tuesday~68 days AFTER the meeting date (n=9)2026-09-12262026-09-15Live
Rock HillYorknot yet measured0Coming soon
Tega CayYorkwww.tegacaysc.orgMonthly Monday~83 days AFTER the meeting date (n=7)2026-09-1152026-09-14Live
York CountyYorkyorkcosc.portal.civicclerk.comSemimonthly Mixed~77 days AFTER the meeting date (n=9)2026-09-08432026-09-14Live

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. 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 →

Start 14-day free trial