scoreWeighted health score from 0 (unmaintained) to 100 (healthy)
verdictHuman-readable verdict based on score (see table below)
checkedAtISO 8601 timestamp of when data was fetched from the provider
cachedWhether this result was served from cache
signals[]Individual health signals with name, score (0–100), and weight
overrideReasonIf present, explains why the score was overridden (e.g. archived repo)
cache.nextRefreshSecondsSeconds until data refreshes — use this to schedule your next poll
Verdicts
Score
Verdict
Meaning
80–100
🟢 healthy
Actively maintained with strong signals
60–79
🟡 stable
Generally safe, some signals imperfect
40–59
🟠 degraded
Caution advised — red flags detected
20–39
🔴 critical
High risk — severe neglect detected
0–19
⚫ unmaintained
No meaningful activity detected
Get SVG Badge
GET/api/badge/{provider}/{owner}/{repo}
Returns an SVG health badge for README embedding. Cached for 1 hour.
# Markdown [](https://isitalive.dev/github/YOUR_ORG/YOUR_REPO)
# HTML <a href="https://isitalive.dev/github/YOUR_ORG/YOUR_REPO"> <img src="https://isitalive.dev/api/badge/github/YOUR_ORG/YOUR_REPO" alt="Is It Alive?"> </a>
Rate Limits
Rate limits are applied per IP address (unauthenticated) or per API key (authenticated).
Tier
Rate Limit
Cache TTL
No key
10 req/hr
24 hours
Free key
100 req/hr
24 hours
Pro key
1,000 req/hr
1 hour
Enterprise
10,000 req/hr
15 min
Rate limit headers are included with every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Tier