Analytics
General vitals
Site-wide GEO/SEO/ADO feature scores for a brand. Worst-first.
General vitals are the site-wide feature scores for a brand — robots.txt presence, llms.txt presence, sitemap quality, canonical setup, etc. These are evaluated against the website as a whole, not per individual page. The companion to page vitals which scores per-page features.
The intended question this answers: "What should I fix on my website at the configuration level?". Start here for site-wide config, then drill into page vitals for per-page issues.
Latest scores, worst first
curl -H "Authorization: Bearer $KEY" \
"https://api.42a.ai/api/v1/general-vitals?brand_id=brn_xxx"const vitals = await fetch(
`https://api.42a.ai/api/v1/general-vitals?brand_id=${brandId}`,
{ headers: { Authorization: `Bearer ${KEY}` } },
).then((r) => r.json());
const failing = vitals.data.features.filter((f) => f.score < 0.5);
console.log(`${vitals.data.brand_name}: avg ${vitals.data.avg_score?.toFixed(2) ?? "n/a"}`);
console.log("Fix:", failing.map((f) => `${f.feature_id} (${f.reason})`).join("\n "));import requests
vitals = requests.get(
"https://api.42a.ai/api/v1/general-vitals",
params={"brand_id": "brn_xxx"},
headers={"Authorization": f"Bearer {KEY}"},
).json()["data"]
failing = [f for f in vitals["features"] if f["score"] < 0.5]
print(f"{vitals['brand_name']}: avg {vitals['avg_score']}")
for f in failing:
print(f" fix {f['feature_id']}: {f['reason']}")Response
Returns the latest score per feature_id, sorted worst-score-first so callers immediately see what to fix.
{
"data": {
"brand_id": "brn_xxx",
"brand_name": "Acme",
"website": "https://acme.com",
"avg_score": 0.62,
"features": [
{
"feature_id": "has_llms_txt",
"score": 0.0,
"reason": "No /llms.txt found at root.",
"created_at": 1730000000000
},
{
"feature_id": "robots_allows_ai_crawlers",
"score": 0.4,
"reason": "robots.txt blocks GPTBot and ClaudeBot. Consider allowing.",
"created_at": 1730000000000
},
{
"feature_id": "sitemap_present",
"score": 1.0,
"reason": "sitemap.xml found and parses cleanly.",
"created_at": 1730000000000
}
]
}
}General vs page
| Question | Tool |
|---|---|
| "What site-wide config should I fix?" (robots.txt, llms.txt, sitemap, canonical, etc.) | /api/v1/general-vitals |
| "Which specific pages should I improve?" (per-page render quality, schema, content depth, etc.) | /api/v1/page-vitals |
| "How is my brand doing in AI answers?" (visibility metrics, mentions) | /api/v1/brands/{id}/stats |
The first two are usually called together: fix the global config first, then iterate page by page.
See also
- Page vitals — the per-page complement to this endpoint.
- The full feature-score catalog is documented in your dashboard under Settings → Site features.
Last updated