Read-only API
Agent analytics
Read analysis for a project visible to your token.
GET
/api/domains/{host}/agent-analyticsEndpoint#
GET /api/domains/{host}/agent-analytics
Base URL: https://app.keptai.com. Send an Authorization: Bearer header with your personal token.
Parameters#
| Parameter | Values |
|---|---|
| host (path) | Project domain without a scheme or path. |
| section | One of the 17 sections below; omitting it requests the combined view. |
| days | 7, 30, or 90; default 30. |
| engine | Supported engine ID; comma-separated values are supported. |
| topic, category, brand | Optional comma-separated values from scope-options. |
Values containing spaces or punctuation must be URL-encoded. Use Scope options to discover valid project filters; persona and country are not supported filters.
Sections#
- overview — KPIs, trends, and top brands.
- insights — Brand insight summaries.
- perception — Brand perception summaries.
- prompts — Prompt rows and account allowance information.
- domains — Cited source domains.
- urls — Cited source URLs.
- gaps — Citation gaps against competitors.
- crawl — Observed crawler activity.
- crawlability — Available crawlability analysis.
- conversions — Observed conversion analytics.
- actions — Available optimization action analysis.
- impact — Available impact analysis.
- ranking — Brand ranking analysis.
- chats — Sampled answers and chat analysis.
- fanouts — Query-expansion observations.
- ads — Observed advertisements on web surfaces.
- shopping — Observed shopping results.
Example request#
curl --fail-with-body 'https://app.keptai.com/api/domains/example.com/agent-analytics?section=overview&days=30' \
-H "Authorization: Bearer $KEPT_API_TOKEN"
const response = await fetch(
'https://app.keptai.com/api/domains/example.com/agent-analytics?section=overview&days=30',
{ headers: { Authorization: `Bearer ${process.env.KEPT_API_TOKEN}` } }
);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
console.log(data);
import json, os, urllib.request
request = urllib.request.Request(
'https://app.keptai.com/api/domains/example.com/agent-analytics?section=overview&days=30',
headers={'Authorization': 'Bearer ' + os.environ['KEPT_API_TOKEN']}
)
with urllib.request.urlopen(request) as response:
print(json.load(response))
Read the response#
Responses are JSON and retain the selected section’s application data shape. Do not assume a common rows field across all sections. Missing or empty results can reflect unavailable samples or an unconnected Gateway domain. Read the returned data and any availability metadata before interpreting absence as zero.
See Authentication for access and error handling.