Montreal Infrastructure Data

Query Montreal infrastructure datasets via CKAN REST, SOAP, and Overpass APIs.

1|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/alistaircroll/montreal-open-data --skill montreal-infrastructure-data-alistaircroll
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Montreal Infrastructure Data
Source: https://github.com/alistaircroll/montreal-open-data/tree/main/skills/domains/infrastructure
Command: npx skills add https://github.com/alistaircroll/montreal-open-data --skill montreal-infrastructure-data-alistaircroll

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, zeep, shapely.

What problem does it solve? Accessing Montreal's municipal infrastructure data requires navigating multiple incompatible systems: a CKAN open data portal, a SOAP/XML snow removal API, OpenStreetMap Overpass queries, and external utility feeds, each with undocumented field names, seasonal constraints, and spatial query pitfalls. ## Core Features & Use Cases - Multi-API Data Access: Query garbage collection zones, snow removal status, road closures, property assessments, bike paths, and signage through CKAN DataStore SQL, the Planif-Neige SOAP API, Overpass QL, and Hydro-Québec outage feeds. - Spatial Query Patterns: Perform point-in-polygon lookups for collection schedules and text-based bounding box filters that work around CKAN's forbidden CAST() function and negative-longitude sort reversal. - Real-World Example: Ask "Is snow removal active on my street and where can I park for free tonight?" and get an answer combining the SOAP API's live planifications with the free parking DataStore resource. ## Quick Start Ask whether snow removal is currently active in your borough and what your garbage collection day is for your address.

Frequently Asked Questions about Montreal Infrastructure Data

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check snow removal status in Montreal via API?

Use the Planif-Neige SOAP API at the InfoneigeWebService WSDL endpoint with GetPlanificationsForDate. Filter results by NomArr (borough name) and Etat values "2" or "3" for active operations, using zeep in Python or the soap package in Node.js.

How do I find the garbage collection day for a Montreal address?

Download the info-collectes GeoJSON for your collection type and perform a point-in-polygon lookup with your coordinates in [longitude, latitude] order. Extract the day from the MESSAGE_FR or MESSAGE_EN property using explicit day-name regex matching.

Why does CKAN return 403 when I use CAST() in SQL queries?

CKAN forbids CAST() on large datasets, returning a 403 authorization error. Use text comparison on coordinate fields for bounding box filters instead, remembering to swap min/max bounds for negative longitudes since text sort order is reversed.

Does the Montreal snow removal API work year-round?

No, snow removal data is only meaningful from October through April. Summer queries return stale or empty results, so you should guard API calls with a month check before requesting planifications.

How do I query Montreal property assessment values by address?

Look up your borough's specific tax resource ID from the mapping table, then query with the civic number in AD_EMPLAC_CIV1 and a LIKE match on AD_EMPLAC_RUE. Filter CODE_DESCR_LONGUE to 'B00' for residential properties and compare VAL_IMPOSABLE across years.

What are the limitations of Montreal open data CKAN queries?

All DataStore values are returned as text requiring explicit parsing, field names are case-sensitive and vary by dataset, some resources return HTTP 409, and collection GeoJSON files are download-only with no DataStore access. Borough names in filters must match exactly.