---
title: "LocalBusiness Schema - JSON-LD Guide &amp; Examples · Unhead"
canonical_url: "https://unhead.unjs.io/docs/angular/schema-org/api/schema/local-business"
last_updated: "2026-07-22T05:18:42.060Z"
meta:
  description: "Implement LocalBusiness structured data with Unhead. See JSON-LD examples, core properties, and subtypes such as Dentist, Restaurant, and Store."
  "og:description": "Implement LocalBusiness structured data with Unhead. See JSON-LD examples, core properties, and subtypes such as Dentist, Restaurant, and Store."
  "og:title": "LocalBusiness Schema - JSON-LD Guide & Examples · Unhead"
---

Home

`
Unhead on GitHub

Switch to AngularSwitch to TypeScriptSwitch to VueSwitch to ReactSwitch to SvelteSwitch to Solid.jsSwitch to Nuxt

**Schema**

# **LocalBusiness Schema - JSON-LD Guide & Examples**

[Copy for LLMs](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/schema-org/5.api/9.schema/local-business.md)

[**~~LocalBusiness structured data~~**](https://developers.google.com/search/docs/appearance/structured-data/local-business) tells Google about a physical business location, including its name, address, opening hours, and services. A Google Business Profile is managed separately.

Use the most specific accurate subtype, such as `**Dentist**`, `**Restaurant**`, or `**ProfessionalService**`, rather than the generic `**LocalBusiness**` type.

## JSON-LD Example

```
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Dave's Steak House",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "148 W 51st St",
    "addressLocality": "New York",
    "addressRegion": "NY",
    "postalCode": "10019",
    "addressCountry": "US"
  },
  "telephone": "+12122459600",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "11:30",
      "closes": "23:00"
    }
  ]
}
```

Use the [**~~Schema.org Generator~~**](https://unhead.unjs.io/tools/schema-generator) to build your structured data visually.

## Schema.org LocalBusiness

**Type**: `defineLocalBusiness<T extends Record<string, any>>(input?: LocalBusiness & T)`

Describes a business that customers can visit. Use it for the business behind a website or on a page about a specific location.

## Useful Links

- [**~~LocalBusiness - Schema.org~~**](https://schema.org/LocalBusiness)
- [**~~Local Business Schema Markup - Google Search Central~~**](https://developers.google.com/search/docs/appearance/structured-data/local-business)
- [**~~Choose an Identity - LocalBusiness~~**](https://unhead.unjs.io/docs/schema-org/guides/recipes/identity#localbusiness)

## Google requirements

Google requires both `**name**` and `**address**` for a LocalBusiness rich result. The Unhead input type inherits `**name**` from Organization but leaves `**address**` optional, so the helper does not enforce this requirement.

- **name** `**string**`
  The name of the business.
- **address** `**NodeRelations<PostalAddress>**`: [**~~PostalAddress~~**](https://schema.org/PostalAddress)
  The physical address of the business.

## Recommended Properties

- **openingHoursSpecification** `**NodeRelations<OpeningHoursSpecification>**`: [**~~OpeningHoursSpecification~~**](https://schema.org/OpeningHoursSpecification)
  The specification for when the business is open.
- **paymentAccepted** `**string**`
  The methods of payment accepted by the business.

### Minimal Example

```
defineLocalBusiness({
  name: 'Harbor Dental',
  logo: '/logo.png',
  address: {
    addressCountry: 'Australia',
    postalCode: '2000',
    streetAddress: '123 st',
  },
  openingHoursSpecification: [
    {
      dayOfWeek: 'Saturday',
      opens: '09:30',
      closes: '13:30',
    },
    {
      dayOfWeek: ['Monday', 'Tuesday'],
      opens: '10:30',
      closes: '15:30',
    },
  ]
})
```

## Defaults

- **@type**: `**['Organization', 'LocalBusiness']**`
- **@id**: `**${canonicalHost}#identity**`
- **url**: `**${canonicalHost}**`
- **currenciesAccepted**: `**currency**` from resolved page metadata. See [**~~global options~~**](https://unhead.unjs.io/docs/schema-org/guides/core-concepts/params)

## Sub-Types

- `**AnimalShelter**`
- `**ArchiveOrganization**`
- `**AutomotiveBusiness**`
- `**ChildCare**`
- `**Dentist**`
- `**DryCleaningOrLaundry**`
- `**EmergencyService**`
- `**EmploymentAgency**`
- `**EntertainmentBusiness**`
- `**FinancialService**`
- `**FoodEstablishment**`
- `**GovernmentOffice**`
- `**HealthAndBeautyBusiness**`
- `**HomeAndConstructionBusiness**`
- `**InternetCafe**`
- `**LegalService**`
- `**Library**`
- `**LodgingBusiness**`
- `**MedicalBusiness**`
- `**ProfessionalService**`
- `**RadioStation**`
- `**RealEstateAgent**`
- `**RecyclingCenter**`
- `**SelfStorage**`
- `**ShoppingCenter**`
- `**SportsActivityLocation**`
- `**Store**`
- `**TelevisionStation**`
- `**TouristInformationCenter**`
- `**TravelAgency**`

## Resolves

See [**~~Global Resolves~~**](https://unhead.unjs.io/docs/schema-org/guides/get-started/overview#how-does-schemaorg-get-page-data) for full context.

- for the primary identity, a string `**logo**` creates a root ImageObject with the `**#logo**` ID and a compact Organization node with the absolute logo URL
- `**@type**` resolve: `**Dentist**` -> `**['Organization', 'LocalBusiness', 'Dentist']**`

## Types

```
type ValidLocalBusinessSubTypes = 'AnimalShelter'
  | 'ArchiveOrganization'
  | 'AutomotiveBusiness'
  | 'ChildCare'
  | 'Dentist'
  | 'DryCleaningOrLaundry'
  | 'EmergencyService'
  | 'EmploymentAgency'
  | 'EntertainmentBusiness'
  | 'FinancialService'
  | 'FoodEstablishment'
  | 'GovernmentOffice'
  | 'HealthAndBeautyBusiness'
  | 'HomeAndConstructionBusiness'
  | 'InternetCafe'
  | 'LegalService'
  | 'Library'
  | 'LodgingBusiness'
  | 'MedicalBusiness'
  | 'ProfessionalService'
  | 'RadioStation'
  | 'RealEstateAgent'
  | 'RecyclingCenter'
  | 'SelfStorage'
  | 'ShoppingCenter'
  | 'SportsActivityLocation'
  | 'Store'
  | 'TelevisionStation'
  | 'TouristInformationCenter'
  | 'TravelAgency'

export interface LocalBusinessSimple extends Organization {
  '@type'?: ['Organization', 'LocalBusiness'] | ['Organization', 'LocalBusiness', ValidLocalBusinessSubTypes] | ValidLocalBusinessSubTypes
  /**
   * The primary public telephone number of the business.
   */
  'telephone'?: string
  /**
   * The primary public email address of the business.
   */
  'email'?: string
  /**
   * The primary public fax number of the business.
   */
  'faxNumber'?: string
  /**
   * The price range of the business, represented by a string of dollar symbols (e.g., $, $$, or $$$ ).
   */
  'priceRange'?: string
  /**
   * An array of GeoShape, Place or string definitions.
   */
  'areaServed'?: unknown
  /**
   * A GeoCoordinates object.
   */
  'geo'?: unknown
  /**
   * The VAT ID of the business.
   */
  'vatID'?: string
  /**
   * The tax ID of the business.
   */
  'taxID'?: string
  /**
   * The currency accepted.
   */
  'currenciesAccepted'?: string
  /**
   * The methods of payment accepted by the business.
   */
  'paymentAccepted'?: string
  /**
   * The operating hours of the business.
   */
  'openingHoursSpecification'?: NodeRelations<OpeningHoursSpecification>
}
```

## Related Schemas

- [**~~Organization~~**](https://unhead.unjs.io/docs/schema-org/api/schema/organization): Parent organization
- [**~~Event~~**](https://unhead.unjs.io/docs/schema-org/api/schema/event): Business events
- [**~~Product~~**](https://unhead.unjs.io/docs/schema-org/api/schema/product): Products/services offered

[~~Edit this page~~](https://github.com/unjs/unhead/edit/main/docs/schema-org/5.api/9.schema/local-business.md)

[~~Markdown For LLMs~~](https://raw.githubusercontent.com/unjs/unhead/refs/heads/main/docs/schema-org/5.api/9.schema/local-business.md)

**Did this page help you? **

[**JobPosting** Implement JobPosting structured data with Unhead. JSON-LD examples, required fields for Google Jobs, salary markup, and validation tips.](https://unhead.unjs.io/docs/schema-org/api/schema/job-posting) [**Movie Schema** Use defineMovie() to add Movie structured data with ratings, cast, director, and release date.](https://unhead.unjs.io/docs/schema-org/api/schema/movie)

**On this page **

- [JSON-LD Example](#json-ld-example)
- [Schema.org LocalBusiness](#schemaorg-localbusiness)
- [Useful Links](#useful-links)
- [Google requirements](#google-requirements)
- [Recommended Properties](#recommended-properties)
- [Defaults](#defaults)
- [Sub-Types](#sub-types)
- [Resolves](#resolves)
- [Types](#types)
- [Related Schemas](#related-schemas)