Seepage meters modified for use in flowing water were used to directly measure rates of exchange between surface and subsurface water in a gravel- and cobble bed river in western Pennsylvania, USA (Allegheny River, Qmean = 190 m3/s) and a sand- and gravel-bed river in Colorado, USA (South Platte River, Qmean = 9·7 m3/s). Study reaches at the Allegheny River were located downstream from a dam. The bed was stable with moss, algae, and river grass present in many locations. Median seepage was + 0·28 m/d and seepage was highly variable among measurement locations. Upward and downward seepage greatly exceeded the median seepage rate, ranging from + 2·26 (upward) to − 3·76 (downward) m/d. At the South Platte River site, substantial local-scale bed topography as well as mobile bedforms resulted in spatial and temporal variability in seepage greatly in exceedence of the median groundwater discharge rate of 0·24 m/d. Both upward and downward seepage were recorded along every transect across the river with rates ranging from + 2·37 to − 3·40 m/d. Despite a stable bed, which commonly facilitates clogging by fine-grained or organic sediments, seepage rates at the Allegheny River were not reduced relative to those at the South Platte River. Seepage rate and direction depended primarily on measurement position relative to local- and meso-scale bed topography at both rivers. Hydraulic gradients were small at nearly all seepage-measurement locations and commonly were not a good indicator of seepage rate or direction. Therefore, measuring hydraulic gradient and hydraulic conductivity at in-stream piezometers may be misleading if used to determine seepage flux across the sediment-water interface. Such a method assumes that flow between the well screen and sediment-water interface is vertical, which appears to be a poor assumption in coarse-grained hyporheic settings. Copyright © 2011 John Wiley & Sons, Ltd.