Developers & AI agents
Measure how ChatGPT, Gemini, Perplexity, Claude and Grok talk about a brand and check whether a site is ready for AI search. From code, AI agents or as a connector in Claude and ChatGPT. Pay only for the calls you make.
Sign up for free and create an API key in Dashboard → API & connectors. Connectors don't need one: just sign in.
Prepaid credits with Stripe, invoice included. No subscription, no monthly expiry.
Via REST or MCP. Each call uses credits and is refunded automatically if it fails.
Live prices, deducted from prepaid credits (1 credit = €1).
visibility_check€0.35 per modelAsks AI models a real question with live web search and tells you whether the brand is cited, how often, its rank in lists, which competitors appear and which sources are used.
Parameters (* required)
brand*, question*, models[], competitors[], brand_domain
geo_audit€0.50 per callChecks whether a site can be read and quoted by AIs: AI crawlers in robots.txt and firewall, llms.txt and llms-full.txt, sitemap, content without JavaScript, Organization schema, snippet directives, trust pages. 0-100 score with every check.
Parameters (* required)
url*
Models available now: ChatGPT (chatgpt), Google Gemini (gemini)
Two sample calls. Replace clr_YOUR_API_KEY with your key.
curl -X POST https://clarity.whooho.it/api/v1/visibility \
-H "Authorization: Bearer clr_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"brand": "Acme Bikes",
"question": "What are the best e-bike shops in Milan?",
"models": ["chatgpt", "perplexity"],
"competitors": ["BikeLand", "Velo Milano"],
"brand_domain": "acmebikes.it"
}'curl -X POST https://clarity.whooho.it/api/v1/geo-audit \
-H "Authorization: Bearer clr_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "acmebikes.it" }'Sample response (shortened):
{
"request_id": "req_9f2c…",
"tool": "visibility_check",
"charged_cents": 70,
"refunded_cents": 0,
"balance_cents": 1930,
"result": {
"summary": { "models_asked": 2, "models_answered": 2, "mentioned_in": 1, "visibility_percent": 50 },
"models": [{
"model": "chatgpt",
"brand": { "mentioned": true, "mention_count": 2, "list_rank": 3, "excerpt": "…Acme Bikes in Navigli offers…" },
"competitors": [{ "name": "BikeLand", "mentioned": true, "list_rank": 1 }],
"brand_domain_cited": true,
"sources": [{ "url": "https://…", "title": "…", "domain": "…" }],
"answer": "…"
}]
}
}Clarity is a remote MCP server with OAuth sign-in: each user connects with their own account and credits. Server URL:
claude mcp add --transport http clarity https://clarity.whooho.it/api/mcp \
--header "Authorization: Bearer clr_YOUR_API_KEY"Or, in clients that use a JSON configuration file:
{
"mcpServers": {
"clarity": {
"type": "http",
"url": "https://clarity.whooho.it/api/mcp",
"headers": {
"Authorization": "Bearer clr_YOUR_API_KEY"
}
}
}
}| 400 | invalid_input / invalid_url / invalid_model | Invalid parameters: the message says which one. |
| 401 | unauthorized | Missing, revoked or expired key or token. |
| 402 | insufficient_credits | Not enough credits: the response includes price and balance. |
| 403 | tool_disabled | Tool temporarily disabled. |
| 413 | payload_too_large | Request too large. |
| 429 | rate_limited / too_many_concurrent | Too many calls: slow down and retry. |
| 502 | audit_failed | The site to audit does not respond (credits refunded). |
| 503 | capacity / no_models | Daily capacity reached or no model available: retry later. |
Current limits: 20 calls per minute per key, 3 concurrent calls per account, response within 2 minutes.