cambridgema.iqm2.com APIcambridgema.iqm2.com ↗
Access Cambridge, MA municipal meeting schedules, board details, agendas, minutes, and documents via 8 structured endpoints from the IQM2 portal.
curl -X GET 'https://api.parse.bot/scraper/5d5f40f8-aa0b-4bad-bcc7-2b4c1bb54898/get_meetings_list?to=2%2F28%2F2026&from=2%2F1%2F2026&year=2024' \ -H 'X-API-Key: $PARSE_API_KEY'
Get list of meetings filtered by date range, year, and optionally by group ID. Returns all meetings across all groups for the specified year by default.
| Param | Type | Description |
|---|---|---|
| to | string | End date in m/d/yyyy format (e.g. 12/31/2024). Defaults to 12/31/{year}. |
| from | string | Start date in m/d/yyyy format (e.g. 1/1/2024). Defaults to 1/1/{year}. |
| year | string | Calendar year to filter meetings. |
| group_id | string | Meeting group ID to filter by (from get_meeting_groups endpoint). Omitting returns all groups. |
{
"type": "object",
"fields": {
"total": "integer count of meetings returned",
"meetings": "array of meeting summary objects with id, date_time, detail_url, details, status, group, meeting_type, and documents"
},
"sample": {
"data": {
"total": 169,
"meetings": [
{
"id": "4463",
"group": "City Council",
"status": "Scheduled",
"details": "City Council - Inaugural Meeting",
"date_time": "Jan 1, 2024 10:00 AM",
"documents": [
{
"url": "https://cambridgema.iqm2.com/Citizens/FileOpen.aspx?Type=14&ID=3995&Inline=True",
"name": "Agenda Summary"
}
],
"detail_url": "https://cambridgema.iqm2.com/Citizens/Detail_Meeting.aspx?ID=4463",
"meeting_type": "Inaugural Meeting"
}
]
},
"status": "success"
}
}About the cambridgema.iqm2.com API
This API provides structured access to the Cambridge, MA IQM2 government meeting portal through 8 endpoints covering meeting schedules, board and commission details, agenda documents, and RSS notifications. The get_meetings_list endpoint lets you filter by date range or group ID, while get_meeting_detail returns full agenda items, board name, status, and attached document URLs for any individual meeting.
Meeting Data
The get_meetings_list endpoint accepts from, to, year, and group_id parameters to narrow results. Each meeting summary in the response includes id, date_time, status, group, meeting_type, detail_url, and a documents array. When you have a specific meeting ID, get_meeting_detail returns the full record: board_name, agenda_items (each with number and title), meeting_type, status, date_time, and document objects with names and direct URLs. get_meetings_by_year and get_meetings_by_group are convenience wrappers that accept a single required parameter and return the same meeting summary shape.
Boards and Groups
get_boards_list returns every board and commission tracked by the portal. Each board object includes name, url, description, meeting_frequency, term_limit, positions_info, and a members array. get_meeting_groups returns the lightweight group list — id and name — used as input to group_id filters across other endpoints. Note that not every group will have associated meetings; get_meetings_by_group may return an empty list for some valid group IDs.
Documents and Feeds
get_meeting_document_url constructs a direct document URL given a meeting id and a type code. Supported type codes are: 14 (Agenda Summary), 1 (Agenda Packet), 15 (Final Actions), 12 (Minutes), and 4 (Minutes Alteration). get_calendar_rss_feed returns recently published agenda notifications from the portal RSS feed, with each item carrying title, link, description, and pub_date. This is useful for monitoring new meeting postings without polling the full calendar.
- Track upcoming Cambridge city council and committee meetings by querying
get_meetings_listfiltered to a date range. - Build a board and commission directory using
name,description,meeting_frequency, andmembersfromget_boards_list. - Retrieve agenda packets and minutes for a specific meeting using
get_meeting_document_urlwith type codes1and12. - Monitor new agenda postings in real time by polling
get_calendar_rss_feedforpub_datechanges. - Cross-reference agenda items from
get_meeting_detailwith public comment records for civic transparency tools. - Enumerate all meeting groups via
get_meeting_groupsto build a filterable calendar UI organized by board or commission. - Archive annual meeting records by iterating
get_meetings_by_yearacross multiple years and storing returned document URLs.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does IQM2 (cambridgema.iqm2.com) offer an official developer API?+
How do I retrieve documents like minutes or agendas for a meeting?+
get_meeting_detail returns a documents array with name and url for attachments already associated with a meeting. For direct URL construction by document type, use get_meeting_document_url with the meeting id and a type code: 1 for Agenda Packet, 12 for Minutes, 14 for Agenda Summary, 15 for Final Actions, or 4 for Minutes Alteration.What does `get_boards_list` return, and does it include member contact details?+
get_boards_list returns each board's name, url, description, meeting_frequency, term_limit, positions_info, and a members array. Member contact details such as email addresses or phone numbers are not included in the current response shape. You can fork this API on Parse and revise it to add a member-detail endpoint if the portal exposes that data on individual board pages.Can I retrieve individual agenda item details — such as attachments or vote records — for a specific item?+
get_meeting_detail returns agenda_items with number and title fields only. Vote records, item-level attachments, and staff reports are not exposed at the item level. You can fork this API on Parse and revise it to add a dedicated agenda-item detail endpoint.Does pagination apply to `get_meetings_list` results?+
total count alongside the full meetings array for the requested date range or year. There are no page or offset parameters in the current spec, so all matching meetings are returned in a single response. Very broad date ranges may return large arrays.