There are three major rodoviárias (bus stations) in São Paulo, the largest and most important one of them being the terminal Tietê. Buses going to the centre, northeast and north of Brazil leave from terminal Tietê. As well as buses going to the northern coast of São Paulo and to Paraty, Angra dos Reis, Rio de Janeiro and Minas Gerais. Internacional routes going to Uruguay, Argentina, Paraguay and Chile also depart from terminal Tietê.
The easiest way to get to the terminal Tietê from the airport is taking the Airport Bus Service. There is a regular bus service going from Guarulhos int’l airport to the bus station. In normal traffic conditions (a strange concept in São Paulo) the trip should take anything between 20 minutes and 1 hour.
From most of São Paulo, the easiest, fastest and cheapest way of getting to the terminal Tietê is the underground (metrô). The blue line has a stop at the bus station.
At the terminal there is left-luggage facility (guarda-volume in Portuguese). It works around the clock.
The other two major bus stations in São Paulo are the terminal Barra Funda and the terminal Jabaquara. The former will be of minor interest to most travellers. The latter is the departure point for buses going to the south coast of the state of São Paulo (including Guarujá and Santos). To get to the terminal Jabaquara from the int’l airport the best alternative is to take the bus to the terminal Tietê and then a long but direct underground ride to terminal Jabaquara.
At the website of SOCICAM, the company running the bus stations, you can check out which bus companies go to your intended destination, both in the state of São Paulo and on the whole of Brazil.