Ecotermales

Venado Caves Tour

Bajos del Toro Waterfall

Sloth Tour

Arenal Volcano Hike

Caño Negro Wildlife Refuge

La Fortuna Waterfall

Rio Celeste Waterfall

Rafting Experience

Hanging Bridges

Night Walk

Cooking Class

Safari Float

Birdwatching Tour

Chocolate & Coffee Tour

Ecotermales

Venado Caves Tour

Bajos del Toro Waterfall

Sloth Tour

Arenal Volcano Hike

Caño Negro Wildlife Refuge

La Fortuna Waterfall

Rio Celeste Waterfall

Rafting Experience

Hanging Bridges

Night Walk

Cooking Class

Safari Float

Birdwatching Tour

Chocolate & Coffee Tour

Ecotermales

Ecotermales is owned by a Costa Rican family, and the hot springs on the property originate from the Arenal Volcano. It’s known for its tranquil, natural setting, which makes it private and very pleasant.

The property offers changing rooms, secure lockers, a bar, and an excellent rustic restaurant. This restaurant is famous for serving high-quality traditional Costa Rican dinners and buffets.

DIFFICULTY

Duration

Lunch hours: 12:00 PM to 2:00 PM. Dinner hours: 6:00 PM to 8:00 PM.

Includes

Lunch or dinner, transportation, tickets, towels, lockers

Bring

Camera, a change of clothes

Notes

Enjoy the fantastic food and the natural hot springs!

Get your FREE quote!

  • Do you have special requirements while in Costa Rica?
  • Do you need for us to create a customized itinerary for you?
  • Do you have a large group (6+) of people?
  • Do you have unique requests for traveling or for tours?

Arenal Expeditions knows how to make your experience comfortable and memorable!

Contact Info

  • +506 7203-3661
  • +506 7203-3661
  • Follow Us on Facebook
  • Follow Us on Instagram
  • Visit Us on Tripadvisor

Accepts

payment-icons-landscape-250w

©2025 Arenal Expeditions. All Rights Reserved. | Admin

jQuery(document).ready(function($) { // Default: hide the login box $(“#xjmLogin, .xjmLoginClass”).slideUp(100); // If logged in, show it immediately if ($(“body”).hasClass(“logged-in”)) { $(“#xjmLogin, .xjmLoginClass”).slideDown(100); } // Toggle on click $(“#xjmMeta”).click(function() { $(“#xjmLogin, .xjmLoginClass”).slideToggle(200); // After the toggle completes, scroll smoothly to the bottom $(“html, body”).animate({ scrollTop: $(document).height() }, 600); }); });
.xjm-turnstile-clip{ position: relative; display: inline-block; border-radius: 5px; overflow: hidden; clip-path: inset(0 round 5px); -webkit-clip-path: inset(0 round 5px); -webkit-mask-image: -webkit-radial-gradient(white, black); } .xjm-turnstile-clip::after{ content:””; position:absolute; inset:0; pointer-events:none; border-radius:5px; border:1px solid rgba(0,0,0,.12); } .xjm-turnstile-clip .cf-turnstile{ display:block; line-height:0; } // Turnstile callback function xjm_callback_function(token) { const loginForm = document.querySelector(‘.et_pb_login_form’); if (loginForm) { const submitButton = loginForm.querySelector(‘button[type=”submit”]’); if (submitButton) { submitButton.removeAttribute(‘disabled’); if (window.jQuery) jQuery(submitButton).removeClass(‘is-disabled’); } } } document.addEventListener(‘DOMContentLoaded’, function() { // If logged in, remove Turnstile entirely if (document.body.classList.contains(‘logged-in’)) { const turnstileClip = document.querySelector(‘.xjm-turnstile-clip’); if (turnstileClip) turnstileClip.remove(); return; // stop script here } // Disable submit by default until Turnstile passes const loginForm = document.querySelector(‘.et_pb_login_form’); if (loginForm) { const submitButton = loginForm.querySelector(‘button[type=”submit”]’); if (submitButton) { submitButton.setAttribute(‘disabled’, ‘disabled’); if (window.jQuery) jQuery(submitButton).addClass(‘is-disabled’); } } }); // Keep wrapper intact (only runs if not logged in) window.addEventListener(‘load’, function(){ if (document.body.classList.contains(‘logged-in’)) return; const widget = document.getElementById(‘xjmTurnstileRounded’); if (!widget) return; if (!widget.parentElement || !widget.parentElement.classList.contains(‘xjm-turnstile-clip’)) { const wrap = document.createElement(‘div’); wrap.className = ‘xjm-turnstile-clip’; widget.parentNode.insertBefore(wrap, widget); wrap.appendChild(widget); } new MutationObserver(() => {}).observe(widget, { childList: true, subtree: true }); });
Loading...