Skip to content

Gym Business Profile JSON Format & Schema

Complete structured data guide for gyms, fitness studios, and health clubs. Use JSON-LD to tell Google exactly what your facility offers and when it's open.

What Is a Gym Business Profile JSON Template?

A gym business profile JSON template uses Schema.org's SportsActivityLocation and LocalBusiness types to describe your fitness facility in structured, machine-readable format. This data powers Google's understanding of your gym . from what equipment you have to when you're open for early-morning sessions.

The fitness industry is highly competitive in local search. "Gym near me," "CrossFit box," "yoga studio," and "personal training" are all high-intent searches. Structured data gives your facility an edge by providing Google with authoritative, complete information.

Your gym's JSON schema should cover:

  • Facility name, location, and contact details
  • Extended hours (early morning and late night access)
  • Available equipment and fitness classes
  • Membership pricing range
  • Amenities (pool, sauna, childcare, parking)
  • Certifications and accreditations

Why Gym JSON Schema Matters

✅ New Year Resolution Rush

January is peak gym-search season. Gyms with complete structured data capture more "join a gym" and "gym membership near me" searches when intent is highest.

✅ Hours Are a Top Search Factor

Many gym members search for "24-hour gym" or "gym open at 5am." Properly structured hours help Google surface your facility for time-sensitive searches.

✅ Class Schedule Discovery

Listing your classes (yoga, spin, HIIT, CrossFit) in structured data helps members searching for specific fitness formats find your studio organically.

✅ Competitive Differentiation

Highlighting amenities (pool, sauna, childcare, personal training) in structured data differentiates your facility from big-box gyms that don't use schema markup.

Complete Gym JSON-LD Schema Template

JSON-LD (application/ld+json)
{
  "@context": "https://schema.org",
  "@type": ["SportsActivityLocation", "LocalBusiness"],
  "name": "Your Gym Name",
  "image": "https://example.com/gym-floor.jpg",
  "description": "Full-service fitness center with cardio equipment, free weights, group fitness classes, and personal training.",
  "url": "https://www.yourgym.com",
  "telephone": "+1-555-567-8901",
  "email": "membership@yourgym.com",
  
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "555 Fitness Way",
    "addressLocality": "Atlanta",
    "addressRegion": "GA",
    "postalCode": "30301",
    "addressCountry": "US"
  },
  
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 33.7490,
    "longitude": -84.3880
  },
  
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "289"
  },
  
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "05:00",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday"],
      "opens": "06:00",
      "closes": "22:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Sunday"],
      "opens": "07:00",
      "closes": "21:00"
    }
  ],
  
  "priceRange": "$$",
  
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "Swimming Pool",
      "value": true
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Sauna",
      "value": true
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Childcare",
      "value": true
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Personal Training",
      "value": true
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Free Parking",
      "value": true
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Locker Rooms",
      "value": true
    }
  ],
  
  "availableService": [
    {
      "@type": "Service",
      "name": "Group Fitness Classes",
      "description": "Yoga, Spin, HIIT, Zumba, and more . over 40 classes per week"
    },
    {
      "@type": "Service",
      "name": "Personal Training",
      "description": "One-on-one training with certified personal trainers"
    },
    {
      "@type": "Service",
      "name": "Nutrition Coaching",
      "description": "Personalized nutrition plans from registered dietitians"
    }
  ],
  
  "sameAs": [
    "https://www.facebook.com/yourgym",
    "https://www.instagram.com/yourgym",
    "https://www.yelp.com/biz/your-gym"
  ],
  
  "paymentAccepted": "Cash, Credit Card, EFT",
  
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "Membership",
    "telephone": "+1-555-567-8901",
    "url": "https://www.yourgym.com/join"
  }
}

Minimal Gym Schema

JSON-LD
{
  "@context": "https://schema.org",
  "@type": "SportsActivityLocation",
  "name": "Your Gym Name",
  "url": "https://www.yourgym.com",
  "telephone": "+1-555-567-8901",
  
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "555 Fitness Way",
    "addressLocality": "Atlanta",
    "addressRegion": "GA",
    "postalCode": "30301",
    "addressCountry": "US"
  }
}

Gym JSON Schema FAQ

What Schema.org type should a gym use?

Use "SportsActivityLocation" as the primary type. You can combine it with "LocalBusiness" using an array. Specific studio types like "YogaStudio" don't exist in Schema.org, so SportsActivityLocation is the most accurate choice.

Should I include individual class schedules in the schema?

Class schedules change frequently, making them difficult to maintain in static JSON. Instead, list class types in availableService and link to your class schedule page via the "hasMap" or a custom property.

How do I mark my gym as 24 hours?

Use openingHoursSpecification with "opens": "00:00" and "closes": "23:59" for each day, or use the shorthand "openingHours": "Mo-Su 00:00-24:00" property.

💡 Highlight What Big Gyms Can't Offer
Use amenityFeature to call out differentiators: "No Crowds," "Private Training Rooms," "Olympic Lifting Platform," or "Rock Climbing Wall." These specifics win niche searches that generic gyms miss entirely.
⚠️ January Hours Need Special Attention
Many gyms extend hours in January for the resolution rush. If you add holiday hours, update your JSON schema to match. Showing up as "closed" during your busiest acquisition month is a costly mistake.

Grade Your Gym's Online Presence

Find out how your gym scores across reviews, Google Business Profile, website speed, and more. Free A-F grade in minutes.

How to Implement Gym & Fitness Center JSON Schema

1. Add to Your Website <head> Section

Place the JSON-LD script in your website's <head> tag:

HTML
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SportsActivityLocation",
  ...
}
</script>

2. Submit to Google Search Console

Go to Google Search Console > Enhancements > Rich Results > Validate. Google will crawl your site and use the JSON data to power Knowledge Panel entries and rich snippets.

3. Keep Listings Consistent

Your gym JSON data should match exactly across Google My Business, Yelp, and ClassPass. Inconsistencies between your website schema and your Google Business Profile cause ranking issues.

4. Platform-Specific Notes

Gym management software (Mindbody, Glofox, PushPress) often includes website integrations. Check if they generate structured data . if so, verify it matches your current offerings.

Next Steps

  1. Copy the complete gym JSON schema above
  2. Replace all example values with your actual facility information
  3. Add the JSON-LD script to your website's <head> tag
  4. Test using Google's Rich Results Test: https://search.google.com/test/rich-results
  5. Submit your site to Google Search Console
  6. Update your Google My Business profile with matching hours and amenities
  7. Add individual class schedules using Event schema if applicable
  8. Update membership prices and class offerings each quarter

Validate Your Gym JSON Schema

Proper validation ensures your gym appears in rich results for workout class searches, membership inquiries, and local gym searches. Run these checks before launching:

🔍 Google Rich Results Test

Verify your gym schema at search.google.com/test/rich-results. Check that your hours, rating, and amenities display correctly. Schema for gyms should enable the business profile rich card in local search.

🔍 Event Schema for Classes

If your gym offers recurring classes (yoga, spin, HIIT), consider adding Event schema in addition to SportsActivityLocation. Class schedules with Event schema can appear in search results with date and time, driving class sign-ups directly from Google.

🔍 Amenities Accuracy

The amenityFeature property is particularly important for gyms . members search for pools, saunas, parking, and childcare. Verify each amenity listed is actually available and matches what's in your Google Business Profile.

Last updated: March 2026 | Gym JSON Schema v1.0