jsonld@web
jsonld@web:/local-business$  cat ./local-business.jsonld
rich results · passed @type · example

> Local Business Schema JSON-LD -- Examples and 100+ Sub-Types

Copy validated LocalBusiness JSON-LD with address, geo, hours, and priceRange. Covers Restaurant, Hotel, Dentist, and 100+ other sub-types Google supports.

published
modified
size
4.5K
path
/local-business/

Last updated May 1, 2026 by Patrick Coombe

Please keep in mind that there are dozens of different types of local businesses. You can keep it general by just defining your local business as "local business" or you can choose which type by selecting one of these. Find more types of local businesses at schema.org.

Code Snippet Updated April 2019: Google added a bunch of new requirements to this. They also want a "price range" but not a lot of people like to do this.

local-business.jsonld · 1.6K test
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "image": [
    "https://example.com/photos/1x1/photo.jpg",
    "https://example.com/photos/4x3/photo.jpg",
    "https://example.com/photos/16x9/photo.jpg"
   ],
  "@id": "http://davessteakhouse.example.com",
  "name": "Pat's Crab Shack",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "900 Linton Blvd",
    "addressLocality": "Delray Beach",
    "addressRegion": "FL",
    "postalCode": "33444",
    "addressCountry": "US"
  },
  "review": {
    "@type": "Review",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "4",
      "bestRating": "5"
    },
    "author": {
      "@type": "Person",
      "name": "Mike Jones"
    }
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 40.761293,
    "longitude": -73.982294
  },
  "url": "http://www.example.com/restaurant-locations/manhattan",
  "telephone": "+12122459600",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday"
      ],
      "opens": "11:30",
      "closes": "22:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "11:30",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "16:00",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Sunday",
      "opens": "16:00",
      "closes": "22:00"
    }
  ],
  "menu": "http://www.example.com/menu",
  "acceptsReservations": "True"
}

Here is another example from 2024

local-business.jsonld · 1.6K test
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "image": [
    "https://example.com/photos/1x1/photo.jpg",
    "https://example.com/photos/4x3/photo.jpg",
    "https://example.com/photos/16x9/photo.jpg"
   ],
  "name": "Dave's Steak House",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "148 W 51st St",
    "addressLocality": "New York",
    "addressRegion": "NY",
    "postalCode": "10019",
    "addressCountry": "US"
  },
  "review": {
    "@type": "Review",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "4",
      "bestRating": "5"
    },
    "author": {
      "@type": "Person",
      "name": "Lillian Ruiz"
    }
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 40.761293,
    "longitude": -73.982294
  },
  "url": "https://www.example.com/restaurant-locations/manhattan",
  "telephone": "+12122459600",
  "servesCuisine": "American",
  "priceRange": "$$$",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday"
      ],
      "opens": "11:30",
      "closes": "22:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "11:30",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "16:00",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Sunday",
      "opens": "16:00",
      "closes": "22:00"
    }
  ],
  "menu": "https://www.example.com/menu"
}

google validated jsonld
Note: you can obtain the latitude and longitude for your business using our address-to-coordinates tool.

Results

A search engine crawler will read the code. After a period of time, the search engine results page for users performing a "branded search" will yield the below information (see photo). It is important that this information generally presents only for users who are performing the search within your geographical area.

Local Business JSON- Local View


LocalBusiness sub-types

Schema.org defines 100+ specific sub-types under LocalBusiness. Pick the most specific one that fits, since Google uses the type signal to decide which rich result to show. Common ones:

The full list lives at schema.org/LocalBusiness. If your business does not fit any sub-type cleanly, just use LocalBusiness directly.

What Google actually requires

For a LocalBusiness rich result, Google's docs require:

Strongly recommended (these unlock the full rich result and knowledge panel):

Generate a LocalBusiness snippet in 60 seconds

Skip the hand-coding. Open the LocalBusiness schema generator, pick LocalBusiness from the dropdown (or one of the 100+ sub-types), fill in the fields, and copy the validated output. The generator will flag any required field you've missed before you copy.