LocalBusiness

Last updated:

The LocalBusiness type describes a business with a physical location that customers can visit. It is a subtype of both Organization and Place, which means it inherits properties from both — you can specify organizational details like contact information and name alongside geographic details like address, coordinates, and opening hours. Google uses LocalBusiness markup to power local search results, map listings, and knowledge panels.

When to Use This

Use LocalBusiness when a business has a physical storefront, office, or service location where customers interact in person. This includes restaurants, retail stores, medical offices, salons, repair shops, and any other walk-in establishment.

Choose a more specific subtype when possible:

  • Restaurant for restaurants and cafes
  • MedicalBusiness for clinics and healthcare providers
  • LegalService for law firms
  • FinancialService for banks and financial advisors
  • AutoRepair, Dentist, RealEstateAgent, etc.

Google recognizes over 100 specific subtypes of LocalBusiness. Using the most specific applicable type gives search engines better context about what you do.

Do not use LocalBusiness if:

  • The business operates exclusively online with no physical location — use Organization instead
  • You are describing a large corporation’s headquarters that is not customer-facing — use Organization instead
  • The location is an event venue without an associated business — use Place

Required Properties

PropertyTypeDescription
@typeTextMust be "LocalBusiness" or a more specific subtype (e.g., "Restaurant", "Dentist").
nameTextThe business name as customers know it. Must match the name on your storefront and Google Business Profile.
addressPostalAddressThe full street address of the business. Use a PostalAddress object with streetAddress, addressLocality, addressRegion, postalCode, and addressCountry.
telephoneTextThe primary phone number in international format (e.g., +1-555-123-4567).
PropertyTypeDescription
openingHoursSpecificationOpeningHoursSpecificationStructured hours of operation. Define dayOfWeek, opens, and closes for each day. More precise than the deprecated openingHours text field.
geoGeoCoordinatesLatitude and longitude of the business location. Helps with map placement and “near me” searches.
priceRangeTextA price range indicator, typically $, $$, $$$, or $$$$. Helps users gauge affordability.
imageURL or ImageObjectPhotos of the business exterior, interior, or products. Multiple images are recommended.
urlURLThe canonical URL of the business’s website or location page.
servesCuisineTextThe type of cuisine served (restaurants only).
menuURLA link to the menu (restaurants only).
acceptsReservationsBoolean or URLWhether the business accepts reservations, or a URL to a reservation page.
sameAsURL (array)Links to social media profiles and directory listings.
aggregateRatingAggregateRatingOverall customer rating based on reviews.
reviewReviewIndividual customer reviews.
hasMapURLA link to a map showing the business location (e.g., a Google Maps link).
paymentAcceptedTextPayment methods accepted (e.g., “Cash, Credit Card, Apple Pay”).
currenciesAcceptedTextCurrencies accepted (e.g., “USD”).

JSON-LD Example

A complete LocalBusiness markup for a restaurant:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "The Copper Skillet",
  "description": "Farm-to-table American restaurant in downtown Portland serving seasonal dishes and craft cocktails.",
  "image": [
    "https://www.copperskillet.com/images/exterior.jpg",
    "https://www.copperskillet.com/images/dining-room.jpg",
    "https://www.copperskillet.com/images/signature-dish.jpg"
  ],
  "url": "https://www.copperskillet.com",
  "telephone": "+1-503-555-0142",
  "priceRange": "$$$",
  "servesCuisine": ["American", "Farm-to-Table"],
  "menu": "https://www.copperskillet.com/menu",
  "acceptsReservations": "https://www.copperskillet.com/reservations",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "742 Evergreen Avenue",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97201",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 45.5152,
    "longitude": -122.6784
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
      "opens": "11:00",
      "closes": "21:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Friday", "Saturday"],
      "opens": "11:00",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Sunday",
      "opens": "10:00",
      "closes": "20:00"
    }
  ],
  "paymentAccepted": "Cash, Credit Card, Apple Pay, Google Pay",
  "currenciesAccepted": "USD",
  "sameAs": [
    "https://www.instagram.com/copperskillet",
    "https://www.facebook.com/copperskillet",
    "https://www.yelp.com/biz/the-copper-skillet-portland"
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "bestRating": "5",
    "reviewCount": "312"
  },
  "review": {
    "@type": "Review",
    "author": {
      "@type": "Person",
      "name": "Alex Moreno"
    },
    "datePublished": "2026-02-10",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "5",
      "bestRating": "5"
    },
    "reviewBody": "Outstanding seasonal menu. The roasted beet salad and pan-seared trout were both excellent. Reservations recommended on weekends."
  }
}

The same LocalBusiness marked up with Microdata:

