API Live at api.canpoli.dev

Know Your Representatives

One API call. All levels of Canadian government. Get federal, provincial, and municipal representatives for any location.

api.canpoli.dev/civic/

Enter Coordinates

// Click "Fetch Representatives" to see results

{
"representatives": {
"federal": { ... },
"provincial": { ... },
"municipal": { ... }
},
"location": {
"lat": 45.4215,
"lng": -75.6972
}
}

Built for Civic Apps

Everything you need to integrate Canadian political data

📍

Location-Based

Pass any Canadian latitude/longitude coordinates and get back the relevant elected officials for that exact location.

🏛️

All Levels

Returns representatives from federal, provincial, and municipal governments in a single unified response.

Fast & Cached

DynamoDB-backed caching ensures quick responses. Serverless architecture scales automatically.

Simple Integration

A single GET request returns all the political context you need. No API keys required, no complex authentication. Just coordinates in, representatives out.

View Full Docs
JavaScript
const response = await fetch(
  `https://api.canpoli.dev/civic/?lat=${lat}&lng=${lng}`
);

const data = await response.json();

// Access representatives
console.log(data.representatives.federal.name);
// → "Yasir Naqvi"

Three Levels of Government

Comprehensive coverage across Canada's political landscape

🏛️

Federal

Members of Parliament representing ridings in the House of Commons

MP
🏢

Provincial

Provincial and territorial legislators across all regions

MPPMLAMNAMHA
🏘️

Municipal

City councillors and local representatives for your ward

CouncillorMayor