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
{
"@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
{
"@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.
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:
<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
- Copy the complete gym JSON schema above
- Replace all example values with your actual facility information
- Add the JSON-LD script to your website's <head> tag
- Test using Google's Rich Results Test: https://search.google.com/test/rich-results
- Submit your site to Google Search Console
- Update your Google My Business profile with matching hours and amenities
- Add individual class schedules using Event schema if applicable
- 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