SoftwareApplication Schema: The Complete Guide to App Rich Results
Understand with AI
Discuss with your preferred AI assistant
Listings with star ratings and price tend to attract meaningfully more clicks than plain blue links.
The generator builds valid SoftwareApplication JSON-LD in under a minute — no code required.
You only need ONE of offers or aggregateRating to be eligible for the app rich result.
If you publish software — a web app, a mobile app, a desktop tool, or a game — SoftwareApplication structured data is how you tell Google what it is, what it costs, and how well people rate it. Done right, it can earn an app rich result in search: a star rating, a price, and the category, displayed directly in the SERP.
This guide explains what SoftwareApplication schema is, the exact properties Google needs, how to validate it, and the mistakes that quietly disqualify your markup. Everything below maps to the fields in the generator above.
What Is SoftwareApplication Schema?
SoftwareApplication is a schema.org type that describes a piece of software using JSON-LD — a small block of structured data you paste into your page's <head>. Search engines read it to understand the entity behind the page instead of guessing from your copy.
Schema.org defines three more specific subtypes you should prefer when they fit: WebApplication for browser-based products, MobileApplication for iOS/Android apps, and VideoGame for games. Using the precise type signals intent more clearly than the generic SoftwareApplication and keeps you eligible for the same rich result.
Why Software App Schema Matters for SEO
Star ratings and price are the two elements most likely to lift your click-through rate. A listing showing "4.8 ★ · Free" stands out against plain blue links, and richer SERP features increasingly feed AI Overviews and assistant answers. Structured data is also the cleanest way to establish your app as a known entity in Google's Knowledge Graph — which compounds over time as you add reviews, versions, and links.
The Properties Google Needs
Google's software-app guidelines require a small core and reward a longer tail of optional detail. At minimum you need a name, plus either an offers object or an aggregateRating (a single review also works). Without one of those two, the markup is valid schema.org but ineligible for the app rich result.
- name — the app's name exactly as you market it. Required.
- applicationCategory — a category such as BusinessApplication, GameApplication, or ProductivityApplication. Strongly recommended.
- operatingSystem — the platforms it runs on (e.g. "Web, Windows, macOS, iOS, Android").
- offers — an Offer with price and priceCurrency. Use price "0" for a free app.
- aggregateRating — ratingValue, reviewCount, and the rating scale (bestRating / worstRating).
Useful optional properties include description, image (the icon), screenshot, softwareVersion, fileSize, datePublished, author (the developer/publisher), downloadUrl, featureList, and hardware requirements like memoryRequirements and processorRequirements.
Offers and AggregateRating Rules
The two rich-result triggers have strict shapes:
| Property | Requirement |
|---|---|
| offers.price | A number. "0" for free apps; never include the currency symbol here. |
| offers.priceCurrency | A 3-letter ISO 4217 code (USD, EUR, GBP, INR…). |
| aggregateRating.ratingValue | A number between worstRating and bestRating. |
| aggregateRating.reviewCount | A whole number of at least 1 — the genuine count of reviews. |
Critically, every rating you publish must reflect real, user-visible reviews on the same page. Inventing a 5.0 with 9,999 reviews is a structured-data spam violation and risks a manual action.
How to Add SoftwareApplication Schema, Step by Step
1. Pick the most specific type
Choose WebApplication, MobileApplication, or VideoGame when one applies; otherwise use SoftwareApplication. The type is the @type value in your JSON-LD.
2. Fill the required core
Add the name, category, and operating system, then attach an offers block (free apps use "0") and an aggregateRating drawn from your real reviews.
3. Enrich with optional fields
Add a description, icon, screenshots, version, developer, and feature list. These don't trigger the rich result on their own, but they strengthen the entity and help AI surfaces summarise your app accurately.
4. Paste it into the page
Drop the generated <script type="application/ld+json"> block into the <head> of the page that describes the app — the same page a searcher would land on.
5. Validate before you ship
Run the URL through Google's Rich Results Test and the Schema.org validator. Fix every error and review the warnings; warnings won't block eligibility but often point at missing best-practice fields.
Common SoftwareApplication Schema Mistakes
- No offers and no aggregateRating — the single most common reason an app result never appears.
- Currency symbols in price — use "0" or "9.99", not "$9.99"; the currency goes in priceCurrency.
- Ratings that don't match the page — the reviews must be visible to users, not fabricated.
- Markup on the wrong page — schema belongs on the app's own page, not your generic homepage.
- Relative image URLs — icon and screenshot URLs must be absolute https links.
Expert Tips
Use the most specific @type
Web tools should use WebApplication, store apps MobileApplication, and games VideoGame. The precise subtype signals intent more clearly than generic SoftwareApplication while keeping the same eligibility.
Always validate before shipping
Paste the markup into your <head>, then run the page through Google’s Rich Results Test and the Schema.org validator. Clear every error and review warnings — they flag missing best-practice fields.
Frequently Asked Questions
What is SoftwareApplication schema?
It's a schema.org JSON-LD type that describes an app — its name, category, operating system, price, and rating — so search engines understand it as an entity and can show an app rich result with stars and price in search.
What does SoftwareApplication schema require?
At minimum a name, plus either an offers object (price + priceCurrency) or an aggregateRating (ratingValue + reviewCount). Category and operating system are strongly recommended, and many optional fields like version, screenshots, and feature list strengthen the markup.
Should I use WebApplication or MobileApplication instead?
Yes, when they fit. WebApplication, MobileApplication, and VideoGame are subtypes of SoftwareApplication. Using the most specific type that describes your product is clearer for search engines and keeps you eligible for the same rich result.
How do I mark a free app's price?
Set offers.price to "0" and still include priceCurrency (for example "USD"). A free app must use "0" rather than omitting the price, so the offer remains valid and eligible for the rich result.