Shields
Badge data (and SVG), now available as JSON too
Shields.io is the badge factory behind millions of READMEs. Beyond the usual SVG, appending .json to a /badge/ path returns the badge's label, message and color as structured JSON. It's free and keyless; very heavy users are asked to self-host.
GET https://img.shields.io/badge/test-passing-green.json
{
"label": "test",
"message": "passing",
"color": "green",
"link": [],
"name": "test",
"value": "passing"
}curl "https://img.shields.io/badge/test-passing-green.json"const res = await fetch("https://img.shields.io/badge/test-passing-green.json");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://img.shields.io/badge/test-passing-green.json")
print(res.json())/badge/test-passing-green.jsonPROBEDBadge data (and SVG), now available as JSON too
/badgeBadge — documented GET route.
/badge/1Badge details by ID (example: 1).
/badge?limit=10Badge — documented GET route.
/badge/search?q=testSearch by query parameters.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.
Shields: common questions
Is Shields free to use?
Yes — Shields is a free open data API. Free tier: Free — limits not published. Whether the free tier allows commercial use is unclear — check the provider docs.
Does Shields need an API key?
No — Shields needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).
Can I call Shields from the browser?
Yes — Shields returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.
Is Shields up right now?
As of our last scheduled check, Shields is unmonitored. We re-probe it every sweep — the status badge and uptime chart above always show the latest.