There are lots of bus options and times; here's all you need to know.

Esa página está disponible también en español.

Direct Buses from San Jose to Puerto Viejo leave from Terminal Atlántico Norte

Photo 1 of 4. Click to view slideshow.
Direct Buses from San Jose to Puerto Viejo leave from Terminal Atlántico Norte. The station is a bit decrepit but the buses are large and modern.

Buses from San Jose to Puerto Viejo

There are many different bus terminals in San Jose. Direct buses for Puerto Viejo leave from the Terminal Atlantico Norte (google map link) located on Calle 12 between Avenidas 7 and 9 in Barrio Mexico in San Jose. This is a little confusing since Puerto Viejo is in the Atlantic coast south but the name wasn't changed when the bus company serving Puerto Viejo moved there. If taking a taxi there to be completely clear you can ask for "parada del bus de MEPE, para Puerto Viejo Talamanca, antigua parada de bus de San Carlos"

Caution: there are two towns called Puerto Viejo. You want Puerto Viejo de Talamanca (also known as Puerto Viejo de Limon). The bus company that comes here is Transportes MEPE.

Last time we checked, ticket prices were 6885 colones (about $13.17 US) for this approximately 4.5 hour trip and the bus makes one 15 minute stop at the MEPE terminal in Limon for bathrooms and something to eat. The trip to Cahuita from San Jose is a little less (5920₡, about $11.32 US) and takes 4 hours. Note these times are best cases really as there is a major construction project on highway 32 between San Jose and Limon that can cause delays. Also note in case of closures on highway 32 the bus takes a longer route via Turrialba which adds about an hour and the price is adjusted slightly upward).

