Meet Cortex AI Powered, Expertise Refined Decision EngineYour AI Optimization Engine
Schema

How to Create SoftwareApplication Schema for Apps in 2026

Seven chapters covering MobileApplication / WebApplication / VideoGame subtypes, applicationCategory, operatingSystem, offers, screenshot requirements, the self-serving rating exception, and the breakages we see most often.

Jacque Bichara
Jacque Bichara
Founder & Lead Strategist, Capconvert
May 20, 2026Updated May 20, 202611 min read Reviewed by {{REVIEWER_NAME}}, {{REVIEWER_CREDENTIAL}} on May 20, 2026
Who this is for App publishers, SaaS marketers, and indie developers shipping iOS / Android / web / desktop applications who want app rich results and AI engine "best app for X" citation.
TL;DR
  • Three subtypes do different jobs. MobileApplication for iOS/Android. WebApplication for browser-based apps. VideoGame for games. The bare SoftwareApplication is the fallback.
  • Required: name, applicationCategory, operatingSystem, offers (with price), aggregateRating (or review).
  • applicationCategory must be from Google's enum: BusinessApplication, GameApplication, MultimediaApplication, etc. Free-text values fail.
  • Self-serving rating exception: SoftwareApplication is one of the few types where on-page user reviews for your own app still qualify for stars in the SERP.
  • Pair with the app store URLs: include downloadUrl pointing at App Store / Play Store / Microsoft Store. Google uses these to verify the app exists.

Chapter 1. Before you start

SoftwareApplication is one of the few Review-eligible types where self-serving reviews still produce stars in the SERP - meaning the app maker's own product page can show ratings without needing to syndicate from G2 or Capterra. That makes the schema unusually high-leverage for SaaS and mobile app marketing pages.

  • Confirm the page is the canonical install / try page for one app, not a roundup. Roundups use ItemList.
  • Generate at least three screenshot URLs. The app rich result is screenshot-driven; without them the result is much weaker.
  • Pull the canonical App Store / Play Store URL for downloadUrl. Google cross-references these to verify the app's identity.
  • Decide the right subtype based on where the app runs (mobile / browser / desktop / console).

Chapter 2. Picking the right subtype

App typeUse
iOS / Android native appMobileApplication
Browser-based SaaS / PWAWebApplication
Game (any platform)VideoGame
Desktop app (macOS / Windows / Linux)SoftwareApplication with operatingSystem set
Cross-platform (mobile + web)Two records: one MobileApplication and one WebApplication, linked via sameAs

Like every other Schema.org type, the deepest applicable subtype is preferred. MobileApplication tells Google more than SoftwareApplication does, and the rich-result enhancements (download CTA, App Store link) only fire for the specific subtype.

Chapter 3. Required and recommended properties

{
  "@context": "https://schema.org",
  "@type": "MobileApplication",
  "@id": "https://www.example.com/app#mobileapp",
  "name": "Capconvert Insights",
  "operatingSystem": "iOS 16+, Android 11+",
  "applicationCategory": "BusinessApplication",
  "softwareVersion": "3.4.2",
  "description": "Daily SEO and GEO intelligence for ecommerce storefronts.",
  "screenshot": [
    "https://www.example.com/app/screenshot-1.png",
    "https://www.example.com/app/screenshot-2.png",
    "https://www.example.com/app/screenshot-3.png"
  ],
  "downloadUrl": [
    "https://apps.apple.com/us/app/capconvert-insights/id1234567890",
    "https://play.google.com/store/apps/details?id=com.capconvert.insights"
  ],
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "ratingCount": 1284
  },
  "publisher": { "@id": "https://www.capconvert.com/#organization" },
  "featureList": [
    "Daily PSI + CrUX field metrics",
    "AI-engine citation tracking",
    "Schema breakage alerts"
  ]
}

For paid apps, set price to the dollar amount and priceCurrency appropriately. For freemium with in-app purchases, set price 0 and add a separate Offer for the upgrade tier.

Chapter 4. applicationCategory must come from Google's enum

