Score Badges.
Embeddable SVG badges that display your latest scan score and grade. Drop them into your README, wiki, or any page that renders Markdown.
Badge URL format
Each badge is a dynamically generated SVG tied to a specific scan:
https://appvet.dev/badge/SCAN_ID.svg
Replace SCAN_ID with the ID of your scan (e.g.
scan_abc123).
Markdown snippet
Copy and paste this into your README to display a badge that links to the full report:
[](https://appvet.dev/report/SCAN_ID)
Badge states
| State | Appearance |
|---|---|
completed | Shows the scan type and grade with numeric score, color-coded by range (e.g. "AppVet Security | A- 84"). |
scanning | Gray badge reading "AppVet | scanning..." while the scan is in progress. |
failed | Red badge reading "AppVet | failed" when the scan could not complete. |
not found | Gray badge reading "AppVet | not found" when the scan ID does not exist. |
Score colors
The badge color reflects the score range so you can tell at a glance how healthy the site is:
| Score | Color | Example |
|---|---|---|
| 90 – 100 | Green | AppVet Security | A+ 96 |
| 70 – 89 | Teal | AppVet Perf | A- 84 |
| 50 – 69 | Orange | AppVet A11y | C 55 |
| Below 50 | Red | AppVet SEO | F 18 |
How to get the badge
- Open any completed scan report on appvet.dev.
- Click the Badge button in the report header.
- Copy the Markdown snippet from the popup.
- Paste it into your README or documentation.
Caching
Badge SVGs are served with a 1-hour public cache
(Cache-Control: public, max-age=3600). After you re-scan,
the badge will update within an hour. GitHub's image proxy
(camo.githubusercontent.com) respects these headers, so
README badges will refresh automatically.
Example badges
Here is what each badge state looks like in practice:
| Badge | Description |
|---|---|
| AppVet Security A+ 96 | Security scan, score 90+, green. |
| AppVet Perf A- 84 | Performance scan, score 70-89, teal. |
| AppVet A11y C 55 | Accessibility scan, score 50-69, orange. |
| AppVet SEO F 18 | SEO scan, score below 50, red. |
| AppVet scanning... | Scan in progress. |
| AppVet failed | Scan failed. |
Next steps
- GitHub Action — automatically scan on every pull request.
- Webhooks — get notified when scans complete to trigger badge updates.
- API Reference — retrieve scan results programmatically.