Se localiza dentro de la cuenca del Río Tecolutla y es cruzado por los ríos: Apulco, de corriente caudalosa que baña el poniente del municipio de sur a norte por más de 20 km, sirviendo de límite con Cuetzalan y Jonotla, para posteriormente unirse con el Río Tecolutla; Río Huitzilac, que nace al centro-este y recorre la porción central para unirse al Mesonate; Río Gachupinate que en la porción central se une al Mesonate, bañado al norte.