We've updated our Privacy Policy
We've updated our Privacy Policy
See more

A Vet for the Animal People.

Your partner for anything pet parenthood throws your way. Get Primary Care, Urgent Care, 24/7 Virtual Care, and Pharmacy all in one place.

Find a nearby clinic

Oops! Something went wrong while submitting the form.
ImageImage

What to expect

Care that does more for your pet. And you.

Member Stories

Trusted by more than 100,000 families.

Watch Story
Meghan & Carl
Member Since
2022
Image
Play Sound
Meghan & Carl
Members since
2022
See More
See Less
Meghan & Carl
Members since
2022
Image
Watch Story
Kevin, Elena, Vader & Ahsoka
Member Since
2022
Image
Play Sound
Kevin, Elena, Vader & Ahsoka
Members since
2022
See More
See Less
Kevin, Elena, Vader & Ahsoka
Members since
2022
Image
Watch Story
Lindsey & Archer
Member Since
2020
Image
Play Sound
Lindsey & Archer
Members since
2020
See More
See Less
Lindsey & Archer
Members since
2020
Image
Watch Story
Alex & Winnie
Member Since
2020
Image
Play Sound
Alex & Winnie
Members since
2020
See More
See Less
Alex & Winnie
Members since
2020
Image
Watch Story
Java & Xena
Member Since
2022
Image
Play Sound
Java & Xena
Members since
2022
See More
See Less
Java & Xena
Members since
2022
Image
Watch Story
Hannah & Her Rescues
Member Since
2020
Image
Play Sound
Hannah & Her Rescues
Members since
2020
See More
See Less
Hannah & Her Rescues
Members since
2020
Image
Watch Story
Nick & Sam
Member Since
2023
Image
Play Sound
Nick & Sam
Members since
2023
See More
See Less
Nick & Sam
Members since
2023
Image
4.6
Image
Based on 2,000+ Yelp Reviews
4.7
Image
Based on 3,000+ Google Reviews
4.9
Image
Based on 4,000 App Store Reviews

Locations

Find us in your neighborhood.

Our clinics are conveniently located and designed to feel just like home to you, your pet, and our team.

You’ll know you’re in the right place when your dog runs to the front door instead of across the parking lot.

Image

Austin

Mueller

2015 Aldrich St.

Austin, TX 78723

South Lamar

1100 S. Lamar Blvd., Suite 1105

Austin, TX 78704

Dallas

Park Cities

5301 W Lovers Ln

Dallas, TX 75209, USA

Addison

5290 Belt Line Rd. Suite 134

Dallas, TX 75254

Lakewood

6465 E Mockingbird Ln

Dallas, TX 75214, USA

Denver

Cherry Creek

3370 E 1st Ave.

Denver, CO 80206

Houston

The Heights

238 W 19th St.

Houston, TX 77008

Rice Village

6027 Kirby Dr,

Houston, TX 77005

Los Angeles

Encino

16437 Ventura Blvd.

Encino, CA 91436

Long Beach

6463 Pacific Coast Hwy

Long Beach, CA 90803

Los Feliz

4850 Hollywood Blvd

Los Angeles, CA 90027

Santa Monica

2828 Santa Monica Blvd

Santa Monica, CA 90404

La Brea

359 S La Brea Ave

Los Angeles, CA 90036

West LA

1901 Westwood Blvd

Los Angeles, CA 90025

Playa Vista

12775 Millennium Dr Suite 115

Playa Vista, CA 90094

West Hollywood

8122 Beverly Blvd

Los Angeles, CA 90048

Studio City

12157 Ventura Blvd

Studio City, CA 91604

Culver City

10023 Jefferson Blvd

Culver City, CA, 90232

Pasadena

616 E Colorado Blvd

Pasadena, CA 91101

Downtown LA

301 W Olympic Blvd.

Los Angeles, CA 90015

Glendale

224 W Colorado St

Glendale, CA 91204

Manhattan Beach

1108 N Sepulveda Blvd

Manhattan Beach, CA 90266

Orange County

Huntington Beach

10028 Adams Ave.

Huntington Beach, CA 92646

Costa Mesa

462 E 17th St. Suite B

Costa Mesa, CA 92627

Phoenix

Arcadia

4340 E Indian School Rd, Ste 21

Phoenix, AZ 85018

SF Bay Area

Palo Alto

215 Alma St

Palo Alto, CA 94301

NoPa

401 Divisadero St.

San Francisco, CA 94117

Berkeley

760 Hearst Ave

Berkeley, CA 94710

Russian Hill

1650 Pacific Ave

San Francisco, CA 94109

Walnut Creek

1360 Mt Diablo Blvd

Walnut Creek, CA 94596

