Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 511

Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 522

Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 533

Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 549

Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::count($key = null) should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 566

Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 582

Deprecated: Return type of Travelpayouts\Vendor\Adbar\Dot::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-adbario/php-dot-notation/src/Dot.php on line 598

Deprecated: Return type of Travelpayouts\components\base\cache\Cache::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/base/cache/Cache.php on line 422

Deprecated: Return type of Travelpayouts\components\base\cache\Cache::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/base/cache/Cache.php on line 433

Deprecated: Return type of Travelpayouts\components\base\cache\Cache::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/base/cache/Cache.php on line 446

Deprecated: Return type of Travelpayouts\components\base\cache\Cache::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/base/cache/Cache.php on line 456

Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::createFromFormat($format, $time, $timezone = null, ?Travelpayouts\Vendor\Moment\FormatsInterface $formatsInterface = null) should either be compatible with DateTime::createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTime|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 94

Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::format($format = null, $formatsInterface = null) should either be compatible with DateTime::format(string $format): string, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 241

Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::setTimezone($timezone) should either be compatible with DateTime::setTimezone(DateTimeZone $timezone): DateTime, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 215

Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::setTime($hour, $minute, $second = null, $microseconds = null) should either be compatible with DateTime::setTime(int $hour, int $minute, int $second = 0, int $microsecond = 0): DateTime, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 695

Deprecated: Return type of Travelpayouts\Vendor\Moment\Moment::setDate($year, $month, $day) should either be compatible with DateTime::setDate(int $year, int $month, int $day): DateTime, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/vendor/travelpayouts-fightbulc/moment/src/Moment.php on line 594

Deprecated: Return type of Travelpayouts\components\Model::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 588

Deprecated: Return type of Travelpayouts\components\Model::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 601

Deprecated: Return type of Travelpayouts\components\Model::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 613

Deprecated: Return type of Travelpayouts\components\Model::offsetSet($offset, $item) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 625

Deprecated: Return type of Travelpayouts\components\Model::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/travelpayouts/src/components/Model.php on line 636

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Admin/Standalone.php on line 95

Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64

Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64

Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64

Deprecated: filter_var(): Passing null to parameter #3 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 75

Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64

Deprecated: filter_var(): Passing null to parameter #3 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 75

Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64

Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64

Deprecated: filter_input(): Passing null to parameter #4 ($options) of type array|int is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/plugins/google-site-kit/includes/Core/Util/Input.php on line 64
Witch's Rock Surf Camp - Explore Tamarindo Costa Rica

Welcome To Our Surf Camp On The Beach In Tamarindo

Relax in our beachfront hotel and surf fun waves right out front. Hang out in 2 restaurants, 3 bars, and microbrewery. Get everything you need from our surf shop and surfboard demo center.

Let our staff take care of everything so you can enjoy your Costa Rica surf vacation.

Beachfront Hotel

Ocean views, air conditioning, private full bathrooms with hot water, swimming pool, and an awesome breakfast. Walking distance to everything.

Fun Waves Right Out Front

We have fun waves right out in front of the surf camp. And there are 12 different Tamarindo surf spots all within walking distance of your hotel room.

A Surf Shop With Everything You Need

Witch’s Rock Surf Shop has everything a surfer needs: surfboards, board shorts, rash-guards, leashes, fins, sunglasses, clothing and more. Learn to surf, book a boat trip to Witch’s Rock and Ollie’s Point, or reserve a non-surfing tour.

Lots Of Surfboards To Choose From

Take your pick from Tamarindo’s largest selection of quality rental longboards, shortboards, fun shapes, fishes, soft surfboards, bodyboards and more. Exchange your surfboard as many times as you like. Walk-in customers can rent a surfboard by the hour, day, week, or month.
View our entire collection of rental surfboards.

Eat at Joe’s Restaurant

Tamarindo’s famous beachfront surf diner. Daily breakfast, lunch and dinner 7am – 10pm, choose from hearty breakfast dishes and unlimited free coffee included daily with your stay at either of our hotels. Lunch and dinner items include fresh sushi, local Costa Rican dishes, and southern Californian Mexican surf grub.
Check out Eat at Joe’s restaurant

Features


Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/dh_cs6ddc/exploretamarindo.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

2 Reviews for Witch’s Rock Surf Camp

Sfg196342

1 Reviews

Great Time!!

5/ 5

6th year coming here. What an amazing time. Surfed Withes Rock, Playa Avellana , Captain Suizo & right out front. Best surfing we have ever done. Johan is the best instructor we have ever had. We request him every year. Very knowledgeable. Best part is how much he makes it all. We’ll be back again. Hopefully this summer. Dios bending a mi hemano

Was this review ...?

CaraNemchek34

1 Reviews

AMAZING

5/ 5

I cannot say enough good things about Witch’s Rock! As a solo traveler and first time surfer, I was so grateful to find a place that instantly felt like home away from home. The pura vida vibes are real here – the staff are welcoming and the surf instructors are patient and amazing. I felt like I was part of one big surfing family, getting to explore and connect in paradise. I took a few excursions (scuba, catamaran) that Witch’s made super easy to coordinate and I had a blast learning to surf all week. A truly unforgettable trip. And so good that I booked my return visit before boarding my flight home! Highly recommend!

Was this review ...?

Rate us and Write a Review

Your review is recommended to be at least 140 characters long

Your request has been submitted successfully.


Deprecated: Function strftime() is deprecated in /home/dh_cs6ddc/exploretamarindo.com/wp-content/themes/listingpro/include/timings.php on line 31
Show all timings
  • Monday06:00 - 21:00
  • Tuesday06:00 - 21:00
  • Wednesday06:00 - 21:00
  • Thursday06:00 - 21:00
  • Friday06:00 - 21:00
  • Saturday06:00 - 21:00
  • Sunday06:00 - 21:00