open-civics 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/sc/local/county-aiken.json +52 -52
- package/data/sc/local/county-berkeley.json +78 -78
- package/data/sc/local/county-dorchester.json +26 -26
- package/data/sc/local/county-jasper.json +20 -20
- package/data/sc/local/county-kershaw.json +28 -28
- package/data/sc/local/place-aiken.json +62 -62
- package/data/sc/local/place-north-charleston.json +97 -81
- package/package.json +1 -1
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"level": "local",
|
|
5
5
|
"jurisdiction": "county:aiken",
|
|
6
6
|
"label": "Aiken County Council",
|
|
7
|
-
"lastUpdated": "2026-
|
|
7
|
+
"lastUpdated": "2026-05-20",
|
|
8
8
|
"adapter": "civicplus",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-05-
|
|
9
|
+
"dataHash": "7bccac94d216c277",
|
|
10
|
+
"dataLastChanged": "2026-05-20"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"email": "gbunker@aikencountysc.gov",
|
|
17
17
|
"phone": "(803) 645-8388",
|
|
18
18
|
"source": "civicplus",
|
|
19
|
-
"lastUpdated": "2026-
|
|
19
|
+
"lastUpdated": "2026-05-20",
|
|
20
20
|
"vacant": false,
|
|
21
21
|
"office": "council-member",
|
|
22
22
|
"leadership": "chair",
|
|
@@ -28,130 +28,130 @@
|
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"name": "Honorable Danny Feagin",
|
|
31
|
-
"title": "Council Member",
|
|
31
|
+
"title": "Council Member, District 3",
|
|
32
32
|
"email": "dannyfeagin.district3@gmail.com",
|
|
33
33
|
"phone": "(803) 507-4556",
|
|
34
34
|
"source": "civicplus",
|
|
35
|
-
"lastUpdated": "2026-
|
|
35
|
+
"lastUpdated": "2026-05-20",
|
|
36
36
|
"vacant": false,
|
|
37
37
|
"office": "council-member",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"seatId": null,
|
|
38
|
+
"seatClass": "numbered",
|
|
39
|
+
"seatLabel": "district",
|
|
40
|
+
"seatId": "3",
|
|
42
41
|
"seatSource": "parsed-title",
|
|
42
|
+
"leadership": null,
|
|
43
43
|
"partisan": false
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"name": "Honorable L. Andrew Siders",
|
|
47
|
-
"title": "Council Member",
|
|
47
|
+
"title": "Council Member, District 7",
|
|
48
48
|
"email": "asiders@aikencountysc.gov",
|
|
49
49
|
"phone": "(803) 645-1302",
|
|
50
50
|
"source": "civicplus",
|
|
51
|
-
"lastUpdated": "2026-
|
|
51
|
+
"lastUpdated": "2026-05-20",
|
|
52
52
|
"vacant": false,
|
|
53
53
|
"office": "council-member",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"seatId": null,
|
|
54
|
+
"seatClass": "numbered",
|
|
55
|
+
"seatLabel": "district",
|
|
56
|
+
"seatId": "7",
|
|
58
57
|
"seatSource": "parsed-title",
|
|
58
|
+
"leadership": null,
|
|
59
59
|
"partisan": false
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
"name": "Honorable Landon Ball",
|
|
63
|
-
"title": "Council Member",
|
|
63
|
+
"title": "Council Member, District 4",
|
|
64
64
|
"email": "LBall@aikencountysc.gov",
|
|
65
65
|
"phone": "(803) 221-0002",
|
|
66
66
|
"source": "civicplus",
|
|
67
|
-
"lastUpdated": "2026-
|
|
67
|
+
"lastUpdated": "2026-05-20",
|
|
68
68
|
"vacant": false,
|
|
69
69
|
"office": "council-member",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"seatId": null,
|
|
70
|
+
"seatClass": "numbered",
|
|
71
|
+
"seatLabel": "district",
|
|
72
|
+
"seatId": "4",
|
|
74
73
|
"seatSource": "parsed-title",
|
|
74
|
+
"leadership": null,
|
|
75
75
|
"partisan": false
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
"name": "Honorable Mike Kellems",
|
|
79
|
-
"title": "Council Member",
|
|
79
|
+
"title": "Council Member, District 2",
|
|
80
80
|
"email": "mkellems@aikencountysc.gov",
|
|
81
81
|
"phone": "(803) 507-4856",
|
|
82
82
|
"source": "civicplus",
|
|
83
|
-
"lastUpdated": "2026-
|
|
83
|
+
"lastUpdated": "2026-05-20",
|
|
84
84
|
"vacant": false,
|
|
85
85
|
"office": "council-member",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"seatId": null,
|
|
86
|
+
"seatClass": "numbered",
|
|
87
|
+
"seatLabel": "district",
|
|
88
|
+
"seatId": "2",
|
|
90
89
|
"seatSource": "parsed-title",
|
|
90
|
+
"leadership": null,
|
|
91
91
|
"partisan": false
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
"name": "Honorable P.K. Hightower",
|
|
95
|
-
"title": "Council Member",
|
|
95
|
+
"title": "Council Member, District 8",
|
|
96
96
|
"email": "pkhightower@aikencountysc.gov",
|
|
97
97
|
"phone": "(803) 292-5314",
|
|
98
98
|
"source": "civicplus",
|
|
99
|
-
"lastUpdated": "2026-
|
|
99
|
+
"lastUpdated": "2026-05-20",
|
|
100
100
|
"vacant": false,
|
|
101
101
|
"office": "council-member",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"seatId": null,
|
|
102
|
+
"seatClass": "numbered",
|
|
103
|
+
"seatLabel": "district",
|
|
104
|
+
"seatId": "8",
|
|
106
105
|
"seatSource": "parsed-title",
|
|
106
|
+
"leadership": null,
|
|
107
107
|
"partisan": false
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
"name": "Honorable Phil Napier",
|
|
111
|
-
"title": "Council Member",
|
|
111
|
+
"title": "Council Member, District 6",
|
|
112
112
|
"email": "pnapier@aikencountysc.gov",
|
|
113
113
|
"phone": "(803) 663-7251",
|
|
114
114
|
"source": "civicplus",
|
|
115
|
-
"lastUpdated": "2026-
|
|
115
|
+
"lastUpdated": "2026-05-20",
|
|
116
116
|
"vacant": false,
|
|
117
117
|
"office": "council-member",
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"seatId": null,
|
|
118
|
+
"seatClass": "numbered",
|
|
119
|
+
"seatLabel": "district",
|
|
120
|
+
"seatId": "6",
|
|
122
121
|
"seatSource": "parsed-title",
|
|
122
|
+
"leadership": null,
|
|
123
123
|
"partisan": false
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
"name": "Honorable Ron Felder",
|
|
127
|
-
"title": "Council Member",
|
|
127
|
+
"title": "Council Member, District 1",
|
|
128
128
|
"email": "rfelder@aikencountysc.gov",
|
|
129
129
|
"phone": "(803) 422-1266",
|
|
130
130
|
"source": "civicplus",
|
|
131
|
-
"lastUpdated": "2026-
|
|
131
|
+
"lastUpdated": "2026-05-20",
|
|
132
132
|
"vacant": false,
|
|
133
133
|
"office": "council-member",
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"seatId": null,
|
|
134
|
+
"seatClass": "numbered",
|
|
135
|
+
"seatLabel": "district",
|
|
136
|
+
"seatId": "1",
|
|
138
137
|
"seatSource": "parsed-title",
|
|
138
|
+
"leadership": null,
|
|
139
139
|
"partisan": false
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
"name": "Honorable Sandy Haskell",
|
|
143
|
-
"title": "Council Member",
|
|
143
|
+
"title": "Council Member, District 5",
|
|
144
144
|
"email": "shaskell@aikencountysc.gov",
|
|
145
145
|
"phone": "(803) 279-5769",
|
|
146
146
|
"source": "civicplus",
|
|
147
|
-
"lastUpdated": "2026-
|
|
147
|
+
"lastUpdated": "2026-05-20",
|
|
148
148
|
"vacant": false,
|
|
149
149
|
"office": "council-member",
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"
|
|
153
|
-
"seatId": null,
|
|
150
|
+
"seatClass": "numbered",
|
|
151
|
+
"seatLabel": "district",
|
|
152
|
+
"seatId": "5",
|
|
154
153
|
"seatSource": "parsed-title",
|
|
154
|
+
"leadership": null,
|
|
155
155
|
"partisan": false
|
|
156
156
|
}
|
|
157
157
|
]
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"level": "local",
|
|
5
5
|
"jurisdiction": "county:berkeley",
|
|
6
6
|
"label": "Berkeley County Council",
|
|
7
|
-
"lastUpdated": "2026-
|
|
8
|
-
"adapter": "
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-05-
|
|
7
|
+
"lastUpdated": "2026-05-20",
|
|
8
|
+
"adapter": "berkeley_county",
|
|
9
|
+
"dataHash": "61d892440420cc1a",
|
|
10
|
+
"dataLastChanged": "2026-05-20"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
14
14
|
"name": "Johnny Cribb",
|
|
15
15
|
"title": "Chairman",
|
|
16
16
|
"email": "",
|
|
17
|
-
"phone": "
|
|
18
|
-
"source": "
|
|
19
|
-
"lastUpdated": "2026-
|
|
17
|
+
"phone": "",
|
|
18
|
+
"source": "berkeleycounty",
|
|
19
|
+
"lastUpdated": "2026-05-20",
|
|
20
20
|
"vacant": false,
|
|
21
21
|
"office": "council-member",
|
|
22
22
|
"leadership": "chair",
|
|
@@ -28,130 +28,130 @@
|
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"name": "Dan Owens",
|
|
31
|
-
"title": "
|
|
31
|
+
"title": "Council Member, District 1",
|
|
32
32
|
"email": "",
|
|
33
|
-
"phone": "
|
|
34
|
-
"source": "
|
|
35
|
-
"lastUpdated": "2026-
|
|
33
|
+
"phone": "",
|
|
34
|
+
"source": "berkeleycounty",
|
|
35
|
+
"lastUpdated": "2026-05-20",
|
|
36
36
|
"vacant": false,
|
|
37
37
|
"office": "council-member",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"seatId": null,
|
|
38
|
+
"seatClass": "numbered",
|
|
39
|
+
"seatLabel": "district",
|
|
40
|
+
"seatId": "1",
|
|
42
41
|
"seatSource": "parsed-title",
|
|
42
|
+
"leadership": null,
|
|
43
43
|
"partisan": false
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
|
-
"name": "
|
|
47
|
-
"title": "Council Member",
|
|
46
|
+
"name": "Jarrod Brooks",
|
|
47
|
+
"title": "Council Member, District 2",
|
|
48
48
|
"email": "",
|
|
49
|
-
"phone": "
|
|
50
|
-
"source": "
|
|
51
|
-
"lastUpdated": "2026-
|
|
49
|
+
"phone": "",
|
|
50
|
+
"source": "berkeleycounty",
|
|
51
|
+
"lastUpdated": "2026-05-20",
|
|
52
52
|
"vacant": false,
|
|
53
53
|
"office": "council-member",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"seatId": null,
|
|
54
|
+
"seatClass": "numbered",
|
|
55
|
+
"seatLabel": "district",
|
|
56
|
+
"seatId": "2",
|
|
58
57
|
"seatSource": "parsed-title",
|
|
58
|
+
"leadership": null,
|
|
59
59
|
"partisan": false
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
"name": "
|
|
63
|
-
"title": "Council Member",
|
|
62
|
+
"name": "Phillip Obie II",
|
|
63
|
+
"title": "Council Member, District 3",
|
|
64
64
|
"email": "",
|
|
65
|
-
"phone": "
|
|
66
|
-
"source": "
|
|
67
|
-
"lastUpdated": "2026-
|
|
65
|
+
"phone": "",
|
|
66
|
+
"source": "berkeleycounty",
|
|
67
|
+
"lastUpdated": "2026-05-20",
|
|
68
68
|
"vacant": false,
|
|
69
69
|
"office": "council-member",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"seatId": null,
|
|
70
|
+
"seatClass": "numbered",
|
|
71
|
+
"seatLabel": "district",
|
|
72
|
+
"seatId": "3",
|
|
74
73
|
"seatSource": "parsed-title",
|
|
74
|
+
"leadership": null,
|
|
75
75
|
"partisan": false
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
|
-
"name": "
|
|
79
|
-
"title": "Council Member",
|
|
78
|
+
"name": "Tommy Newell",
|
|
79
|
+
"title": "Council Member, District 4",
|
|
80
80
|
"email": "",
|
|
81
|
-
"phone": "
|
|
82
|
-
"source": "
|
|
83
|
-
"lastUpdated": "2026-
|
|
81
|
+
"phone": "",
|
|
82
|
+
"source": "berkeleycounty",
|
|
83
|
+
"lastUpdated": "2026-05-20",
|
|
84
84
|
"vacant": false,
|
|
85
85
|
"office": "council-member",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"seatId": null,
|
|
86
|
+
"seatClass": "numbered",
|
|
87
|
+
"seatLabel": "district",
|
|
88
|
+
"seatId": "4",
|
|
90
89
|
"seatSource": "parsed-title",
|
|
90
|
+
"leadership": null,
|
|
91
91
|
"partisan": false
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
|
-
"name": "
|
|
95
|
-
"title": "Council Member",
|
|
94
|
+
"name": "Amy Stern",
|
|
95
|
+
"title": "Council Member, District 5",
|
|
96
96
|
"email": "",
|
|
97
|
-
"phone": "
|
|
98
|
-
"source": "
|
|
99
|
-
"lastUpdated": "2026-
|
|
97
|
+
"phone": "",
|
|
98
|
+
"source": "berkeleycounty",
|
|
99
|
+
"lastUpdated": "2026-05-20",
|
|
100
100
|
"vacant": false,
|
|
101
101
|
"office": "council-member",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"seatId": null,
|
|
102
|
+
"seatClass": "numbered",
|
|
103
|
+
"seatLabel": "district",
|
|
104
|
+
"seatId": "5",
|
|
106
105
|
"seatSource": "parsed-title",
|
|
106
|
+
"leadership": null,
|
|
107
107
|
"partisan": false
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
"name": "
|
|
111
|
-
"title": "Council Member",
|
|
110
|
+
"name": "Marshall West",
|
|
111
|
+
"title": "Council Member, District 6",
|
|
112
112
|
"email": "",
|
|
113
|
-
"phone": "
|
|
114
|
-
"source": "
|
|
115
|
-
"lastUpdated": "2026-
|
|
113
|
+
"phone": "",
|
|
114
|
+
"source": "berkeleycounty",
|
|
115
|
+
"lastUpdated": "2026-05-20",
|
|
116
116
|
"vacant": false,
|
|
117
117
|
"office": "council-member",
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"seatId": null,
|
|
118
|
+
"seatClass": "numbered",
|
|
119
|
+
"seatLabel": "district",
|
|
120
|
+
"seatId": "6",
|
|
122
121
|
"seatSource": "parsed-title",
|
|
122
|
+
"leadership": null,
|
|
123
123
|
"partisan": false
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
|
-
"name": "
|
|
127
|
-
"title": "Council Member",
|
|
126
|
+
"name": "Caldwell Pinckney Jr.",
|
|
127
|
+
"title": "Council Member, District 7",
|
|
128
128
|
"email": "",
|
|
129
|
-
"phone": "
|
|
130
|
-
"source": "
|
|
131
|
-
"lastUpdated": "2026-
|
|
129
|
+
"phone": "",
|
|
130
|
+
"source": "berkeleycounty",
|
|
131
|
+
"lastUpdated": "2026-05-20",
|
|
132
132
|
"vacant": false,
|
|
133
133
|
"office": "council-member",
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"seatId": null,
|
|
134
|
+
"seatClass": "numbered",
|
|
135
|
+
"seatLabel": "district",
|
|
136
|
+
"seatId": "7",
|
|
138
137
|
"seatSource": "parsed-title",
|
|
138
|
+
"leadership": null,
|
|
139
139
|
"partisan": false
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
|
-
"name": "
|
|
143
|
-
"title": "Council Member",
|
|
142
|
+
"name": "Steve Davis",
|
|
143
|
+
"title": "Council Member, District 8",
|
|
144
144
|
"email": "",
|
|
145
|
-
"phone": "
|
|
146
|
-
"source": "
|
|
147
|
-
"lastUpdated": "2026-
|
|
145
|
+
"phone": "",
|
|
146
|
+
"source": "berkeleycounty",
|
|
147
|
+
"lastUpdated": "2026-05-20",
|
|
148
148
|
"vacant": false,
|
|
149
149
|
"office": "council-member",
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"
|
|
153
|
-
"seatId": null,
|
|
150
|
+
"seatClass": "numbered",
|
|
151
|
+
"seatLabel": "district",
|
|
152
|
+
"seatId": "8",
|
|
154
153
|
"seatSource": "parsed-title",
|
|
154
|
+
"leadership": null,
|
|
155
155
|
"partisan": false
|
|
156
156
|
}
|
|
157
157
|
]
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"label": "Dorchester County Council",
|
|
7
7
|
"lastUpdated": "2026-03-14",
|
|
8
8
|
"adapter": "scac",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-05-
|
|
9
|
+
"dataHash": "e755726781f0f9f8",
|
|
10
|
+
"dataLastChanged": "2026-05-20"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"vacant": false,
|
|
21
21
|
"office": "council-member",
|
|
22
22
|
"leadership": "chair",
|
|
23
|
-
"seatClass": "
|
|
24
|
-
"seatLabel":
|
|
25
|
-
"seatId":
|
|
26
|
-
"seatSource": "
|
|
23
|
+
"seatClass": "numbered",
|
|
24
|
+
"seatLabel": "district",
|
|
25
|
+
"seatId": "2",
|
|
26
|
+
"seatSource": "manual",
|
|
27
27
|
"partisan": false
|
|
28
28
|
},
|
|
29
29
|
{
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"vacant": false,
|
|
37
37
|
"office": "council-member",
|
|
38
38
|
"leadership": "vice-chair",
|
|
39
|
-
"seatClass": "
|
|
40
|
-
"seatLabel":
|
|
41
|
-
"seatId":
|
|
42
|
-
"seatSource": "
|
|
39
|
+
"seatClass": "numbered",
|
|
40
|
+
"seatLabel": "district",
|
|
41
|
+
"seatId": "3",
|
|
42
|
+
"seatSource": "manual",
|
|
43
43
|
"partisan": false
|
|
44
44
|
},
|
|
45
45
|
{
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"vacant": false,
|
|
53
53
|
"office": "council-member",
|
|
54
54
|
"leadership": null,
|
|
55
|
-
"seatClass": "
|
|
56
|
-
"seatLabel":
|
|
57
|
-
"seatId":
|
|
58
|
-
"seatSource": "
|
|
55
|
+
"seatClass": "numbered",
|
|
56
|
+
"seatLabel": "district",
|
|
57
|
+
"seatId": "5",
|
|
58
|
+
"seatSource": "manual",
|
|
59
59
|
"partisan": false
|
|
60
60
|
},
|
|
61
61
|
{
|
|
@@ -68,10 +68,10 @@
|
|
|
68
68
|
"vacant": false,
|
|
69
69
|
"office": "council-member",
|
|
70
70
|
"leadership": null,
|
|
71
|
-
"seatClass": "
|
|
72
|
-
"seatLabel":
|
|
73
|
-
"seatId":
|
|
74
|
-
"seatSource": "
|
|
71
|
+
"seatClass": "numbered",
|
|
72
|
+
"seatLabel": "district",
|
|
73
|
+
"seatId": "7",
|
|
74
|
+
"seatSource": "manual",
|
|
75
75
|
"partisan": false
|
|
76
76
|
},
|
|
77
77
|
{
|
|
@@ -84,10 +84,10 @@
|
|
|
84
84
|
"vacant": false,
|
|
85
85
|
"office": "council-member",
|
|
86
86
|
"leadership": null,
|
|
87
|
-
"seatClass": "
|
|
88
|
-
"seatLabel":
|
|
89
|
-
"seatId":
|
|
90
|
-
"seatSource": "
|
|
87
|
+
"seatClass": "numbered",
|
|
88
|
+
"seatLabel": "district",
|
|
89
|
+
"seatId": "1",
|
|
90
|
+
"seatSource": "manual",
|
|
91
91
|
"partisan": false
|
|
92
92
|
},
|
|
93
93
|
{
|
|
@@ -100,10 +100,10 @@
|
|
|
100
100
|
"vacant": false,
|
|
101
101
|
"office": "council-member",
|
|
102
102
|
"leadership": null,
|
|
103
|
-
"seatClass": "
|
|
104
|
-
"seatLabel":
|
|
105
|
-
"seatId":
|
|
106
|
-
"seatSource": "
|
|
103
|
+
"seatClass": "numbered",
|
|
104
|
+
"seatLabel": "district",
|
|
105
|
+
"seatId": "4",
|
|
106
|
+
"seatSource": "manual",
|
|
107
107
|
"partisan": false
|
|
108
108
|
}
|
|
109
109
|
]
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"label": "Jasper County Council",
|
|
7
7
|
"lastUpdated": "2026-03-14",
|
|
8
8
|
"adapter": "table",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-05-
|
|
9
|
+
"dataHash": "fcd599d503d7c93c",
|
|
10
|
+
"dataLastChanged": "2026-05-20"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"vacant": false,
|
|
21
21
|
"office": "council-member",
|
|
22
22
|
"leadership": "vice-chair",
|
|
23
|
-
"seatClass": "
|
|
24
|
-
"seatLabel":
|
|
25
|
-
"seatId":
|
|
26
|
-
"seatSource": "
|
|
23
|
+
"seatClass": "numbered",
|
|
24
|
+
"seatLabel": "township",
|
|
25
|
+
"seatId": "Hardeeville",
|
|
26
|
+
"seatSource": "manual",
|
|
27
27
|
"partisan": false
|
|
28
28
|
},
|
|
29
29
|
{
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"vacant": false,
|
|
37
37
|
"office": "council-member",
|
|
38
38
|
"leadership": null,
|
|
39
|
-
"seatClass": "
|
|
40
|
-
"seatLabel":
|
|
41
|
-
"seatId":
|
|
42
|
-
"seatSource": "
|
|
39
|
+
"seatClass": "numbered",
|
|
40
|
+
"seatLabel": "township",
|
|
41
|
+
"seatId": "Robertville",
|
|
42
|
+
"seatSource": "manual",
|
|
43
43
|
"partisan": false
|
|
44
44
|
},
|
|
45
45
|
{
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"vacant": false,
|
|
53
53
|
"office": "council-member",
|
|
54
54
|
"leadership": null,
|
|
55
|
-
"seatClass": "
|
|
55
|
+
"seatClass": "at-large",
|
|
56
56
|
"seatLabel": null,
|
|
57
57
|
"seatId": null,
|
|
58
|
-
"seatSource": "
|
|
58
|
+
"seatSource": "manual",
|
|
59
59
|
"partisan": false
|
|
60
60
|
},
|
|
61
61
|
{
|
|
@@ -68,10 +68,10 @@
|
|
|
68
68
|
"vacant": false,
|
|
69
69
|
"office": "council-member",
|
|
70
70
|
"leadership": "chair",
|
|
71
|
-
"seatClass": "
|
|
72
|
-
"seatLabel":
|
|
73
|
-
"seatId":
|
|
74
|
-
"seatSource": "
|
|
71
|
+
"seatClass": "numbered",
|
|
72
|
+
"seatLabel": "township",
|
|
73
|
+
"seatId": "Pocotaligo",
|
|
74
|
+
"seatSource": "manual",
|
|
75
75
|
"partisan": false
|
|
76
76
|
},
|
|
77
77
|
{
|
|
@@ -84,10 +84,10 @@
|
|
|
84
84
|
"vacant": false,
|
|
85
85
|
"office": "council-member",
|
|
86
86
|
"leadership": null,
|
|
87
|
-
"seatClass": "
|
|
88
|
-
"seatLabel":
|
|
89
|
-
"seatId":
|
|
90
|
-
"seatSource": "
|
|
87
|
+
"seatClass": "numbered",
|
|
88
|
+
"seatLabel": "township",
|
|
89
|
+
"seatId": "Coosawhatchie",
|
|
90
|
+
"seatSource": "manual",
|
|
91
91
|
"partisan": false
|
|
92
92
|
}
|
|
93
93
|
]
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"label": "Kershaw County Council",
|
|
7
7
|
"lastUpdated": "2026-03-14",
|
|
8
8
|
"adapter": "scac",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-05-
|
|
9
|
+
"dataHash": "09acc58c79d43585",
|
|
10
|
+
"dataLastChanged": "2026-05-20"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"vacant": false,
|
|
21
21
|
"office": "council-member",
|
|
22
22
|
"leadership": "chair",
|
|
23
|
-
"seatClass": "
|
|
23
|
+
"seatClass": "at-large",
|
|
24
24
|
"seatLabel": null,
|
|
25
25
|
"seatId": null,
|
|
26
|
-
"seatSource": "
|
|
26
|
+
"seatSource": "manual",
|
|
27
27
|
"partisan": false
|
|
28
28
|
},
|
|
29
29
|
{
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"vacant": false,
|
|
37
37
|
"office": "council-member",
|
|
38
38
|
"leadership": "vice-chair",
|
|
39
|
-
"seatClass": "
|
|
40
|
-
"seatLabel":
|
|
41
|
-
"seatId":
|
|
42
|
-
"seatSource": "
|
|
39
|
+
"seatClass": "numbered",
|
|
40
|
+
"seatLabel": "district",
|
|
41
|
+
"seatId": "1",
|
|
42
|
+
"seatSource": "manual",
|
|
43
43
|
"partisan": false
|
|
44
44
|
},
|
|
45
45
|
{
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"vacant": false,
|
|
53
53
|
"office": "council-member",
|
|
54
54
|
"leadership": null,
|
|
55
|
-
"seatClass": "
|
|
56
|
-
"seatLabel":
|
|
57
|
-
"seatId":
|
|
58
|
-
"seatSource": "
|
|
55
|
+
"seatClass": "numbered",
|
|
56
|
+
"seatLabel": "district",
|
|
57
|
+
"seatId": "5",
|
|
58
|
+
"seatSource": "manual",
|
|
59
59
|
"partisan": false
|
|
60
60
|
},
|
|
61
61
|
{
|
|
@@ -68,10 +68,10 @@
|
|
|
68
68
|
"vacant": false,
|
|
69
69
|
"office": "council-member",
|
|
70
70
|
"leadership": null,
|
|
71
|
-
"seatClass": "
|
|
72
|
-
"seatLabel":
|
|
73
|
-
"seatId":
|
|
74
|
-
"seatSource": "
|
|
71
|
+
"seatClass": "numbered",
|
|
72
|
+
"seatLabel": "district",
|
|
73
|
+
"seatId": "6",
|
|
74
|
+
"seatSource": "manual",
|
|
75
75
|
"partisan": false
|
|
76
76
|
},
|
|
77
77
|
{
|
|
@@ -84,10 +84,10 @@
|
|
|
84
84
|
"vacant": false,
|
|
85
85
|
"office": "council-member",
|
|
86
86
|
"leadership": null,
|
|
87
|
-
"seatClass": "
|
|
88
|
-
"seatLabel":
|
|
89
|
-
"seatId":
|
|
90
|
-
"seatSource": "
|
|
87
|
+
"seatClass": "numbered",
|
|
88
|
+
"seatLabel": "district",
|
|
89
|
+
"seatId": "3",
|
|
90
|
+
"seatSource": "manual",
|
|
91
91
|
"partisan": false
|
|
92
92
|
},
|
|
93
93
|
{
|
|
@@ -100,10 +100,10 @@
|
|
|
100
100
|
"vacant": false,
|
|
101
101
|
"office": "council-member",
|
|
102
102
|
"leadership": null,
|
|
103
|
-
"seatClass": "
|
|
104
|
-
"seatLabel":
|
|
105
|
-
"seatId":
|
|
106
|
-
"seatSource": "
|
|
103
|
+
"seatClass": "numbered",
|
|
104
|
+
"seatLabel": "district",
|
|
105
|
+
"seatId": "4",
|
|
106
|
+
"seatSource": "manual",
|
|
107
107
|
"partisan": false
|
|
108
108
|
},
|
|
109
109
|
{
|
|
@@ -116,10 +116,10 @@
|
|
|
116
116
|
"vacant": false,
|
|
117
117
|
"office": "council-member",
|
|
118
118
|
"leadership": null,
|
|
119
|
-
"seatClass": "
|
|
120
|
-
"seatLabel":
|
|
121
|
-
"seatId":
|
|
122
|
-
"seatSource": "
|
|
119
|
+
"seatClass": "numbered",
|
|
120
|
+
"seatLabel": "district",
|
|
121
|
+
"seatId": "2",
|
|
122
|
+
"seatSource": "manual",
|
|
123
123
|
"partisan": false
|
|
124
124
|
}
|
|
125
125
|
]
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"level": "local",
|
|
5
5
|
"jurisdiction": "place:aiken",
|
|
6
6
|
"label": "Aiken City Council",
|
|
7
|
-
"lastUpdated": "2026-
|
|
8
|
-
"adapter": "
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-05-
|
|
7
|
+
"lastUpdated": "2026-05-20",
|
|
8
|
+
"adapter": "aiken_city",
|
|
9
|
+
"dataHash": "2d9e72f3e020ae93",
|
|
10
|
+
"dataLastChanged": "2026-05-20"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
14
|
-
"name": "Teddy
|
|
14
|
+
"name": "Teddy Milner",
|
|
15
15
|
"title": "Mayor",
|
|
16
16
|
"email": "",
|
|
17
|
-
"phone": "",
|
|
18
|
-
"source": "
|
|
19
|
-
"lastUpdated": "2026-
|
|
17
|
+
"phone": "(803) 295-2850",
|
|
18
|
+
"source": "aikencity",
|
|
19
|
+
"lastUpdated": "2026-05-20",
|
|
20
20
|
"vacant": false,
|
|
21
21
|
"office": "mayor",
|
|
22
22
|
"leadership": null,
|
|
@@ -27,99 +27,99 @@
|
|
|
27
27
|
"partisan": false
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
"name": "
|
|
31
|
-
"title": "Council Member",
|
|
30
|
+
"name": "Gail Diggs",
|
|
31
|
+
"title": "Council Member District 1",
|
|
32
32
|
"email": "",
|
|
33
|
-
"phone": "",
|
|
34
|
-
"source": "
|
|
35
|
-
"lastUpdated": "2026-
|
|
33
|
+
"phone": "(803) 293-6704",
|
|
34
|
+
"source": "aikencity",
|
|
35
|
+
"lastUpdated": "2026-05-20",
|
|
36
36
|
"vacant": false,
|
|
37
37
|
"office": "council-member",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"seatId": null,
|
|
38
|
+
"seatClass": "numbered",
|
|
39
|
+
"seatLabel": "district",
|
|
40
|
+
"seatId": "1",
|
|
42
41
|
"seatSource": "parsed-title",
|
|
42
|
+
"leadership": null,
|
|
43
43
|
"partisan": false
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
|
-
"name": "
|
|
47
|
-
"title": "Council Member",
|
|
46
|
+
"name": "Lessie Price",
|
|
47
|
+
"title": "Council Member District 2",
|
|
48
48
|
"email": "",
|
|
49
|
-
"phone": "",
|
|
50
|
-
"source": "
|
|
51
|
-
"lastUpdated": "2026-
|
|
49
|
+
"phone": "(803) 439-8292",
|
|
50
|
+
"source": "aikencity",
|
|
51
|
+
"lastUpdated": "2026-05-20",
|
|
52
52
|
"vacant": false,
|
|
53
53
|
"office": "council-member",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"seatId": null,
|
|
54
|
+
"seatClass": "numbered",
|
|
55
|
+
"seatLabel": "district",
|
|
56
|
+
"seatId": "2",
|
|
58
57
|
"seatSource": "parsed-title",
|
|
58
|
+
"leadership": null,
|
|
59
59
|
"partisan": false
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
"name": "
|
|
63
|
-
"title": "Council Member",
|
|
62
|
+
"name": "Kay Brohl",
|
|
63
|
+
"title": "Council Member District 3",
|
|
64
64
|
"email": "",
|
|
65
|
-
"phone": "",
|
|
66
|
-
"source": "
|
|
67
|
-
"lastUpdated": "2026-
|
|
65
|
+
"phone": "(803) 642-8386",
|
|
66
|
+
"source": "aikencity",
|
|
67
|
+
"lastUpdated": "2026-05-20",
|
|
68
68
|
"vacant": false,
|
|
69
69
|
"office": "council-member",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"seatId": null,
|
|
70
|
+
"seatClass": "numbered",
|
|
71
|
+
"seatLabel": "district",
|
|
72
|
+
"seatId": "3",
|
|
74
73
|
"seatSource": "parsed-title",
|
|
74
|
+
"leadership": null,
|
|
75
75
|
"partisan": false
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
|
-
"name": "
|
|
79
|
-
"title": "Council Member",
|
|
78
|
+
"name": "Pete Messina",
|
|
79
|
+
"title": "Council Member District 4",
|
|
80
80
|
"email": "",
|
|
81
|
-
"phone": "",
|
|
82
|
-
"source": "
|
|
83
|
-
"lastUpdated": "2026-
|
|
81
|
+
"phone": "(803) 642-7654",
|
|
82
|
+
"source": "aikencity",
|
|
83
|
+
"lastUpdated": "2026-05-20",
|
|
84
84
|
"vacant": false,
|
|
85
85
|
"office": "council-member",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"seatId": null,
|
|
86
|
+
"seatClass": "numbered",
|
|
87
|
+
"seatLabel": "district",
|
|
88
|
+
"seatId": "4",
|
|
90
89
|
"seatSource": "parsed-title",
|
|
90
|
+
"leadership": null,
|
|
91
91
|
"partisan": false
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
|
-
"name": "
|
|
95
|
-
"title": "Council Member",
|
|
94
|
+
"name": "Braylen D. Waldo",
|
|
95
|
+
"title": "Council Member District 5",
|
|
96
96
|
"email": "",
|
|
97
|
-
"phone": "",
|
|
98
|
-
"source": "
|
|
99
|
-
"lastUpdated": "2026-
|
|
97
|
+
"phone": "(803) 642-7654",
|
|
98
|
+
"source": "aikencity",
|
|
99
|
+
"lastUpdated": "2026-05-20",
|
|
100
100
|
"vacant": false,
|
|
101
101
|
"office": "council-member",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"seatId": null,
|
|
102
|
+
"seatClass": "numbered",
|
|
103
|
+
"seatLabel": "district",
|
|
104
|
+
"seatId": "5",
|
|
106
105
|
"seatSource": "parsed-title",
|
|
106
|
+
"leadership": null,
|
|
107
107
|
"partisan": false
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
"name": "
|
|
111
|
-
"title": "Council Member",
|
|
110
|
+
"name": "Barbara Morgan",
|
|
111
|
+
"title": "Council Member District 6",
|
|
112
112
|
"email": "",
|
|
113
|
-
"phone": "",
|
|
114
|
-
"source": "
|
|
115
|
-
"lastUpdated": "2026-
|
|
113
|
+
"phone": "(803) 642-7654",
|
|
114
|
+
"source": "aikencity",
|
|
115
|
+
"lastUpdated": "2026-05-20",
|
|
116
116
|
"vacant": false,
|
|
117
117
|
"office": "council-member",
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"seatId": null,
|
|
118
|
+
"seatClass": "numbered",
|
|
119
|
+
"seatLabel": "district",
|
|
120
|
+
"seatId": "6",
|
|
122
121
|
"seatSource": "parsed-title",
|
|
122
|
+
"leadership": null,
|
|
123
123
|
"partisan": false
|
|
124
124
|
}
|
|
125
125
|
]
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"level": "local",
|
|
5
5
|
"jurisdiction": "place:north-charleston",
|
|
6
6
|
"label": "North Charleston City Council",
|
|
7
|
-
"lastUpdated": "2026-
|
|
7
|
+
"lastUpdated": "2026-05-20",
|
|
8
8
|
"adapter": "generic_mailto",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-05-
|
|
9
|
+
"dataHash": "b094aca44bd7195d",
|
|
10
|
+
"dataLastChanged": "2026-05-20"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"email": "",
|
|
17
17
|
"phone": "(843) 740-2504",
|
|
18
18
|
"source": "genericmailto",
|
|
19
|
-
"lastUpdated": "2026-
|
|
19
|
+
"lastUpdated": "2026-05-20",
|
|
20
20
|
"vacant": false,
|
|
21
21
|
"office": "mayor",
|
|
22
22
|
"leadership": null,
|
|
@@ -27,147 +27,163 @@
|
|
|
27
27
|
"partisan": false
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
"name": "
|
|
31
|
-
"title": "Council Member",
|
|
32
|
-
"email": "
|
|
33
|
-
"phone": "(
|
|
30
|
+
"name": "Greg Perry",
|
|
31
|
+
"title": "Council Member, District 1",
|
|
32
|
+
"email": "gperry@northcharleston.org",
|
|
33
|
+
"phone": "(843) 557-5351",
|
|
34
34
|
"source": "genericmailto",
|
|
35
|
-
"lastUpdated": "2026-
|
|
35
|
+
"lastUpdated": "2026-05-20",
|
|
36
36
|
"vacant": false,
|
|
37
37
|
"office": "council-member",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"seatId": null,
|
|
38
|
+
"seatClass": "numbered",
|
|
39
|
+
"seatLabel": "district",
|
|
40
|
+
"seatId": "1",
|
|
42
41
|
"seatSource": "parsed-title",
|
|
42
|
+
"leadership": null,
|
|
43
43
|
"partisan": false
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
|
-
"name": "
|
|
47
|
-
"title": "Council Member",
|
|
48
|
-
"email": "
|
|
49
|
-
"phone": "(843)
|
|
46
|
+
"name": "Rhonda Jerome",
|
|
47
|
+
"title": "Council Member, District 2",
|
|
48
|
+
"email": "rjerome@northcharleston.org",
|
|
49
|
+
"phone": "(843) 813-4404",
|
|
50
50
|
"source": "genericmailto",
|
|
51
|
-
"lastUpdated": "2026-
|
|
51
|
+
"lastUpdated": "2026-05-20",
|
|
52
52
|
"vacant": false,
|
|
53
53
|
"office": "council-member",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"seatId": null,
|
|
54
|
+
"seatClass": "numbered",
|
|
55
|
+
"seatLabel": "district",
|
|
56
|
+
"seatId": "2",
|
|
58
57
|
"seatSource": "parsed-title",
|
|
58
|
+
"leadership": null,
|
|
59
59
|
"partisan": false
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
"name": "Dr.
|
|
63
|
-
"title": "Council Member",
|
|
64
|
-
"email": "
|
|
65
|
-
"phone": "(843)
|
|
62
|
+
"name": "Dr. Stephanie Ganaway-Pasley",
|
|
63
|
+
"title": "Council Member, District 3",
|
|
64
|
+
"email": "sganawaypasley@northcharleston.org",
|
|
65
|
+
"phone": "(843) 270-1961",
|
|
66
66
|
"source": "genericmailto",
|
|
67
|
-
"lastUpdated": "2026-
|
|
67
|
+
"lastUpdated": "2026-05-20",
|
|
68
68
|
"vacant": false,
|
|
69
69
|
"office": "council-member",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"seatId": null,
|
|
70
|
+
"seatClass": "numbered",
|
|
71
|
+
"seatLabel": "district",
|
|
72
|
+
"seatId": "3",
|
|
74
73
|
"seatSource": "parsed-title",
|
|
74
|
+
"leadership": null,
|
|
75
75
|
"partisan": false
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
|
-
"name": "Dr.
|
|
79
|
-
"title": "Council Member",
|
|
80
|
-
"email": "
|
|
81
|
-
"phone": "(843)
|
|
78
|
+
"name": "Dr. Charmaine Palmer-Roberts",
|
|
79
|
+
"title": "Council Member, District 4",
|
|
80
|
+
"email": "cpalmerroberts@northcharleston.org",
|
|
81
|
+
"phone": "(843) 819-9170",
|
|
82
82
|
"source": "genericmailto",
|
|
83
|
-
"lastUpdated": "2026-
|
|
83
|
+
"lastUpdated": "2026-05-20",
|
|
84
84
|
"vacant": false,
|
|
85
85
|
"office": "council-member",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"seatId": null,
|
|
86
|
+
"seatClass": "numbered",
|
|
87
|
+
"seatLabel": "district",
|
|
88
|
+
"seatId": "4",
|
|
90
89
|
"seatSource": "parsed-title",
|
|
90
|
+
"leadership": null,
|
|
91
91
|
"partisan": false
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
|
-
"name": "
|
|
95
|
-
"title": "Council Member",
|
|
96
|
-
"email": "
|
|
97
|
-
"phone": "(843)
|
|
94
|
+
"name": "Christopher Emde",
|
|
95
|
+
"title": "Council Member, District 5",
|
|
96
|
+
"email": "cemde@northcharleston.org",
|
|
97
|
+
"phone": "(843) 751-6214",
|
|
98
98
|
"source": "genericmailto",
|
|
99
|
-
"lastUpdated": "2026-
|
|
99
|
+
"lastUpdated": "2026-05-20",
|
|
100
100
|
"vacant": false,
|
|
101
101
|
"office": "council-member",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"seatId": null,
|
|
102
|
+
"seatClass": "numbered",
|
|
103
|
+
"seatLabel": "district",
|
|
104
|
+
"seatId": "5",
|
|
106
105
|
"seatSource": "parsed-title",
|
|
106
|
+
"leadership": null,
|
|
107
107
|
"partisan": false
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
"name": "
|
|
111
|
-
"title": "Council Member",
|
|
112
|
-
"email": "
|
|
113
|
-
"phone": "(843)
|
|
110
|
+
"name": "Nefertiti Brown",
|
|
111
|
+
"title": "Council Member, District 6",
|
|
112
|
+
"email": "nbrown@northcharleston.org",
|
|
113
|
+
"phone": "(843) 790-4098",
|
|
114
114
|
"source": "genericmailto",
|
|
115
|
-
"lastUpdated": "2026-
|
|
115
|
+
"lastUpdated": "2026-05-20",
|
|
116
116
|
"vacant": false,
|
|
117
117
|
"office": "council-member",
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"seatId": null,
|
|
118
|
+
"seatClass": "numbered",
|
|
119
|
+
"seatLabel": "district",
|
|
120
|
+
"seatId": "6",
|
|
122
121
|
"seatSource": "parsed-title",
|
|
122
|
+
"leadership": null,
|
|
123
123
|
"partisan": false
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
"name": "Michael Brown, Jr.",
|
|
127
|
-
"title": "Council Member",
|
|
127
|
+
"title": "Council Member, District 7",
|
|
128
128
|
"email": "mibrown@northcharleston.org",
|
|
129
129
|
"phone": "(843) 367-3714",
|
|
130
130
|
"source": "genericmailto",
|
|
131
|
-
"lastUpdated": "2026-
|
|
131
|
+
"lastUpdated": "2026-05-20",
|
|
132
132
|
"vacant": false,
|
|
133
133
|
"office": "council-member",
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"seatId": null,
|
|
134
|
+
"seatClass": "numbered",
|
|
135
|
+
"seatLabel": "district",
|
|
136
|
+
"seatId": "7",
|
|
138
137
|
"seatSource": "parsed-title",
|
|
138
|
+
"leadership": null,
|
|
139
139
|
"partisan": false
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
|
-
"name": "
|
|
143
|
-
"title": "Council Member",
|
|
144
|
-
"email": "
|
|
145
|
-
"phone": "(
|
|
142
|
+
"name": "Brandon Hudson",
|
|
143
|
+
"title": "Council Member, District 8",
|
|
144
|
+
"email": "bhudson@northcharleston.org",
|
|
145
|
+
"phone": "(803) 292-6044",
|
|
146
146
|
"source": "genericmailto",
|
|
147
|
-
"lastUpdated": "2026-
|
|
147
|
+
"lastUpdated": "2026-05-20",
|
|
148
148
|
"vacant": false,
|
|
149
149
|
"office": "council-member",
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"
|
|
153
|
-
"seatId": null,
|
|
150
|
+
"seatClass": "numbered",
|
|
151
|
+
"seatLabel": "district",
|
|
152
|
+
"seatId": "8",
|
|
154
153
|
"seatSource": "parsed-title",
|
|
154
|
+
"leadership": null,
|
|
155
155
|
"partisan": false
|
|
156
156
|
},
|
|
157
157
|
{
|
|
158
|
-
"name": "
|
|
159
|
-
"title": "Council Member",
|
|
160
|
-
"email": "
|
|
161
|
-
"phone": "(843)
|
|
158
|
+
"name": "Kenny Skipper",
|
|
159
|
+
"title": "Council Member, District 9",
|
|
160
|
+
"email": "kskipper@northcharleston.org",
|
|
161
|
+
"phone": "(843) 200-7520",
|
|
162
162
|
"source": "genericmailto",
|
|
163
|
-
"lastUpdated": "2026-
|
|
163
|
+
"lastUpdated": "2026-05-20",
|
|
164
164
|
"vacant": false,
|
|
165
165
|
"office": "council-member",
|
|
166
|
+
"seatClass": "numbered",
|
|
167
|
+
"seatLabel": "district",
|
|
168
|
+
"seatId": "9",
|
|
169
|
+
"seatSource": "parsed-title",
|
|
166
170
|
"leadership": null,
|
|
167
|
-
"
|
|
168
|
-
|
|
169
|
-
|
|
171
|
+
"partisan": false
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "Michael Brown",
|
|
175
|
+
"title": "Council Member, District 10",
|
|
176
|
+
"email": "bmichaelchr@aol.com",
|
|
177
|
+
"phone": "(843) 747-3531",
|
|
178
|
+
"source": "genericmailto",
|
|
179
|
+
"lastUpdated": "2026-05-20",
|
|
180
|
+
"vacant": false,
|
|
181
|
+
"office": "council-member",
|
|
182
|
+
"seatClass": "numbered",
|
|
183
|
+
"seatLabel": "district",
|
|
184
|
+
"seatId": "10",
|
|
170
185
|
"seatSource": "parsed-title",
|
|
186
|
+
"leadership": null,
|
|
171
187
|
"partisan": false
|
|
172
188
|
}
|
|
173
189
|
]
|