The quake struck at 9.14 a.m, the Indonesian Meteorological, Climatological and Geophysical Agency (BMKG) said.
The epicentre was 61 km southwest of Bengkulu city, 556 km from capital Jakarta with a depth of 16 km under the sea, Xinhua news agency reported.
The US Geological Survey (USGS) put the magnitude at 5.7 with a depth of 55.3 km.
BMKG said there was no potential for a tsunami.
Indonesia is located on the Pacific "Ring of Fire" where several tectonic plates meet, making it vulnerable to frequent earthquakes.