---
title: "SoftwareApplication Schema - JSON-LD Guide & Examples · Unhead"
meta:
  "og:description": "Implement SoftwareApplication structured data with Unhead. JSON-LD examples for app listings, ratings, pricing, and Google rich results."
  "og:title": "SoftwareApplication Schema - JSON-LD Guide & Examples · Unhead"
  description: "Implement SoftwareApplication structured data with Unhead. JSON-LD examples for app listings, ratings, pricing, and Google rich results."
---

**Schema**

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

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

Last updated **Mar 5, 2026** by [Harlan Wilton](https://github.com/harlan-zw) in [docs: improve SEO for schema.org pages, overview, and React Helmet migration (#675)](https://github.com/unjs/unhead/pull/675).

**On this page **

- [JSON-LD Example](#json-ld-example)
- [Schema.org SoftwareApp](#schemaorg-softwareapp)
- [Useful Links](#useful-links)
- [Example](#example)
- [Types](#types)
- [Related Schemas](#related-schemas)

SoftwareApplication schema describes a software product with its features, pricing, ratings, and platform compatibility. It enables rich result display in Google Search with star ratings and pricing information.

### [JSON-LD Example](#json-ld-example)

```
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Photo Editor Pro",
  "operatingSystem": "Windows, macOS",
  "applicationCategory": "DesignApplication",
  "offers": {
    "@type": "Offer",
    "price": "9.99",
    "priceCurrency": "USD"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "ratingCount": 1250
  }
}
```

With Unhead, generate this using the `defineSoftwareApp()` composable — see the [**API reference**](#schema-org-softwareapp) below.

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

## [Schema.org SoftwareApp](#schemaorg-softwareapp)

- **Type**: `defineSoftwareApp(input?: SoftwareApp)`Describes a SoftwareApp.

## [Useful Links](#useful-links)

- [**Schema.org SoftwareApp**](https://schema.org/SoftwareApp)
- [**SoftwareApp Schema Markup - Google Search Central**](https://developers.google.com/search/docs/advanced/structured-data/software-app)

🔨 Documentation in development

## [Example](#example)

```
defineSoftwareApp({
  name: 'Angry Birds',
  operatingSystem: 'ANDROID',
  applicationCategory: 'GameApplication',
  aggregateRating: {
    ratingValue: '4.6',
    ratingCount: 8864,
  },
  offers: {
    price: '1.00',
    priceCurrency: 'USD',
  },
})
```

## [Types](#types)

```
type ApplicationCategory
  = 'GameApplication'
    | 'SocialNetworkingApplication'
    | 'TravelApplication'
    | 'ShoppingApplication'
    | 'SportsApplication'
    | 'LifestyleApplication'
    | 'BusinessApplication'
    | 'DesignApplication'
    | 'DeveloperApplication'
    | 'DriverApplication'
    | 'EducationalApplication'
    | 'HealthApplication'
    | 'FinanceApplication'
    | 'SecurityApplication'
    | 'BrowserApplication'
    | 'CommunicationApplication'
    | 'DesktopEnhancementApplication'
    | 'EntertainmentApplication'
    | 'MultimediaApplication'
    | 'HomeApplication'
    | 'UtilitiesApplication'
    | 'ReferenceApplication'

export interface SoftwareAppSimple extends Thing {
  '@type'?: Arrayable<'SoftwareApplication' | 'MobileApplication' | 'VideoGame' | 'WebApplication'>
  /**
   * The name of the app.
   */
  'name'?: string
  /**
   * An offer to sell the app.
   * For developers, offers can indicate the marketplaces that carry the application.
   * For marketplaces, use offers to indicate the price of the app for a specific app instance.
   */
  'offers': NodeRelations<Offer>
  /**
   * The average review score of the app.
   */
  'aggregateRating'?: NodeRelation<AggregateRating>
  /**
   * A single review of the app.
   */
  'review'?: NodeRelation<Review>
  /**
   * The type of app (for example, BusinessApplication or GameApplication). The value must be a supported app type.
   */
  'applicationCategory'?: ApplicationCategory
  /**
   * The operating system(s) required to use the app (for example, Windows 7, OSX 10.6, Android 1.6)
   */
  'operatingSystem'?: string
  /**
   * A description of the app.
   */
  'description'?: string
  /**
   * URL to download the app.
   */
  'downloadUrl'?: string
  /**
   * The version of the app.
   */
  'softwareVersion'?: string
  /**
   * A list of features offered by the app.
   */
  'featureList'?: string[]
}
```

## [Related Schemas](#related-schemas)

- [**Organization**](https://unhead.unjs.io/docs/schema-org/api/schema/organization) - App developer/publisher
- [**Person**](https://unhead.unjs.io/docs/schema-org/api/schema/person) - App author

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

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

**Did this page help you? **

[**Service Schema** Use defineService() to add Service structured data. Display service offerings with pricing, provider info, and reviews in search results.](https://unhead.unjs.io/docs/schema-org/api/schema/service) [**TV Episode Schema** Use defineTVEpisode() to add TVEpisode structured data. Enable rich results for TV episodes with cast, director, and ratings info.](https://unhead.unjs.io/docs/schema-org/api/schema/tv-episode)

**On this page **

- [JSON-LD Example](#json-ld-example)
- [Schema.org SoftwareApp](#schemaorg-softwareapp)
- [Useful Links](#useful-links)
- [Example](#example)
- [Types](#types)
- [Related Schemas](#related-schemas)