Represent Civic Info CA

Government API · Works in Canada · Elected officials lookup · No API key

TL;DR

Represent Civic Info CA is an open API that maps Canadian postal codes to elected representatives at all three levels of government: federal (MPs), provincial/territorial (MLAs, MPPs, MNAs), and municipal (councillors, mayors). Simply provide a postal code and optional government level filter. Results include representative names, titles, party affiliations, contact info, and office addresses. JSON format, no API key. Essential for civic engagement tools and voter information apps.

Quick start: https://represent.opennorth.ca/postcodes/V6B4Y8/

No API key needed — just make a request!

How to Use This API

1. Lookup by Postal Code

https://represent.opennorth.ca/postcodes/V6B4Y8/

2. Filter by Government Level

https://represent.opennorth.ca/postcodes/V6B4Y8/?limit=5

3. JavaScript — Find Your MP

fetch('https://represent.opennorth.ca/postcodes/K1A0A9/')
  .then(r => r.json())
  .then(data => {
    const feds = data.representatives_centroid
      .filter(r => r.elected_office === 'MP');
    feds.forEach(mp => {
      console.log(`MP: ${mp.name} (${mp.party_name})`);
      console.log(`  District: ${mp.district_name}`);
      console.log(`  Email: ${mp.email}`);
    });
  });

4. Python — Municipal Representatives

import requests

postal_code = 'M5A1A1'
data = requests.get(
    f'https://represent.opennorth.ca/postcodes/{postal_code}/'
).json()

print(f"Representatives for {postal_code}:")
for rep in data['representatives_centroid']:
    if 'Councillor' in rep.get('elected_office', ''):
        print(f"  {rep['name']} — {rep['elected_office']} ({rep.get('party_name', 'N/A')})")
Postal code lookup: https://represent.opennorth.ca/postcodes/V6B4Y8/

Frequently Asked Questions

What data is returned per representative?
Name, elected office (MP, MLA, MPP, MNA, Councillor, Mayor), party name, district name, email, phone, website, office address, photo URL, and linked data URLs.
What levels of government are covered?
Federal (House of Commons), all 10 provinces and 3 territories, and municipal governments for major Canadian cities. The API supports filtering by boundary set.
How is the data sourced?
Data comes from official government sources and is maintained by OpenNorth, a Canadian civic technology organization. Updates follow election cycles.
Can I search for representatives by name?
Yes, the API also has a /representatives/ endpoint that supports searching by name, party, and district.
What boundary sets are available?
Federal electoral districts, provincial electoral districts, and municipal wards. Access them via /boundary-sets/.
Is there a rate limit?
OpenNorth provides this API as a free public service. Reasonable usage is expected. The data is also available for download in bulk.

API Details

API URL
https://represent.opennorth.ca/
Documentation
represent.opennorth.ca/api
Category
Government
Authentication
Not Required
Geographic Coverage
Canada (CA)

What You Can Build