Because of the vastness of Brazil, travel between most localities will be possible only by air, although a handful of cities—Rio de Janeiro, Belo Horizonte, and São Paulo in the southeast, or Fortaleza, Natal, and Recife in the northeast—are within 3–7 hours of each other and accessible by bus.
If you choose to travel by bus, you can purchase tickets in the bus stations, or online from Rodoviariaonline or Passagem Rapida. A major drawback of using online services to buy anything in Brazil, including bus or airline tickets, is that they usually require you to enter a CPF number—the Brazilian equivalent of a social security number—and often will only accept Brazilian credit cards. International travelers should instead book travel through travel agencies or use non-Brazilian websites even when buying tickets for internal flights.
Of course, bus tickets can always be purchased in the bus stations themselves, but keep in mind that bus travel is popular among Brazilians, and tickets sell out on dates when there is high demand. It is a good idea to buy these as early as possible.
Miami, New York, and Toronto are the major gateways for flying to Brazil—typically to São Paulo and Rio, and sometimes Brasília as well—from North America. There's regular jet service within the country between all major and most medium-size cities. Reliable domestic airlines include TAM and GOL, a reliable low-cost airline with routes that cover most major and medium-size Brazilian cities. Another option is TRIP Azul Linhas Aéreas, Brazil's newest airline, with service to about 100 domestic destinations.