According to the Canadian Aviation Regulations (CARs), the minimum altitude for VFR flight over a built-up area depends on the type of aircraft you're operating.
For Aeroplanes:
You must operate at an altitude from which, in the event of an emergency necessitating an immediate landing, it would be possible to land without creating a hazard to persons or property on the surface. In any case, the altitude must not be lower than:
1,000 feet above the highest obstacle located within a horizontal distance of 2,000 feet from the aeroplane
For Helicopters and Other Aircraft (except balloons):
1,000 feet above the highest obstacle located within a horizontal distance of 500 feet from the aircraft
For Balloons:
500 feet above the highest obstacle located within a horizontal distance of 500 feet from the balloon
Important Notes:
These minimums apply when conducting takeoff, approach, or landing operations, or where specifically permitted under CAR 602.15
The regulation emphasizes that you must be able to land without creating a hazard to persons or property in an emergency
"Built-up area" includes any area with a concentration of buildings, structures, or people
These are minimum altitudes - good airmanship may dictate flying higher