De San Pedro ontspringt in het Bekken van Petén in het noorden van Guatemala, niet ver van de oude Mayastad Tikal. Van daar stroomt zij naar het zuidwesten en vervolgens naar het westen. Bij El Ceibo passeert de San Pedro de Mexicaanse grens en na een bocht naar het noorden te hebben gemaakt mondt zij bij Emiliano Zapata uit in de Usumacinta.