All endpoints. Badges are rendered per request. Freshness is about 5 minutes end to end.
Drop an extension id in the URL and embed it anywhere. The card matches zed.dev's own extension list; the flat style is rendered by shields' badge-maker.
/extension/<id>.svg | card badge: Zed logo, name, download count, description, author line |
/extension/<id>.svg?style=flat | thin shields style badge |
/extension/<id>.svg?metric=version | version instead of downloads |
/extension/<id>.json | raw Zed API metadata (not a badge) |
<id> is the id from the extension's extension.toml. One badge for everything you published: total downloads and extension count.
/author/<name>.svg | card badge: @name, total downloads, extension count |
/author/<name>.svg?style=flat | thin variant |
/author/<name>.json | raw stats: { name, extensions, downloads, ids } |
<name> matches the name part of authors in extension.toml, case insensitive (email ignored). The upstream API has no user endpoint, so stats aggregate over the full extension index (cached 10 min). Your text, same look. No upstream data involved.
/custom.svg?message=... | card badge with your own text |
/custom.svg?label=...&message=...&style=flat | thin variant, label left and message right |
right= (top right value), meta= (gray author line). Each text field caps at 48 chars. Prefer shields' own styling? These return endpoint JSON for img.shields.io/endpoint.
/downloads/<id>.json | humanized count (957, 12k, 1.2M) |
/downloads-raw/<id>.json | full count with commas (1,234) |
/version/<id>.json | version |
shields enforces a cache of at least 5 minutes on its own.
theme= | light for the cream card, auto to follow the viewer's dark mode via a media query inside the SVG (GitHub supports this). Default is dark, card only. |
label= | override the title (card) or left label (flat) |
prefix= / suffix= | custom text around the number, replacing the description: prefix=Thanks+for&suffix=downloading! renders "Thanks for 12.2k downloading!" (spacing added automatically, max 48 chars each) |
raw=1 | full count with commas (1,234) instead of 1.2k or 1.2M |
color= | flat badge value color (default Zed brand blue) |
logo=0 | remove the logo (flat only) |
Unknown ID or name renders a red not found badge. Upstream outages render a grey unavailable badge (never cached). Your README never shows a broken image.