Concise, consistent, and legible badges in SVG and raster format
Full LLM thinking from the 4-phase benchmark pipeline.
{
"service_type": "platform",
"base_url": "https://shields.io",
"auth_method": "none",
"auth_config": {},
"endpoints": [
{
"path": "/badge/<badge-string>",
"method": "GET",
"description": "Generates a static badge using a URI-encoded string with label and message and optional color.",
"parameters": ["badge-string (URI-encoded, format: label-message-color)"],
"auth": "none"
},
{
"path": "/github/<owner>/<repo>/<metric>",
"method": "GET",
"description": "Generates dynamic badges for GitHub repositories, e.g., stars, forks, issues, license.",
"parameters": ["owner", "repo", "metric (e.g., stars, forks, license, issues, etc.)"],
"auth": "required for some metrics (GitHub token for higher rate limits)"
},
{
"path": "/npm/v/<package-name>",
"method": "GET",
"description": "Generates a badge showing the latest npm package version.",
"parameters": ["package-name"],
"auth": "none"
},
{
"path": "/pypi/v/<package-name>",
"method": "GET",
"description": "Generates a badge showing the latest PyPI package version.",
"parameters": ["package-name"],
"auth": "none"
},
{
"path": "/travis/<owner>/<repo>",
"method": "GET",
"description": "Generates a badge showing Travis CI build status.",
"parameters": ["owner", "repo"],
"auth": "none"
},
{
"path": "/circleci/build/<owner>/<repo>",
"method": "GET",
"description": "Generates a badge showing CircleCI build status.",
"parameters": ["owner", "repo"],
"auth": "none"
},
{
"path": "/docker/cloud/build/<owner>/<repo>",
"method": "GET",
"description": "Generates a badge showing Docker Cloud build status.",
"parameters": ["owner", "repo"],
"auth": "none"
},
{
"path": "/codecov/c/<owner>/<repo>",
"method": "GET",
"description": "Generates a badge showing Codecov code coverage percentage.",
"parameters": ["owner", "repo"],
"auth": "none"
},
{
"path": "/website/<url>",
"method": "GET",
"description": "Generates a badge showing the status (up/down) of a website.",
"parameters": ["url (URI-encoded)"],
"auth": "none"
},
{
"path": "/static/<badge-string>",
"method": "GET",
"description": "Generates a static badge from a string with custom color and optional label.",
"parameters": ["badge-string (URI-encoded)"],
"auth": "none"
}
],
"pricing_model": {
"type": "free",
"details": {
"free": true,
"open_source": false,
"paid_tier_exists": false,
"price": "No cost for usage; service operated by community and sponsorships"
}
},
"rate_limits": {
"global": "Varies with token use; unused/informal limits apply, see documentation",
"github_specific": "Without token ~60 requests/hour per IP; with token up to 5000 requests/hour per token",
"other_services": "Varies by service provider (e.g., npm, Travis, etc.)"
},
"capabilities": [
"Generate dynamic badges for software metrics (tests, coverage, versions, license, downloads, social badges)",
"Static badges with custom label, message, color, and style",
"Support for SVG, PNG (via rasterization) formats",
"Integrates with numerous platforms: GitHub, GitLab, Bitbucket, Travis CI, CircleCI, AppVeyor, Codecov, npm, PyPI, Docker, NuGet, Maven, RubyGems, Open Source License, StackOverflow, Reddit, Twitter, etc.",
"Custom badge templates and styles (flat, flat-square, plastic, for-the-badge, social)",
"API endpoints to query available badges and service metadata (e.g., /endpoint for programmatic generation)",
"Self-hostable: open-source code available for deployment on own infrastructure"
],
"raw_analysis": "Shields.io is a free, open-source service that generates badges (typically SVG or raster) for software projects. It's widely used by developers and open-source maintainers to display metrics like test coverage, build status, package version, license, and download counts directly in README files or project documentation. The platform is mature and has been around since 2013, with a large community and continuous updates. It does not require authentication for most badge generation, but some dynamic badges (especially from GitHub) may benefit from providing a token to avoid rate limits. The service is not a conventional platform with a REST API; instead, it offers a URL-based endpoint that returns badge images. There are informal 'endpoints' for querying service statuses and available resources. Integration is through URL construction or using shields.io endpoint URLs embedded in markdown. The service is free, supported by sponsorship and community contributions, and can be self-hosted. The rate limits are not formally documented but depend on the underlying data sources. Overall, Shields.io3/3 tests passed
| Test | Endpoint | Status | Latency |
|---|---|---|---|
| website_uptime | GET / | 200 | 113ms |
| robots_txt | GET /robots.txt | 200 | 95ms |
| llms_txt | GET /llms.txt | 200 | 94ms |
```json
{
"overall": 68,
"dimensions": {
"token_efficiency": 8.0,
"first_try_success": 8.0,
"response_parseability": 4.0,
"error_clarity": 5.0,
"doc_quality": 7.0,
"auth_simplicity": 10.0,
"latency": 9.0,
"consistency": 8.0
},
"pricing_normalized": {
"type": "free",
"free_tier": true,
"paid_tier": false,
"usage_limits": "No stated limits — community-operated service"
},
"issues": [
{
"dimension": "response_parseability",
"issue": "API returns badges as SVG/PNG images rather than structured JSON data, making programmatic parsing of badge values challenging without additional image processing"
},
{
"dimension": "response_parseability",
"issue": "robots.txt endpoint returns a 404 SVG badge instead of a text file or clear error, which is confusing for automated crawlers"
},
{
"dimension": "response_parseability",
"issue": "No llms.txt file exists — the endpoint returns a 'badge not found' SVG, lacking AI-friendly documentation for agent discovery"
},
{
"dimension": "error_clarity",
"issue": "Error handling is image-based (SVG badges showing '404: badge not found') rather than text/JSON, making automated error detection difficult"
}
],
"recommendations": [
{
"priority": "high",
"action": "Provide API endpoints that return JSON metadata about badge values alongside the image, or support a '?format=json' parameter"
},
{
"priority": "medium",
"action": "Create an llms.txt file that documents API endpoints, parameters, and badge services in a machine-readable format"
},
{
"priority": "medium",
"action": "Return proper 404 HTML/text responses for root-level resource paths (like /robots.txt) instead of SVG badge error responses"
},
{
"priority": "low",
"action": "Add structured error codes (JSON or XML) when badge rendering fails, to support automated debugging"
}
]
}
```Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.
<a href="https://prowl.world/service/shields">
<img src="https://prowl.world/badge/shields.svg" height="56" alt="Agent-readiness on Prowl">
</a>
See operational metrics, LLM evaluations, agent readiness, and more.
Open in Dashboard