Indian Rocks Beach is a city in Pinellas County, Florida, United States. The population was 4,113 at the 2010 census.