LocalBusiness schema: a copyable example, and what gets you named in your city

The LocalBusiness JSON-LD block to paste, the subtype to pick, and the local work that puts your name in an assistant's city recommendation.

Published by AI Knows Us · Updated 12 October 2026

LocalBusiness schema is a JSON-LD block that describes one place customers can visit: its name, street address, phone number, coordinates, opening hours and price range. Write one block per location, put it on that location's own page, use the most specific subtype that fits your trade, and keep every value identical to what a visitor reads on the page. That makes your details machine readable everywhere at once. The names an assistant reaches for when somebody asks for the best option in a city come from three more places, and this page covers all of them: your Google Business Profile, your reviews, and the third party lists those engines quote.

Last verified: 08 October 2026

A copyable example

A working block for one clinic. Change the values, keep the structure.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "@id": "https://example.com/locations/indiranagar#localbusiness",
  "name": "Example Dental Indiranagar",
  "url": "https://example.com/locations/indiranagar",
  "image": "https://example.com/img/indiranagar-clinic.jpg",
  "telephone": "+91-80-4000-0000",
  "email": "indiranagar@example.com",
  "priceRange": "INR 500 to INR 15000",
  "paymentAccepted": "Cash, UPI, Credit Card",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12, 100 Feet Road, Indiranagar",
    "addressLocality": "Bengaluru",
    "addressRegion": "KA",
    "postalCode": "560038",
    "addressCountry": "IN"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 12.9719,
    "longitude": 77.6412
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "09:30",
      "closes": "19:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "09:30",
      "closes": "14:00"
    }
  ],
  "areaServed": { "@type": "City", "name": "Bengaluru" },
  "parentOrganization": { "@id": "https://example.com/#organization" }
}
</script>

Use the most specific subtype

LocalBusiness is a subtype of Organization, and has subtypes of its own. The narrower the type, the more it tells a machine, so pick the one that fits your trade exactly.

BusinessType to use
Dental clinicDentist
Law firm or advocateLegalService, or Attorney
Restaurant or cafeRestaurant, or CafeOrCoffeeShop
Retail shopStore, or a narrower one such as ClothingStore
Clinic or diagnostic centreMedicalClinic
Plumber, electrician, contractorPlumber, Electrician, or HomeAndConstructionBusiness
Gym or studioSportsActivityLocation, or HealthAndBeautyBusiness
Accountant or consultancy with an officeAccountingService, or ProfessionalService
Any other visitable addressLocalBusiness

The fields that carry the weight

  • name, address, telephone. Match your signage, footer, contact page and Google Business Profile character for character. Getting those four to agree is the highest value edit here.
  • image. A real photo of the place, on a URL that returns 200 to an anonymous request. Google's local business documentation lists the required and recommended properties, so keep it open as you work.
  • openingHoursSpecification. Use this rather than the older openingHours string, in 24 hour times. Add holiday hours as a separate entry with validFrom and validThrough.
  • geo. Take the coordinates from your map pin.
  • @id and parentOrganization. Give each location a stable id and point it at your company level Organization id. That line tells a machine the branch and the company are one business. See how structured data affects whether AI quotes you.
  • aggregateRating. Include it once real customer reviews are collected and shown on that page. Google's review snippet guidance covers self serving reviews, so keep the field tied to genuine ones.

Two rules make the markup count. Everything in it is also readable by a human on the page, and the block sits in the HTML your server returns, not in a tag manager.

Several locations

One page per location, one block per page, each with its own @id, address, coordinates and hours. The home page keeps the company level Organization block, and branches hang off it through parentOrganization. When you add a branch, change every field, coordinates included.

What the markup does for AI search

It gives every engine one parseable statement of your name, place, hours and contact route, and connects a branch to its parent company. When an assistant describes your business, it works from facts that agree with each other. It is also a single file edit you can verify in minutes. Technical GEO setup covers the rest of the plumbing.

What gets you named in your city

A city recommendation is assembled from map results, review sites and third party lists. Here is the work that puts you in each, in the order that pays off fastest.

  1. Claim and complete your Google Business Profile. It is the primary place Google expects local business information to be managed. Correct category, current hours, real photos.
  2. Make your details identical everywhere. Name, address and phone the same on your site, your profile and every directory that lists you. Tracking down one old number does more than any markup change.
  3. Build reviews on the sites engines read. Recency, specificity and your replies carry further than raw volume. Ask after the service, and answer critical ones in public. See reviews and directories in India.
  4. Get onto the third party lists assistants quote. Roundups, directories and local publications are what a "best in city" answer cites. See getting into best of lists.
  5. Give each location a page worth quoting. Services, prices where you publish them, parking, the languages your staff speak. Specifics get quoted.
  6. Keep the crawlers reading you: see which AI crawlers to allow in robots.txt.

For the same work laid out for a service business, see local services.

How to confirm it is live

  1. Check the block against the vocabulary in the Schema Markup Validator at validator.schema.org.
  2. Run the page through Google's Rich Results Test.
  3. Fetch the page anonymously and confirm the ld+json block is in the response body.
  4. Open your image URL in a private window.
  5. Read your schema and your Google Business Profile side by side and settle every field where they differ.

Where AI Knows Us fits

AI Knows Us measures whether ChatGPT, Gemini, Perplexity, Claude and Google AI Overviews name a business when buyers ask, finds the reasons it is not named, then fixes them by writing pages and getting the business onto the sites those engines read. Every tracking question is asked without naming the business, because naming it primes the engine. A free scan needs no account.

The LocalBusiness schema questions worth an answer

Is LocalBusiness schema worth adding when I already have a Google Business Profile?

Yes, and they do different jobs. The profile is what Google works from for local results. The schema states the same facts in a form every engine reads. Complete the profile first, then add the block.

Which type should I use when my trade is not in the list?

Use plain LocalBusiness. Accurate and general beats specific and wrong. Check the subtype list on schema.org first, since the vocabulary is wider than most guides show.

I work from home and visit customers. What should I publish?

Describe the area you cover with areaServed, keep address to the city, and set your Google Business Profile up as a service area business so the two agree. Buyers then get a clear answer about where you work.

Can I include ratings in the block?

Include aggregateRating once you are collecting genuine customer reviews and showing them on that page. Google's review snippet guidance covers self serving reviews, so keep the field tied to real ones.

Will this get my business named when somebody asks an assistant for the best option in my city?

The schema puts your facts in machine readable form, which every other step builds on. The names in a city answer come from your profile, your reviews and the lists assistants quote, so work the six steps above and measure which sources the answers use. See how to measure AI visibility.

How often should I update the block?

Whenever the facts change. Add holiday hours as dated entries, and keep a dated comment in the template.

What to do first

Open your location page, your Google Business Profile and your schema block in three tabs and settle every field where any two differ. Then paste your city's buying question into one assistant without naming your business, and read which sources it used. That list is your next month of work.

Read next

Or browse the whole archive.

See what AI says about you.

The first scan is free, it needs no account, and it asks the questions your buyers ask.

Free. No card. We ask 5 real buyer questions on 2 AI apps.

Already sure you want this? Join the waitlist. We open on 31 October 2026. It costs an email address. No card, and nothing is charged. Or talk to a person if you have a question first. Or read how we fix what it finds.