tag) document.addEventListener('DOMContentLoaded', function() { // Get all accordion triggers const accordionTriggers = document.querySelectorAll('.regions_header'); // Track currently open accordion let currentlyOpen = null; // Set up CSS transitions via JavaScript setupTransitions(); // Set up hover animations (desktop only) setupHoverAnimations(); accordionTriggers.forEach(trigger => { trigger.addEventListener('click', function(e) { e.preventDefault(); // Get the accordion item and content const currentAccordion = this.closest('.regions_item'); const currentContent = currentAccordion.querySelector('.regions_content'); // Check if clicking on already open accordion if (currentlyOpen === currentAccordion) { // Close current accordion closeAccordion(currentAccordion); currentlyOpen = null; } else { // Close previously open accordion if exists if (currentlyOpen) { closeAccordion(currentlyOpen); } // Open new accordion openAccordion(currentAccordion); currentlyOpen = currentAccordion; } }); }); // Function to set up CSS transitions via JavaScript function setupTransitions() { const outQuart = 'cubic-bezier(0.25, 0.46, 0.45, 0.94)'; const duration = '0.4s'; // Set up content transitions document.querySelectorAll('.regions_content').forEach(content => { content.style.transition = `height ${duration} ${outQuart}`; content.style.overflow = 'hidden'; content.style.height = '0px'; // Default closed state }); // Set up header transitions document.querySelectorAll('.regions_header').forEach(header => { header.style.transition = `background-color ${duration} ${outQuart}`; }); // Set up drawer icon transitions document.querySelectorAll('.drawer_icon').forEach(icon => { icon.style.transition = `transform ${duration} ${outQuart}, color ${duration} ${outQuart}`; }); // Set up active background transitions document.querySelectorAll('.drawer_icon-active-background').forEach(bg => { bg.style.transition = `opacity ${duration} ${outQuart}`; }); // Set up hover icon transitions document.querySelectorAll('.drawer_icon-hover').forEach(hover => { hover.style.transition = `opacity ${duration} ${outQuart}, transform ${duration} ${outQuart}`; }); // Set up hover background transitions (for hover animations) document.querySelectorAll('.drawer_icon-hover-background').forEach(hoverBg => { hoverBg.style.transition = `opacity ${duration} ${outQuart}`; }); // Set up hover border transitions document.querySelectorAll('.regions_hover-border-top').forEach(hoverBorder => { hoverBorder.style.transition = `opacity ${duration} ${outQuart}`; hoverBorder.style.opacity = '0'; // Default state }); document.querySelectorAll('.regions_hover-border-bottom').forEach(hoverBorder => { hoverBorder.style.transition = `opacity ${duration} ${outQuart}`; hoverBorder.style.opacity = '0'; // Default state }); } // Function to set up hover animations (desktop only - 992px+) function setupHoverAnimations() { // Only setup hover animations on desktop breakpoints function isDesktop() { return window.innerWidth >= 992; } document.querySelectorAll('.regions_item').forEach(item => { const header = item.querySelector('.regions_header'); const hoverIcon = header.querySelector('.drawer_icon-hover'); const hoverBackground = header.querySelector('.drawer_icon-hover-background'); const hoverBorderTop = item.querySelector('.regions_hover-border-top'); const hoverBorderBottom = item.querySelector('.regions_hover-border-bottom'); // Track hover state let isHovering = false; item.addEventListener('mouseenter', function() { isHovering = true; // Border animations work on all breakpoints if (hoverBorderTop) { hoverBorderTop.style.opacity = '1'; } if (hoverBorderBottom && !item.classList.contains('is-open')) { hoverBorderBottom.style.opacity = '1'; } // Only apply other hover effects on desktop and if accordion is not open if (isDesktop() && !item.classList.contains('is-open')) { // Hover In animations if (hoverBackground) { hoverBackground.style.opacity = '1'; } if (hoverIcon) { hoverIcon.style.opacity = '1'; } } }); item.addEventListener('mouseleave', function() { isHovering = false; // Border animations work on all breakpoints if (!item.classList.contains('is-open')) { if (hoverBorderTop) { hoverBorderTop.style.opacity = '0'; } if (hoverBorderBottom) { hoverBorderBottom.style.opacity = '0'; } } // Only reset other hover effects on desktop and if accordion is not open if (isDesktop() && !item.classList.contains('is-open')) { // Hover Out animations if (hoverBackground) { hoverBackground.style.opacity = '0'; } if (hoverIcon) { hoverIcon.style.opacity = '0'; } } }); // Store hover state on the element for access in close function item._isHovering = function() { return isHovering; }; }); // Re-check on window resize to handle breakpoint changes window.addEventListener('resize', function() { // Reset desktop-only hover states when switching breakpoints if (!isDesktop()) { document.querySelectorAll('.regions_item').forEach(item => { const header = item.querySelector('.regions_header'); const hoverIcon = header.querySelector('.drawer_icon-hover'); const hoverBackground = header.querySelector('.drawer_icon-hover-background'); if (!item.classList.contains('is-open')) { if (hoverBackground) { hoverBackground.style.opacity = '0'; } if (hoverIcon) { hoverIcon.style.opacity = '0'; } } }); } }); } // Function to open accordion function openAccordion(container) { const content = container.querySelector('.regions_content'); const header = container.querySelector('.regions_header'); const drawerIcon = container.querySelector('.drawer_icon'); const activeBackground = container.querySelector('.drawer_icon-active-background'); const hoverIcon = container.querySelector('.drawer_icon-hover'); const hoverBorderTop = container.querySelector('.regions_hover-border-top'); const hoverBorderBottom = container.querySelector('.regions_hover-border-bottom'); // Add open state class container.classList.add('is-open'); // Animate content height const height = content.scrollHeight + 'px'; content.style.height = height; // Animate header background header.style.backgroundColor = '#93b2e8'; // Animate drawer icon if (drawerIcon) { drawerIcon.style.transform = 'rotate(45deg)'; drawerIcon.style.color = '#f4f0e2'; } // Animate active background if (activeBackground) { activeBackground.style.opacity = '1'; } // Animate hover icon if (hoverIcon) { hoverIcon.style.opacity = '0'; hoverIcon.style.transform = 'rotate(45deg)'; } // Keep top border visible when open, hide bottom border if (hoverBorderTop) { hoverBorderTop.style.opacity = '1'; } if (hoverBorderBottom) { hoverBorderBottom.style.opacity = '0'; } } // Function to close accordion function closeAccordion(container) { const content = container.querySelector('.regions_content'); const header = container.querySelector('.regions_header'); const drawerIcon = container.querySelector('.drawer_icon'); const activeBackground = container.querySelector('.drawer_icon-active-background'); const hoverIcon = container.querySelector('.drawer_icon-hover'); const hoverBackground = container.querySelector('.drawer_icon-hover-background'); const hoverBorderTop = container.querySelector('.regions_hover-border-top'); const hoverBorderBottom = container.querySelector('.regions_hover-border-bottom'); // Check if currently hovering const isHovering = container._isHovering ? container._isHovering() : false; // Remove open state class container.classList.remove('is-open'); // Animate content height to 0 content.style.height = '0px'; // Remove inline background style to allow CSS hover to work header.style.backgroundColor = ''; // Animate drawer icon if (drawerIcon) { drawerIcon.style.transform = 'rotate(0deg)'; drawerIcon.style.color = '#341c03'; } // Animate active background if (activeBackground) { activeBackground.style.opacity = '0'; } // Animate hover icon if (hoverIcon) { hoverIcon.style.opacity = '0'; hoverIcon.style.transform = 'rotate(0deg)'; } // Reset hover background to default closed state if (hoverBackground) { hoverBackground.style.opacity = '0'; } // Only reset hover borders if NOT currently hovering if (!isHovering) { if (hoverBorderTop) { hoverBorderTop.style.opacity = '0'; } if (hoverBorderBottom) { hoverBorderBottom.style.opacity = '0'; } } else { // If hovering, keep top border visible, show bottom border again if (hoverBorderTop) { hoverBorderTop.style.opacity = '1'; } if (hoverBorderBottom) { hoverBorderBottom.style.opacity = '1'; } } } });

Services

From checkups to late night throw ups.

Here to help with just about any part of pet parenthood, including primary care, preventive care, dentistry, soft tissue surgery, and more.

Image

Primary Care

We provide the full spectrum of day-to-day veterinary care your pet needs to stay healthy and well. This includes wellness exams, vaccines, nutrition support, parasite prevention, and treatment for common issues like allergies, ear infections, and chronic conditions. We’re here for every stage of your pet’s life.

Urgent Care

For health issues that should be addressed sooner than a routine visit allows, but are not emergencies, we offer same-day and next-day appointments. This includes things like minor injuries, sudden changes in appetite or behavior, or signs of illness.

24/7 Virtual Care

Chat with a licensed veterinary professional anytime, day or night. Our team can help with general questions, triage concerns, and guidance on whether your pet needs to be seen in person.

Pharmacy

We offer a full-service pharmacy for prescription medications, preventatives, and prescription diets recommended by your care team. You can pick up in clinic or have items delivered to your door with optional autoship for ongoing needs.

Vaccines

We provide core and lifestyle-based vaccines to protect your pet against preventable diseases. Your care team will tailor a vaccine plan based on your pet’s age, breed, environment, and health history.

Dental Care

We offer comprehensive dental services to keep your pet’s mouth healthy and pain-free. This includes cleanings under anesthesia, full-mouth radiographs, extractions when needed, and personalized care plans to address tartar, gum disease, and other oral health concerns.

Surgery

We offer a range of soft-tissue surgeries performed by licensed veterinarians in a fully equipped surgical suite. Every procedure includes general anesthesia, continuous monitoring, pain management, and personalized recovery plans to keep your pet safe and supported at every step.

Puppies & Kittens

We help you give your new pet the healthiest possible start. From first vaccines to nutrition and behavior guidance, our team supports you through every milestone in their first year.

Senior Pet Care

As pets age, their needs change. We offer tailored care to support comfort, mobility, and overall health in the later stages of life. From routine screenings to pain management and lifestyle adjustments, we’re here to help your pet age well.

Plans and Pricing

A plan for every kind of pet parent.

Whether you have a dog that eats a lot of socks or a cat that just pops by once a year, we’ve got you covered.

Image
Follow Along

Meet the team behind the mission.

Follow us on social to go behind-the-scenes of our clinics and meet all the people who make getting care with us special.
get the modern animal app

The only app on your phone with a veterinary degree.

Get answers 24/7, schedule care, manage records.
Image