Consumer expectations around food delivery have shifted dramatically in the past three years. A 2025 survey by the National Restaurant Association found that 73% of diners now consult reviews or ratings before placing an order - and an increasing share specifically want to know about health and safety standing, not just star ratings or delivery speed. That demand is real, measurable, and growing. What's less clear to most product teams is how to surface health inspection data in a way that builds trust without creating legal exposure, UI clutter, or confusion from stale records.
This guide is written for product managers, mobile engineers, and growth teams at food delivery platforms who are ready to go beyond the star rating. Whether you are building this feature from scratch or refining an existing integration, the principles here will help you ship something defensible, useful, and consumer-trusted. If you're still evaluating how to get the underlying data, our step-by-step integration guide covers the technical implementation in detail.
Deciding What to Show - and What Not to Show
The first design decision most teams get wrong is defaulting to raw data. They pull in a public inspection report, dump a list of violation codes into a tooltip, and call it "transparency." In practice, raw violation codes are unintelligible to consumers. A violation coded as "04L - Evidence of mice or live mice present in facility's food and/or non-food areas" is terrifying in isolation but meaningless without context - was it corrected on the spot? Has it recurred? Was it from 2021?
The better approach is a normalized, weighted score alongside a plain-language summary of the most significant recent violations. A score of 72 (Grade B) combined with "1 critical violation corrected on-site at last inspection" tells the consumer everything they need to make a decision, without requiring them to decode government inspection terminology.
Score vs. Raw Violations: When to Use Each
Use the normalized score (0-100) as the primary signal in all list views, map views, and restaurant cards. The score is a single, immediately legible number. Use violation summaries in the expanded restaurant detail view, where a consumer has already decided they're interested and wants more information before committing.
Avoid showing raw violation codes to consumers at all. If you want to be transparent about source data, link to the official health department report. That approach is both more credible ("straight from the government") and legally cleaner than you paraphrasing inspection findings.
Grade Badge Design Patterns
Color-coded letter grades are the most recognizable pattern - NYC pioneered it with physical restaurant window grades, and it maps directly to the A/B/C/F scoring system used by the FoodSafe Score API. The key design rules are:
85-100: Strong record. Critical violations rare or absent. Safe to display prominently.
70-84: Acceptable. Minor or corrected violations. Display with neutral copy.
50-69: Below average. Consider adding a brief note to review-level detail.
0-49: Serious violations on record. Display cautiously with source attribution.
Keep the badge small in list contexts - a 28-32px square badge tucked near the restaurant name is sufficient. It should be visible but not the loudest element on the card. In expanded restaurant detail views, you can increase it to 48px or add a full score bar (0-100 scale with color gradient).
Data Freshness and Staleness Handling
Restaurant health inspections happen on an irregular cadence. Depending on the jurisdiction and the restaurant's risk category, a given location might be inspected once per year or four times per year. A restaurant that scored 91 at its last inspection 18 months ago is not the same data-quality story as a restaurant that scored 91 at an inspection three weeks ago.
Most delivery apps ignore this distinction entirely. That's a mistake - both from a consumer trust standpoint and a liability standpoint. Displaying an outdated score as if it's current is misleading, and consumers who later discover the restaurant had subsequent violations will lose trust in your platform's safety signals.
Practical Freshness Tiers
| Days Since Last Inspection | Recommended Display | Confidence Label |
|---|---|---|
| 0 - 180 days | Show score prominently with grade badge | "Recent inspection" or omit label |
| 181 - 365 days | Show score with subtle recency note | "Inspected X months ago" |
| 366 - 548 days (18 months) | Show score with visible staleness warning | "Score may not reflect current conditions" |
| 549+ days | Hide score or replace with "Inspection data unavailable" | N/A - do not display |
The "inspected X months ago" pattern is user-friendly because it's factual and non-alarmist. "Score may be outdated" is appropriate at the 12-18 month mark. Beyond 18 months, the data is stale enough that displaying a specific score number may be more misleading than helpful - a generic unavailability message is safer.
You should also consider displaying a trend indicator when you have multiple inspection records. A restaurant with a 78 today but a history of 65, 70, 74, 78 over four inspections is a meaningfully different risk profile than one with 91, 88, 82, 78 over the same period. The directional trend - improving vs. declining - is a signal that supplements the point-in-time score.
Handling Missing Data
Not every restaurant on your platform will have a health inspection score available. This is normal and you should design for it explicitly rather than leaving blank spaces or throwing UI errors.
New Restaurants With No Inspection History
A restaurant that opened 60 days ago likely has not yet been inspected. In most jurisdictions, initial inspections happen within 30-90 days of opening, but this varies. Display a "No inspection on record yet" state with copy like "This restaurant opened recently and has not yet been inspected by the health department." This is accurate, sets expectations, and does not imply the restaurant is unsafe.
Uncovered Jurisdictions
Even a broad health inspection data provider does not cover every county in the US. Rural jurisdictions, smaller cities, and certain state-run systems may not be available. Rather than showing nothing (which looks broken), display "Health inspection data not available in this area" and optionally link to the relevant state or county health department website for consumers who want to look it up manually.
Closed-Then-Reopened Restaurants
This is one of the trickier edge cases. A restaurant that closed for six months, underwent ownership changes, and then reopened under the same business name has a complicated inspection history. Pre-closure violations may not reflect the current operation at all. The safest practice is to treat any restaurant with a gap of more than 12 months in its operating record as a new entity for display purposes - fall back to "Recently reopened - new inspection pending" rather than showing historical scores from a previous operator.
Legal Considerations
Displaying public health inspection data is generally protected activity in the United States - these are government records, and summarizing or displaying them is typically protected by the First Amendment. However, "generally protected" is not the same as "risk-free." There are specific practices that meaningfully reduce your exposure.
Defamation Risk When Displaying Low Scores
A restaurant with a score of 22 and an "F" grade displayed prominently on your platform could argue that the display is defamatory if the underlying data is inaccurate or outdated. To reduce this risk: always display the source inspection date, always link to or attribute the original government data source, and avoid adding editorial commentary beyond the score itself. The data speaks for itself - you don't need to add "This restaurant is unsafe" copy above an F-grade badge.
Hedging Language That Actually Helps
A single line of attribution text near the score display reduces most legal risk and also increases consumer trust. Phrases like "Based on official health department inspection records" or "Score derived from public government inspection data as of [date]" are factual, non-editorial, and clearly attribute the source. This matters in any dispute - you're displaying government data, not making an independent judgment.
Linking to Source Data
Wherever technically feasible, include a "View official report" link that takes consumers to the original health department record. This demonstrates good faith, increases transparency, and makes it extremely difficult for a restaurant to claim you misrepresented their inspection results - because the consumer can go verify it themselves from the government source.
Opt-Out Requests From Restaurants
Occasionally a restaurant will contact your support team asking you to remove or suppress their health inspection score. This is their right to ask, but you have no legal obligation to comply with requests to suppress accurate public record data. You should have a written policy prepared before this situation arises. A reasonable policy: "We display publicly available government health inspection records. We do not suppress, modify, or remove factual public records at individual business request." That said, if a restaurant believes the underlying government data is incorrect, direct them to file a correction with their local health department - that's the appropriate channel.
UX Patterns That Work
The delivery app context is visually competitive - restaurant cards already juggle cuisine type, delivery time, minimum order, promotions, and star ratings. Health score needs to earn its place without dominating the card. The patterns that have worked best in similar contexts:
Score Badge on Restaurant Card
A 28-32px letter-grade badge placed adjacent to the restaurant name or star rating cluster is the lightest-weight implementation. It adds meaningful signal without restructuring the card layout. Color-coding (green A, yellow B, orange C, red F) gives consumers instant visual parsing. Add a tooltip on hover/tap: "Health grade: A (Score 91/100) - Based on official health department inspection, Jan 2026."
Expanded View With Violation Summary
When a consumer taps through to a restaurant detail page, show the full score alongside a plain-language summary of the last inspection: number of critical violations, number corrected on-site, and a brief description of the most significant violation if one exists. Keep this section collapsible or in a secondary tab - most consumers won't read it, but those who want it should find it easily.
Trend Indicator
A small upward or downward arrow next to the score, with a tooltip explaining the direction ("Score improved from 74 to 88 over the last 2 inspections"), adds meaningful context without visual complexity. This is particularly valuable for restaurants that have had problems in the past but have visibly improved - they deserve credit for remediation.
Trust Copy
Never assume consumers know where the score comes from. A one-line attribution near the score display - "Scores sourced from official health department inspections" - consistently improves consumer confidence in the data. In A/B tests run by consumer apps in adjacent categories (pharmacy ratings, hospital quality scores), attribution copy increased trust metrics by 15-25% compared to showing an unlabeled score.
Filtering and Search Integration
Once health score data is available in your system, it unlocks several filter and search features that a meaningful segment of your users will actively use.
"Only Show Grade A Restaurants" Filter
A single-toggle filter labeled "Grade A only" or "High health rating" is the simplest implementation and will be used by a predictable segment of safety-conscious consumers - parents ordering for children, immunocompromised individuals, and generally health-aware diners. Research from the food delivery category suggests 15-22% of regular users would apply this filter at least occasionally if it were available.
Sorting by Health Score
Adding "Sort by: Health Score" as an option in your sort menu is low-effort and high-value. Consumers who explicitly sort by health score are highly engaged and typically have above-average order values - they're not price-optimizing, they're quality-optimizing. This is a feature that signals platform quality to exactly the users you want to retain.
Map View Integration
If your app has a map view, color-coding pins by health grade (green/yellow/orange/red) creates an at-a-glance safety overview of a neighborhood. This is particularly useful for business meal orders, where the person ordering for a group wants to quickly identify high-confidence options within a delivery radius.
Communicating Value to Consumers
There is a temptation to over-engineer the rollout of food safety features - to build elaborate violation breakdowns, historical trend charts, and comparison tools before shipping anything. Resist it. The most important thing is to ship the badge.
Consumer research consistently shows that simple visual cues (a colored letter grade) drive order behavior changes more effectively than detailed inspection reports. A/B tests on restaurant-facing display apps in NYC (where physical letter grades are mandatory in windows) found that moving from no grade display to a grade badge changed ordering patterns at Grade C and F restaurants by 20-35%. The badge alone captures most of the behavioral signal.
Once the badge is live and you have consumer engagement data, you can make data-driven decisions about which additional features (violation summaries, trend indicators, filters) drive the most incremental value for your specific user base. Start with the score badge, measure, and iterate.
The delivery platforms that will win on food safety transparency are not the ones with the most detailed inspection breakdowns. They're the ones that made the grade badge load in under 100ms and placed it somewhere consumers actually look.
Putting It All Together
Integrating food safety data into a delivery app is a feature that touches product, design, engineering, legal, and consumer trust simultaneously. The teams that ship it well do three things consistently: they use normalized scores instead of raw data, they handle staleness and missing data explicitly rather than ignoring it, and they attribute every score to its government source.
The underlying data problem - aggregating and normalizing inspection records across hundreds of US jurisdictions with incompatible formats - is substantial. The step-by-step integration guide covers how to get clean, normalized data via API rather than building raw data pipelines yourself. For a deeper look at the build-vs-buy economics, see our build vs buy analysis.
FoodSafe Score API delivers a single normalized 0-100 score per restaurant, current across all major US jurisdictions, with inspection date, grade, and violation summary included in every response. That's the foundation on which all of the UX patterns described in this guide can be built - without spending a quarter managing scrapers.