SoftwareApplication structured data for app pages
The schema.org SoftwareApplication type describes a downloadable or web-based app. Adding it to product, download, or app-store-style pages lets search engines surface the price, supported platforms, and a star rating directly in results. This builder assembles a valid block from a handful of fields and omits anything you leave empty.
How it works
The output sets @type to SoftwareApplication and fills name, applicationCategory, and operatingSystem from your inputs. Pricing becomes a nested offers object (@type: Offer) with price and priceCurrency. Ratings become a nested aggregateRating object (@type: AggregateRating) carrying ratingValue and ratingCount — included only when both are present and the count is greater than zero. A screenshot URL maps to the screenshot property. Numbers are emitted as numeric JSON values, not strings, which is what schema.org expects.
Tips and example
Common applicationCategory values include GameApplication, BusinessApplication, UtilitiesApplication, and DeveloperApplication. A completed block looks like this:
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Gera Tools",
"applicationCategory": "UtilitiesApplication",
"operatingSystem": "Web, iOS, Android",
"offers": {
"@type": "Offer",
"price": 0,
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.8,
"ratingCount": 1240
},
"screenshot": "https://example.com/screenshot.png"
}
Only include aggregateRating if real reviews are visible on the page — fabricated ratings violate search guidelines.
What SoftwareApplication schema does in practice
Unlike Product or Article schema, SoftwareApplication rich results are relatively rare in standard Google Search but appear consistently in other contexts:
- Bing surfaces app-style rich results with rating stars and price for pages carrying this markup.
- Google Search features for apps can display pricing and ratings in mobile search results, particularly when the app has an associated Play Store or App Store listing.
- AI assistants and structured knowledge sources read the markup when answering questions like “is [app name] free?” or “what platforms does [app] support?”
Even when no rich result is shown in regular blue-link search, the markup provides machine-readable answers that can appear in voice, chatbot, or aggregated app directory responses.
applicationCategory — recommended values
Schema.org defines a set of commonly accepted applicationCategory strings. While the field is technically free-text, using a recognised value improves how engines classify your app:
| Value | Appropriate for |
|---|---|
GameApplication | Video games, mobile games |
BusinessApplication | CRM, accounting, productivity tools |
UtilitiesApplication | System tools, converters, formatters |
DeveloperApplication | IDEs, API tools, database clients |
EducationalApplication | Learning platforms, flashcard apps |
SecurityApplication | VPNs, password managers, antivirus |
SocialNetworkingApplication | Community and messaging platforms |
Marking a free app correctly
A free app should still include the offers block with "price": 0. Omitting offers entirely leaves the price ambiguous. A price of 0 explicitly signals “free” to search engines and aggregators.
For freemium apps — free with optional paid tiers — the convention is to mark the base price as 0 and describe the paid features in the description field. There is no standard schema property for in-app purchases, though additionalProperty can be used for non-standard metadata.
operatingSystem format
The field is a free-text string. Common values that search engines recognise:
Web(for web apps and PWAs)Windows,macOS,LinuxAndroid,iOS- Comma-separated combinations:
"Windows, macOS, Linux"
Be accurate. Listing iOS for an app that is not on the App Store creates a mismatch between the markup and what users find when they follow links.