Reference
AI Visibility API Beta Reference
Use Kiodo to check aggregated brand visibility in AI answers. This is a beta/pro API surface, not a free-plan Search feature and not a live prompt-run product.
Overview
The AI Visibility API returns aggregated visibility data for a brand, category, market, and competitors. It is available to Pro, Scale, Enterprise, or selected beta accounts with an API key scoped to `ai_visibility:read`.
Brand presence
Measure if a brand appears in AI answer data for a category.
Share of answer
Compare relative presence across your brand and competitors.
Cited sources
Inspect source URLs connected to brand and competitor visibility.
Beta access
Requires feature flag, eligible plan or beta access, credits, and ai_visibility:read scope.
Credit metering
Each successful request returns credits, balance, operation key, and cache status.
Access
| Requirement | Current behavior |
|---|---|
| Feature flag | `AI_VISIBILITY_ENABLED=true` must be configured. |
| Plan | Pro, Scale, Enterprise, or selected beta access. |
| API key | `ai_visibility:read` scope is required. |
| Free/Starter | Blocked at launch even if credits exist. |
| Freshness | Aggregated data with `dataFreshness.asOf`; not live prompt execution. |
Request
Send a bearer token and a JSON body to `/api/v1/ai-visibility/check`. Search-only keys cannot call this endpoint.
curl https://api.kiodo.dev/v1/ai-visibility/check \
-H "Authorization: Bearer $KIODO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"brand": "Acme",
"domain": "acme.com",
"category": "payroll API",
"competitors": ["Gusto", "Check", "Finch"],
"market": "us",
"language": "en",
"limit": 25
}'Parameters
| Field | Type | Use |
|---|---|---|
| brand | string | Required brand name to measure. |
| domain | string | null | Optional hostname for brand matching. |
| category | string | Required market, product, or category phrase. |
| competitors | string[] | Up to 5 competitors. |
| market | us | Market accepted by the current API. |
| language | en | Language accepted by the current API. |
| limit | number | 1 to 100. Default is 25. |
Response
{
"object": "ai_visibility.check",
"visibilityScore": 23.4,
"shareOfAnswer": {
"Acme": 0.18,
"Gusto": 0.71
},
"mentionedIn": {
"total": 12,
"byEngine": { "chatgpt": 12 }
},
"topCitedSources": [],
"opportunities": [],
"confidence": 0.82,
"dataFreshness": {
"type": "aggregated",
"cached": false,
"asOf": "2026-05-20T00:00:00.000Z"
},
"usage": {
"operationKey": "ai_visibility_check_small",
"credits": 75,
"balanceCredits": 1234,
"cacheHit": false
}
}Credits and cache
Small checks charge 75 credits when competitors are 3 or fewer and limit is 25 or lower. Larger accepted checks charge 150 credits. Cache hits currently charge the same credits and set `usage.cacheHit = true`; provider cost and raw provider output remain internal.