Municipal Council Minutes & Agenda Scraper avatar

Municipal Council Minutes & Agenda Scraper

Pricing

Pay per event

Go to Apify Store
Municipal Council Minutes & Agenda Scraper

Municipal Council Minutes & Agenda Scraper

Scrapes US city council meeting agendas, minutes, votes, and documents from Granicus, Legistar, CivicWeb, and PrimeGov platforms — covering 80%+ of US municipalities. Input a platform type and client slug to fetch all meetings, or filter by date range and meeting body.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Fetch US city council meeting agendas, minutes, and documents from major municipal government platforms. Supports PrimeGov, Granicus, Legistar, and CivicWeb — covering thousands of US municipalities. Input a platform type and client slug to retrieve meeting records normalized into a single schema.


Features

  • Supports four municipal government platforms: PrimeGov, Granicus, Legistar, and CivicWeb.
  • Returns meeting body, date, time, location, agenda status, document URLs, video URL, and source link for each meeting.
  • Filter by date range (startDate / endDate) and governing body name (bodyName).
  • Single flat output schema across all platforms — one query, one dataset.

Who Uses Municipal Meeting Data?

  • Civic technology and government transparency tools — Track council votes, planning decisions, and public comment periods across municipalities.
  • Real estate and land use intelligence — Monitor zoning hearings, planning commission approvals, and variance requests before they become public news.
  • Local news and investigative journalism — Automate monitoring of city council, school board, and special district meetings.
  • Government relations and lobbying — Follow agenda items relevant to clients across dozens of municipalities without manual calendar checks.
  • Academic and policy research — Build longitudinal datasets of local government activity across cities and regions.

How It Works

  1. Choose a platform (primegov, granicus, legistar, or civicweb) and provide the municipality's client slug (e.g. longbeach for Long Beach, CA on PrimeGov).
  2. Optionally filter by date range or governing body name.
  3. The scraper queries the platform's public API and returns normalized meeting records.

Input

{
"platform": "primegov",
"clientSlug": "longbeach",
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"bodyName": "City Council",
"maxItems": 100
}
FieldTypeDefaultDescription
platformstringprimegovPlatform vendor: primegov, granicus, legistar, or civicweb
clientSlugstringlongbeachMunicipality client slug on the platform (e.g. longbeach, seattle, chicago)
startDatestringFilter meetings on or after this date (YYYY-MM-DD)
endDatestringFilter meetings on or before this date (YYYY-MM-DD)
bodyNamestringFilter by governing body name (case-insensitive substring match)
maxItemsinteger10Maximum number of meeting records to return

Platform & Client Slug Guide

Each platform assigns a slug to each municipality. Here are examples:

PlatformExample SlugsURL Pattern
primegovlongbeach, renton{slug}.primegov.com
granicusseattle, portland, denver{slug}.granicus.com
legistarseattle, chicago, nyc, boston{slug}.legistar.com
civicwebhamilton{slug}.civicweb.net

To find your city's slug: visit the city's portal (e.g. seattle.legistar.com) — the subdomain is the slug.


Output Schema

Each record represents one meeting:

FieldTypeDescription
platformstringPlatform vendor (primegov, granicus, legistar, civicweb)
citystringMunicipality client slug
statestringUS state abbreviation (when available)
bodystringGoverning body name (City Council, Planning Commission, etc.)
meeting_typestringMeeting type or status
meeting_datestringMeeting date (YYYY-MM-DD)
meeting_timestringMeeting start time (HH:MM)
locationstringMeeting location or address
agenda_statusstringAgenda document status (Draft, Final, etc.)
agenda_itemsstringAgenda item titles (top-level, comma-separated)
document_urlsstringSpace-separated list of agenda/minutes document URLs
video_urlstringURL to meeting video recording (where available)
source_urlstringCanonical URL for this meeting on the platform portal
meeting_idstringPlatform-internal meeting identifier

Example Output

{
"platform": "primegov",
"city": "longbeach",
"state": "",
"body": "City Council",
"meeting_type": "Regular",
"meeting_date": "2024-09-17",
"meeting_time": "5:00 PM",
"location": "City Hall - Council Chambers",
"agenda_status": "Published",
"agenda_items": "",
"document_urls": "https://longbeach.primegov.com/meeting/4567/agenda.pdf",
"video_url": "",
"source_url": "https://longbeach.primegov.com/portal/meeting?compiledMeetingDocumentFileId=4567",
"meeting_id": "4567"
}