El municipio tiene tres ríos: el Acaponeta, que fluye por todo el municipio y desemboca en la laguna de Agua Brava; Las Cañas, que es el límite con el estado de Sinaloa y desemboca en el estero de Teacapán; y el San Francisco.