Indian Harbour Beach is a coastal city in Brevard County, Florida, United States. It is part of the Palm Bay–Melbourne–Titusville Metropolitan Statistical Area. The population was 9,019 at the 2020 census. It is 3 miles north of the town of Indialantic and south of Satellite Beach.