Know Your Representatives
One API call. All levels of Canadian government. Get federal, provincial, and municipal representatives for any location.
Enter Coordinates
{
"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 Docsconst 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
Provincial
Provincial and territorial legislators across all regions
Municipal
City councillors and local representatives for your ward