Bay Harbor Islands is a town in Miami-Dade County, FL. The population was 5,628 at the 2010 census. It is separated from the mainland by Biscayne Bay over which the land masses are connected via the Broad Causeway. On the mainland side, BHI is bordered by the city of North Miami, while to the east it borders the villages of Bal Harbour and Surfside. To the south lies the exclusive village of Indian Creek. Bay Harbour Islands is about 20 minutes’ driving distance away from Miami International Airport, and it is situated between the larger cities of Aventura and Miami Beach.