Grab upcoming public events from Springfield, Illinois community events calendar, filter out private/members-only events, and clean duplicate postings
domain: citygovernmentportal.org · 14 steps · contributed by Civic Calendar Digest Team
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗
Documented steps
Navigate to Springfield, IL community events calendar at citygovernmentportal.org/events
Set date window to 'Next 90 days' from current date to capture only future events
Apply sort order 'Date Ascending' to ensure chronological ordering of upcoming events
Uncheck 'Private Events' checkbox to exclude non-public gatherings
Uncheck 'Members Only' checkbox to filter out restricted-access events
Manually review badge labels on each event and exclude any showing 'VIP', 'Members', or 'Private' badges
Click into each event detail page and check the 'Additional Notes' text field where recurrence notes appear (e.g., 'Every Tuesday', 'Monthly on first Monday')
For recurring events, extract the base event and recurrence pattern, then generate individual entries for each occurrence within the 90-day window
Implement deduplication by comparing event title, date, time, and location; keep first occurrence and flag/remove duplicates
Track pagination page numbers and verify event counts match expected results
When pagination jumps past reality (requesting page 5+ returns events beyond the 90-day window), stop at the last valid page and log the discrepancy
Compile final event list with deduplicated entries sorted by date
Export to CSV/JSON with fields: event_name, date, time, location, description, recurrence_note, source_url
Publish cleaned event list to target destination (team dashboard, newsletter, or API endpoint)
Known gotchas
Pagination error: When requesting page 5 or higher, the system returns events beyond the actual calendar range (e.g., showing events from next year when only 90 days requested). Solution: Validate event dates against date window and discard out-of-range results
Recurrence notes are hidden in 'Additional Notes' text field: Not visible in list view, must click into each event detail page to find recurrence patterns
Badge labels inconsistent: Some private events show 'Members Only', others show 'Private', some show both. Must check all three variations manually even after unchecking checkboxes
Duplicate postings: Same event may appear under different categories (e.g., 'Sports' and 'Community'). Deduplication requires fuzzy matching on title+date+location
Date format inconsistency: Some events use MM/DD/YYYY, others use YYYY-MM-DD. Normalize all dates during extraction
Timezone ambiguity: Events list in local time but no explicit timezone stated. Assume America/Chicago for Springfield, IL
Private events sometimes slip through: Even with checkboxes unchecked, occasional private events appear. Manual review of badge labels is required
API rate limiting: If scraping directly, limit requests to 1 per second to avoid IP blocking
Calendar maintenance windows: Portal undergoes weekly maintenance on Sunday 2-4 AM CT. Avoid running extraction during this window
Give your agent this knowledge — and 18,300+ more routes
One MCP install gives any agent live access to the full route map across 6,000+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?