Skip to content

Restaurant Business Profile JSON Format & Schema

Complete guide to structured data formatting for restaurants. Learn how to format JSON schemas for Google, review sites, and third-party platforms.

What Is Business Profile JSON?

JSON (JavaScript Object Notation) is a structured format for storing and sharing data. When you format your restaurant profile as JSON with proper schema markup (Schema.org), you tell Google and other platforms exactly what information your business has.

Instead of relying on Google to read and interpret your website, structured JSON data makes it crystal clear:

  • Restaurant name, address, phone number
  • Hours of operation and special schedules
  • Price range and cuisine types
  • Menu, reviews, and ratings
  • Reservation and ordering systems
  • Contact information and social profiles

Why Restaurant Profile JSON Matters

✅ Rich Snippets

Google displays your rating, hours, and reviews directly in search results. Proper JSON formatting enables these rich features.

✅ Knowledge Panel Eligibility

Structured data helps your restaurant appear in Google's Knowledge Panel with complete information.

✅ Better Local SEO

JSON markup improves your visibility in local search and Google Maps results.

✅ Mobile-Friendly Results

Properly formatted JSON makes your business information easy to find on mobile searches.

Complete Restaurant JSON Schema Template

Here's the full schema for a restaurant. Copy this and replace the values with your restaurant's actual information.

JSON
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Your Restaurant Name",
  "image": "https://example.com/restaurant-image.jpg",
  "description": "A brief description of your restaurant, cuisine, atmosphere.",
  "url": "https://www.yourrestaurant.com",
  "telephone": "+1-555-123-4567",
  "email": "info@yourrestaurant.com",
  
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Chicago",
    "addressRegion": "IL",
    "postalCode": "60601",
    "addressCountry": "US"
  },
  
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 41.8781,
    "longitude": -87.6298
  },
  
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "127"
  },
  
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "11:00",
      "closes": "22:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday"],
      "opens": "10:00",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Sunday"],
      "opens": "10:00",
      "closes": "21:00"
    }
  ],
  
  "priceRange": "$$",
  
  "servesCuisine": ["Italian", "Mediterranean"],
  
  "sameAs": [
    "https://www.facebook.com/yourrestaurant",
    "https://www.instagram.com/yourrestaurant",
    "https://www.yelp.com/biz/your-restaurant"
  ],
  
  "menu": "https://www.yourrestaurant.com/menu",
  
  "hasMenu": {
    "@type": "Menu",
    "hasMenuSection": [
      {
        "@type": "MenuSection",
        "name": "Appetizers",
        "hasMenuItem": [
          {
            "@type": "MenuItem",
            "name": "Bruschetta",
            "description": "Toasted bread with tomatoes and basil",
            "offers": {
              "@type": "Offer",
              "price": "8.99",
              "priceCurrency": "USD"
            }
          }
        ]
      }
    ]
  },
  
  "acceptsReservations": "true",
  
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "Reservations",
    "telephone": "+1-555-123-4567",
    "url": "https://www.yourrestaurant.com/reservations"
  }
}

Minimal Restaurant Schema (Bare Minimum)

If you don't have all the information above, start with this minimal version:

JSON
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Your Restaurant Name",
  "image": "https://example.com/restaurant-image.jpg",
  "url": "https://www.yourrestaurant.com",
  "telephone": "+1-555-123-4567",
  
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Chicago",
    "addressRegion": "IL",
    "postalCode": "60601",
    "addressCountry": "US"
  },
  
  "servesCuisine": ["Italian"],
  "priceRange": "$$"
}

How to Implement 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": "Restaurant",
  ...
}
</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.

3. Submit to Review Sites

Google My Business, Yelp, OpenTable, and DoorDash all accept restaurant profile information. Proper JSON ensures consistency across platforms.

Restaurant JSON Schema FAQ

Can I use JSON from a different restaurant's website?

No. Each restaurant's JSON must be unique and accurate. Using copied data will confuse Google and potentially harm your SEO.

What if my restaurant doesn't have all the fields?

Include only the fields you have accurate data for. Start with the minimal schema and add more as you gather information (reviews, photos, menu items, etc.).

How often should I update the JSON?

Update it immediately when: hours change, phone number changes, or address changes. Update weekly/monthly when: adding new reviews, changing menu items, or updating prices.

Will JSON schema improve my Google Maps ranking?

Not directly. But it helps Google understand and display your information correctly, which indirectly improves your visibility in Maps and local search.

💡 Pro Tip: Keep Data Consistent
The same information should appear identically across your website, Google My Business, and JSON schema. Inconsistencies confuse Google and hurt your rankings.
⚠️ Common Mistake: Outdated Hours
The #1 error restaurants make is forgetting to update their hours in the JSON schema. If your hours are wrong in the code, customers see the wrong times everywhere.

Download Your JSON Template

Get the complete restaurant JSON schema template ready to customize with your restaurant's information. Copy, fill in your details, and deploy.

Download Template (JSON)

Next Steps

  1. Copy the complete restaurant JSON schema above
  2. Replace all example values with your actual restaurant 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 the same information
  7. Monitor search performance in Google Search Console

Last updated: March 5, 2026 | Restaurant JSON Schema v1.1