Restaurant Schema Markup
Restaurant extends LocalBusiness with properties specific to food service businesses. It supports cuisine type, menu links, and reservation services, making it essential for any dining establishment that wants to appear properly in Google's local search results.
Eligible Rich Results
When to Use Restaurant
Properties
| Property | Type | Status | Description |
|---|---|---|---|
| name | Text | required | The restaurant name. |
| address | PostalAddress | required | Restaurant address. |
| servesCuisine | Text | recommended | Types of cuisine served (e.g., Italian, Mexican, Sushi). |
| hasMenu | URL or Menu | recommended | Link to the restaurant's menu. |
| telephone | Text | recommended | Phone number for reservations. |
| priceRange | Text | recommended | Price level ($, $$, $$$, $$$$). |
| image | URL | recommended | Photo of the restaurant or food. |
| openingHoursSpecification | OpeningHoursSpecification | recommended | Operating hours. |
| acceptsReservations | Boolean or URL | optional | Whether the restaurant takes reservations, or URL to book. |
| starRating | Rating | optional | Official star rating (not user reviews). |
| geo | GeoCoordinates | recommended | Location coordinates. |
| url | URL | recommended | Restaurant website. |
JSON-LD Examples
Italian Restaurant
Full restaurant markup with cuisine, menu, and reservation info.
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Bella Italia Trattoria",
"image": "https://bellaitalia.com/interior.jpg",
"url": "https://bellaitalia.com",
"telephone": "+1-212-555-0188",
"servesCuisine": [
"Italian",
"Mediterranean"
],
"priceRange": "$$$",
"hasMenu": "https://bellaitalia.com/menu",
"acceptsReservations": "https://bellaitalia.com/reservations",
"address": {
"@type": "PostalAddress",
"streetAddress": "789 Broadway",
"addressLocality": "New York",
"addressRegion": "NY",
"postalCode": "10003",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 40.7328,
"longitude": -73.9927
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Tuesday",
"Wednesday",
"Thursday"
],
"opens": "17:00",
"closes": "22:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Friday",
"Saturday"
],
"opens": "17:00",
"closes": "23:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday",
"opens": "16:00",
"closes": "21:00"
}
]
} Common Mistakes
Using LocalBusiness instead of Restaurant — you lose access to cuisine and menu properties.
Not including servesCuisine — this is one of the most important properties for restaurant discovery.
Forgetting to list the days you're closed (closed days simply aren't included in openingHoursSpecification).
Complete Guide to Restaurant Schema Markup
Restaurant schema markup is critical for any dining establishment that wants to be found in local search. Google uses Restaurant structured data to populate knowledge panels with cuisine type, menu links, reservation options, and operating hours — information that directly influences whether a potential customer chooses your restaurant.
The servesCuisine property is one of the most important for discoverability. When someone searches for 'Italian restaurant near me', Google matches this property against the search query. You can include multiple cuisine types as an array, which is useful for restaurants that serve dishes from multiple traditions.
The hasMenu property links to your online menu. If you have a dedicated menu page (rather than a PDF), link to it here. Google may crawl this page separately and use it to surface specific dishes in search results. For the best experience, consider adding Menu and MenuItem structured data to your menu page itself.
For restaurants that accept reservations, the acceptsReservations property can be set to true (boolean) or to a URL where customers can book a table. Integration with reservation platforms like OpenTable or Resy is increasingly important for local search visibility.
Related Types
Ready to Create Restaurant Markup?
Use our free generator to create valid Restaurant JSON-LD markup with a visual form. No coding required.
Open Generator