Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Digital electoral boundary files for Canada, its provinces and municipalities
branch: master
Failed to load latest commit information.
ab invoke shapefiles
bc/ed import unicode_literals consistently
fed fix ed-next
mb invoke shapefiles
nb import unicode_literals consistently
nl import unicode_literals consistently
ns fix args
nt/ed fix nt id_func
postcodes update file
qc fix Rosemont—La Petite-Patrie spelling
sk update ab mb on sk
topojson Use HTTPS for Represent
.gitignore add new topojson files
LICENSE.txt use https links use https links remove "Scraper?" column from spreadsheet tweak example definition file
requirements.txt add flake8 use https links
tox.ini relax flake8 rules

Represent API: Data

Represent is the open database of Canadian elected officials and electoral districts. It provides a REST API to boundary, representative, and postcode resources.

This repository stores the digital boundary files for the database. The represent-canada repository is what's running at


Open North has permission to redistribute all datasets in this repository. Please read the overall license and the LICENSE.txt file in each directory to know your rights. In some cases, you will not have permission to redistribute the dataset.

Data Quality


All datasets are from government sources, with one exception: the postal codeOM dataset in the postcodes/fed directory is from (Canada Post has sued for distributing this file.) The files will have more details on sources and any modifications made to the files. Postal CodeOM is an official mark of Canada Post Corporation.


We do not have permission to redistribute every dataset available through the Represent API. For example, we do not have permission from the Government of Ontario to distribute its boundary file and postal codeOM concordance file (no longer available). You must download these files separately from Elections Ontario. You may then use the file we provide to load it into the database.


One-time setup

# Invoke must not be installed globally.
pip uninstall invoke
# Create a virtual environment.
mkvirtualenv representdata
# Install the requirements.
pip install -r requirements.txt

Regular tasks

Load the virtual environment:

workon representdata

Check that all files are valid:

invoke definitions

Check that the source, data and license URLs work:

invoke urls

Check that all data directories contain a LICENSE.txt:

invoke licenses

Update any out-of-date shapefiles:

invoke shapefiles

Fix file permissions:

invoke permissions

Check if the data request process spreadsheet is out-of-date:

invoke spreadsheet

Generate TopoJSON for inspection on GitHub:

invoke topojson


Please use GitHub Issues for bug reports. You may also contact


We would like to express our gratitude to Kent Mewhort at the Canadian Internet Policy and Public Interest Clinic (CIPPIC), whose legal research (PDF) made it possible for this repository to be made public.

Something went wrong with that request. Please try again.