We present an automatic earthquake detection and location technique based on migration of continuous waveform data. Data are preprocessed using a kurtosis estimator in order to enhance the first arrival information, then migrated onto a predefined search grid using precalculated P-wave travel times, and finally stacked. Local maxima in the resulting 4D space-time grid indicate the locations and origin times of seismic events. We applied our technique to earthquake swarms occurring on Piton de la Fournaise volcano, La Réunion, France. We located 5000 events from 12 different swarms that occurred between 2009 and 2011. Our automated locations are consistent with those performed using manual picks and indicate that the seismicity concentrates around sea level. Multiplet analysis of the detected events and subsequent double-difference relocation produce sharper images of the earthquake swarms. Our code, Waveloc, is released in open source.