Only the noon weekend only bus continues on to Cocles, Chiquita, Punta Uva and Manzanillo (this bus costs a little more, if you're continuing beyond Puerto Viejo it is 7490₡). The other buses turn around and continue to BriBri and Sixaola. So if you're staying south of town either get the noon bus or take a taxi or local bus to your hotel. The schedule is below.

Transportes MEPE direct service between San José and Puerto Viejo:

The current schedule for the buses between San José and Puerto Viejo. The Manzanillo bus not shown here also stops in Puerto Viejo.

We confirmed the current schedule with MEPE for the direct buses between San José and Puerto Viejo as of Dec 2, 2023 and they indicated the schedule shown here originally published on Sept 10, 2021 remains in effect. The schedule does not change often but you can check the current schedule at the MEPE ticket offices in San José, Puerto Viejo or Cahuita. Or you can call Transportes MEPE in San José (Spanish only usually), their office phone number is +506 2257 8129 or you can reach them via WhatsApp at +506 7285 2592

Shown another way and with the less frequent Manzanillo bus added, the schedule is:

Operates San José
Puerto Viejo Bribri Sixaola
daily 06:00 09:30 10:00 10:30 11:00
daily 08:00 12:00 12:30 13:00 13:30
daily 10:00 13:30 14:00 14:30 15:00
Fr/Sa 12:00 16:00 16:30 ---- ----
daily 14:00 17:45 18:15 18:45 19:15
daily 16:00 19:45 20:15 20:45 21:15

The bus that terminates in Manzanillo rather than Sixaola is:

Operates San José
Cahuita Puerto Viejo Manzanillo
Fr/Sa 12:00 16:00 16:30 17:30

Tickets can be purchased in San Jose at the Atlantico Terminal (open daily from 5:30 am to 6:00 pm, look for the ticket office, not the bus stop). It is possible to buy the return ticket in advance at any MEPE ticket office.

In the direction San José to the Caribbean, seats are reserved so please look for your assigned seat number on your ticket.

If the express bus schedule does not meet your needs, you can also take one of the very frequent buses to Limon (about 3 hours) and then transfer there to a bus heading to Puerto Viejo which will take another 1 1/2 hours or so. Please see detailed instructions for this method below.

Schedules are subject to change but scheduled departure times don't change often. Buses normally run full schedules every day with only Easter Sunday and Christmas Day having shortened schedules. Sometimes extra buses are added at peak times. However pickup time at intermediate stops (including Puerto Viejo) and the length of the trip can vary based on weather or road conditions. Confirm the schedule when purchasing your ticket or call ahead.

Transportes MEPE does not sell tickets online or by phone. Buses do occasionally sell out although the company will sometimes add extra buses leaving San José if needed. It's also possible at the last minute that they will only offer you a standing ticket which is not a pleasant way to make the trip.

Did you also know that several companies offer a shared shuttle service between San Jose and Puerto Viejo? Caribe Shuttle, Interbus and MyPinkBus offer services which includes hotel pickup and dropoff. For more information see our shuttle transport page.

If you're travelling from San Jose International Airport to Puerto Viejo and want to take the public bus, you can take a taxi to the bus terminal. Official orange airport taxis will cost $30-35 to the bus terminal or book a transfer for $29.

Bus leaving from the main bus stop in Puerto Viejo

Bus leaving from the main bus stop in Puerto Viejo

Buses from Puerto Viejo/Cahuita to San José

Tickets for the return express buses are available in person only at the MEPE ticket office across from the bus stop in Puerto Viejo, the bus station in Cahuita or you can purchase them before you leave San Jose. They can be purchased for your return date at any time. They do occasionally sell out so if your date is fixed it is recommended to purchase your ticket at least 1 day in advance. However note that when travelling from the Caribbean to San José your seat is not reserved so if seating is important to you, push your way to the front of the line!

If you have bought your ticket in advance then it is possible to flag down the bus at one of its intermediate stops (e.g. the designated stops in Playa Negra or Hone Creek but not just anywhere along the route) on the day of travel but this can be a little stressful as the express buses don't always routinely stop at those stops and you won't know why/if the bus is late so I'd recommend you just take a taxi into Puerto Viejo and board at the main bus stop.

Schedule for Transportes MEPE direct service between Puerto Viejo and San Jose (this was confirmed with MEPE on Dec 2, 2023):

Operates Sixaola
Bribri Puerto Viejo Cahuita San José
daily 02:00 02:30 03:00 03:30 07:30
daily 04:30 05:00 05:30 06:00 10:00
Sa/Su ---- ---- 08:00 08:30 12:00
daily 08:00 08:30 09:00 09:30 13:00
daily 11:00 11:30 12:00 12:30 16:30
daily 15:00 15:30 16:00 16:30 20:30

The schedule above includes one bus that originates in Manzanillo rather than Sixaola:

Operates Manzanillo
Puerto Viejo Cahuita San José
Sa/Su 07:30 08:00 08:30 12:00

The phone number for the Transporte MEPE office in Puerto Viejo is +506 2750-0023 and for Cahuita it is 2755-1011. Do not expect anyone to speak English though.

Note that the bus stations in San José are unfortunately where dishonest taxi drivers seem to gather waiting for tourists to overcharge. Please read our Costa Rica taxi guide for tips.

Connecting via Limon

There are also frequent buses (generally every half hour) between San Jose and Limon operated by Grupo Caribeños. They leave from the Caribbean Bus Terminal in San Jose (see map) located on Calle Central about 2 km north of the Parque Central (a different terminal from the express buses). From Limon you can catch a connecting bus to Puerto Viejo. The trip to Limon usually takes 2 1/2 to 3 hours and the bus to Puerto Viejo another 1 1/2 hours.

Note that in Limon you will need to transfer from the Grupo Caribeños bus terminal where the San José buses arrive to the MEPE terminal which is close by. If you have much luggage at all, take a taxi (it should cost no more than $2). It is not recommended to walk around Limon with conspicous amounts of luggage, it could make you a target.

Before you head to Limon though, make sure there will be a connecting bus to Puerto Viejo otherwise you'll be stuck in Limon overnight or taking a taxi. The phone number of the Transportes MEPE office in Limón is +506 2758-1572.

See the local transport page or the MEPE website for the bus schedules from Limon on to Puerto Viejo.

Other Bus Schedules

To get to Puerto Viejo on the bus from other locations such as Arenal or Pacific Beach towns you will need to first take a bus to San Jose. If you're coming from Arenal you can save time and hassle by instead taking a van shuttle or booking a rafting trip.

For routes in other parts of Costa Rica, you can find bus schedules and pickup locations for every public bus in Costa Rica from the official Costa Rica tourism board site here.

transport options van

Looking for other transport options?

There are plenty of other ways to get here: tourist van shuttles (Interbus and others), whitewater rafting, private service, driving, flying and more. Check our transport overview page for more information.