<div itemscope itemtype="https://schema.org/Restaurant">
  <h1 itemprop="name">The Copper Skillet</h1>
  <p itemprop="description">Farm-to-table American restaurant in downtown Portland serving seasonal dishes and craft cocktails.</p>
  <img itemprop="image" src="https://www.copperskillet.com/images/exterior.jpg" alt="The Copper Skillet exterior" />

  <a itemprop="url" href="https://www.copperskillet.com">copperskillet.com</a>
  <span itemprop="telephone">+1-503-555-0142</span>
  <span itemprop="priceRange">$$$</span>

  <div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
    <span itemprop="streetAddress">742 Evergreen Avenue</span>,
    <span itemprop="addressLocality">Portland</span>,
    <span itemprop="addressRegion">OR</span>
    <span itemprop="postalCode">97201</span>,
    <span itemprop="addressCountry">US</span>
  </div>

  <div itemprop="geo" itemscope itemtype="https://schema.org/GeoCoordinates">
    <meta itemprop="latitude" content="45.5152" />
    <meta itemprop="longitude" content="-122.6784" />
  </div>

  <div itemprop="openingHoursSpecification" itemscope itemtype="https://schema.org/OpeningHoursSpecification">
    <link itemprop="dayOfWeek" href="https://schema.org/Monday" />
    <link itemprop="dayOfWeek" href="https://schema.org/Tuesday" />
    <link itemprop="dayOfWeek" href="https://schema.org/Wednesday" />
    <link itemprop="dayOfWeek" href="https://schema.org/Thursday" />
    <meta itemprop="opens" content="11:00" />
    <meta itemprop="closes" content="21:00" />
  </div>
</div>

The same LocalBusiness marked up with RDFa:

<div vocab="https://schema.org/" typeof="Restaurant">
  <h1 property="name">The Copper Skillet</h1>
  <p property="description">Farm-to-table American restaurant in downtown Portland serving seasonal dishes and craft cocktails.</p>
  <img property="image" src="https://www.copperskillet.com/images/exterior.jpg" alt="The Copper Skillet exterior" />

  <a property="url" href="https://www.copperskillet.com">copperskillet.com</a>
  <span property="telephone">+1-503-555-0142</span>
  <span property="priceRange">$$$</span>

  <div property="address" typeof="PostalAddress">
    <span property="streetAddress">742 Evergreen Avenue</span>,
    <span property="addressLocality">Portland</span>,
    <span property="addressRegion">OR</span>
    <span property="postalCode">97201</span>,
    <span property="addressCountry">US</span>
  </div>

  <div property="geo" typeof="GeoCoordinates">
    <meta property="latitude" content="45.5152" />
    <meta property="longitude" content="-122.6784" />
  </div>
</div>

Common Mistakes

  • Using Organization instead of LocalBusiness. If customers visit your physical location, always use LocalBusiness or a more specific subtype. You miss out on local search features otherwise.
  • Inconsistent NAP data. Name, Address, and Phone number must match exactly across your structured data, Google Business Profile, and directory listings. Even small differences (e.g., “St.” vs “Street”) can hurt local SEO.
  • Using the plain-text openingHours property. The openingHours shorthand (e.g., "Mo-Fr 09:00-17:00") is less precise and harder for machines to parse. Use openingHoursSpecification with structured dayOfWeek, opens, and closes fields.
  • Missing geo coordinates. Without latitude and longitude, search engines must geocode your address, which can introduce errors. Always provide explicit coordinates.
  • Not using a specific subtype. LocalBusiness is a catch-all. If a more specific type exists (and it usually does), use it. Search engines can provide richer features for recognized subtypes.
  • Marking up multiple locations in a single block. Each physical location needs its own separate LocalBusiness markup. Do not nest multiple addresses under one entity.
  • Omitting priceRange. While not required, this simple field helps users and search engines understand your positioning at a glance.
  • Incorrect time format in opening hours. Use 24-hour HH:MM format (e.g., "09:00", "21:00"). Do not use AM/PM notation.

Testing & Validation

  1. Google Rich Results Test — Paste your page URL at search.google.com/test/rich-results. Check for the Local Business result type.
  2. Schema.org Validator — Use validator.schema.org to verify JSON-LD syntax and property validity.
  3. Google Business Profile — Ensure the data in your structured markup matches your Google Business Profile exactly. Inconsistencies can prevent rich results.
  4. Google Search Console — Check the “Local Business” section under Enhancements for errors and warnings.
  5. Map verification — Plug your geo coordinates into Google Maps to confirm they point to the correct location. Transposed or truncated coordinates are a common error.
  6. NAP consistency audit — Compare your structured data’s name, address, and phone number against your Google Business Profile, Yelp, Facebook, and any other directory listings. They must match.
  • Organization — The parent type. Use this if the business has no customer-facing physical location.
  • PostalAddress — The structured address format used within LocalBusiness.
  • Place — The geographic parent type that provides location-related properties.