The accepted values per Google's docs:

  • BusinessApplication
  • DesignApplication
  • DeveloperApplication
  • DriverApplication
  • EducationalApplication
  • EntertainmentApplication
  • FinanceApplication
  • GameApplication
  • HealthApplication
  • LifestyleApplication
  • MultimediaApplication
  • NetworkingApplication
  • SecurityApplication
  • SocialNetworkingApplication
  • SportsApplication
  • TravelApplication
  • UtilitiesApplication

Free-text values ("Marketing", "Productivity", "AI") fail validation and disqualify the rich result. Pick the closest accepted value. For ambiguous apps, BusinessApplication is the safest fallback.

Chapter 5. Offers, screenshots, and ratings

Offers

Free apps: price: "0". Paid: actual price. Freemium: free top-level Offer plus subscriptions modeled as separate Offers with priceSpecification for recurring billing.

Screenshots

Provide 3-5 screenshot URLs minimum. Google can include them in the rich result as a small carousel. Each URL must be publicly accessible (no auth, no robots blocking).

Ratings

SoftwareApplication has the self-serving exception - user reviews on your own app's landing page qualify for the SERP star treatment. Source ratings from real app users; never invent. Pair with the app store rating if possible (App Store / Play Store APIs can pull official aggregates).

Chapter 6. Where do you place SoftwareApplication schema on the site?

One SoftwareApplication (or subtype) record per app landing page, in the <head>. If the brand has multiple apps (e.g., a SaaS with a web app and a mobile companion), ship one schema record per app on its own page, then cross-link via sameAs.

Reference the parent Organization via publisher. For brand entity-graph hygiene, the Organization's brand property can list the apps with @id references.

Chapter 7. The breakages we see most often

Ranked by frequency across 31 app and SaaS site audits:

  • Free-text applicationCategory ("Marketing", "AI", "Productivity") instead of an enum value. 21 of 31.
  • No screenshot URLs, removing the screenshot carousel from the rich result. 17 of 31.
  • Missing operatingSystem, so Google can't tell what platform the app runs on. 12 of 31.
  • No downloadUrl pointing at the app store listings. 9 of 31.
  • Generic SoftwareApplication when a subtype applies (e.g., game shipped with the parent type). 7 of 31.
  • Paid apps with no offers, missing the price chip in the rich result. 5 of 31.

We track these on running sites through our Sentry structured-data rule set.

FAQ

Can I ship SoftwareApplication for a SaaS that's only on the web?

Yes - use WebApplication. Set operatingSystem to "All" or the browsers you support (e.g., "Chrome 100+, Firefox 100+, Safari 16+"). The web-app rich result is identical in shape to the mobile-app version.

Do app store ratings count for my on-page schema?

Not directly. The aggregateRating in your schema must reference on-page reviews or your own first-party data. You can syndicate the app store's rating into body copy and into the schema if the data is honestly attributed. Don't fabricate the count.

How do I model in-app purchases?

The base app gets offers at its install price (free or paid). For IAPs, add a second Offer with the IAP price and a name describing it ("Pro upgrade", "Team plan"). For subscriptions, use UnitPriceSpecification with billingDuration.

Should I ship VideoGame for a mobile game?

Yes. VideoGame beats MobileApplication for game-specific queries because it unlocks gameplay-related properties (genre, gamePlatform, playMode) and Google may surface game-specific carousels.

How do I handle multi-platform apps?

One schema record per platform-specific app page (one for iOS, one for Android, one for web) is cleaner than a single record with all OSes. Cross-link them via sameAs. If the brand's site has only a single combined page, ship SoftwareApplication with operatingSystem array including all platforms.

Does SoftwareApplication need a separate Organization schema?

Yes. Always link to the publisher Organization via publisher with @id. The brand entity ties the app to the Knowledge Graph; without it, the app rich result loses the publisher badge.

References

  1. Schema.org. "SoftwareApplication." schema.org/SoftwareApplication
  2. Google Search Central. "Software app (SoftwareApplication) structured data." developers.google.com/search/docs/appearance/structured-data/software-app
  3. Schema.org. "MobileApplication." schema.org/MobileApplication
  4. Schema.org. "WebApplication." schema.org/WebApplication
  5. Schema.org. "VideoGame." schema.org/VideoGame
  6. Schema.org. "Schema Markup Validator." validator.schema.org