Indian Rocks Beach is a city in Pinellas County, Florida, United States. The population was 4,113 at the 2010 census. Indian Rocks Beach is part of the Tampa-St. Petersburg-Clearwater, FL Metropolitan Statistical Area.It lies on a barrier island between the Gulf of Mexico and the Intracoastal Waterway. It is north of Indian Shores and south ofBelleair Shore and Belleair Beach. Tourism is its primary industry. It was incorporated in 1956.According to the United States Census Bureau, the city has a total area of 1.4 square miles (3.6 km2), of which 0.9 square miles (2.3 km2) is land and 0.5 square miles (1.3 km2) (33.09%) is water.