Developers & AI agents

Clarity inside your AIs and 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.

ChatGPTClaudeGeminiPerplexityGrok
1

Create an account and a key

Sign up for free and create an API key in Dashboard → API & connectors. Connectors don't need one: just sign in.

2

Top up credits

Prepaid credits with Stripe, invoice included. No subscription, no monthly expiry.

3

Call the tools

Via REST or MCP. Each call uses credits and is refunded automatically if it fails.

Tools and prices

Live prices, deducted from prepaid credits (1 credit = €1).

visibility_check€0.35 per model

Asks 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 call

Checks 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)

Quick start

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": "…"
    }]
  }
}

Connector for Claude, ChatGPT and other AIs

Clarity is a remote MCP server with OAuth sign-in: each user connects with their own account and credits. Server URL:

https://clarity.whooho.it/api/mcp
Claude

Claude (web, desktop, mobile)

  1. Settings → Connectors → Add custom connector.
  2. Name: Clarity. URL: the one above.
  3. Connect → sign in to Clarity → Allow.
  4. Ask for example: "Use Clarity to see if ChatGPT recommends my shop for e-bikes in Milan".
ChatGPT

ChatGPT

  1. Settings → Apps & Connectors → advanced settings: enable developer mode.
  2. Create a connector: name Clarity, the URL above, OAuth authentication.
  3. Sign in to Clarity and allow access.
  4. Enable the connector in a chat and ask for an audit or a visibility check.

Claude Code, Cursor, agents and other MCP clients (with API key)

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"
      }
    }
  }
}

Credits and billing

  • •Available top-ups: €10, €25, €50, €100. Paid with Stripe, invoice issued automatically.
  • •The price is deducted before the call: if credits are not enough the call does not start (error 402).
  • •If a call or a single model fails, that part is refunded automatically.
  • •Credits do not expire. Every response shows what was charged and the remaining balance.

Security

  • •API keys are stored only as a cryptographic hash (SHA-256): not even we can read them. Revoke them in one click.
  • •Connectors use OAuth 2.1 with PKCE: your password never goes through the AI app. Access tokens last one hour and rotate on refresh.
  • •A connector only sees credits and tools: not your brands, analyses or payment details.
  • •Audited URLs are checked: no private networks, internal servers or cloud metadata. Rate, size and time limits on every call.
  • •The questions you send are passed to AI models (OpenAI, Google, Perplexity and others) as a user would: do not include personal or confidential data.

Errors and limits

400invalid_input / invalid_url / invalid_modelInvalid parameters: the message says which one.
401unauthorizedMissing, revoked or expired key or token.
402insufficient_creditsNot enough credits: the response includes price and balance.
403tool_disabledTool temporarily disabled.
413payload_too_largeRequest too large.
429rate_limited / too_many_concurrentToo many calls: slow down and retry.
502audit_failedThe site to audit does not respond (credits refunded).
503capacity / no_modelsDaily 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.

For machines and agents