Fenlight AI & Web Index
Google operational ยท DuckDuckGo beta Sign in Get your key at Vera
Guide
← All guides

How to check whether ChatGPT and Claude recommend your brand

By Waggle ·

When a buyer asks an AI assistant “best specialty coffee roasters in Dubai”, does it name your brand? Fenlight's POST /v1/ai/answers puts that question to ChatGPT and Claude with web search switched on, repeats it a few times, and reports how often you are named, who else is named, and which pages the assistants cited. This guide shows one real request, how to read the answer, what it costs and what it cannot tell you.

What the check measures

Each time the question is put to an assistant is one sample. For each assistant, across the samples that came back with an answer, Fenlight reports how often your brand was named (mention_rate, with a 95% interval), how often the assistant searched the web at all, where your brand first appeared compared with the competitors you list, and the pages and domains it cited. Everything is labelled api_observed: it comes from each company's web-search API, not from the signed-in apps, where memory and settings can change what a person sees.

Step 1: write the question the way a buyer would

Use the sentence a customer would type, one prompt per request. (The brand and the competitors in these examples are made up.) Add your brand and, if you have one, brand_domain; list the competitors you want counted in competitors; and set the market with country, city and language (the defaults are ae and en).

Mentions are found by matching your brand name in the answer text, ignoring case. Arabic spellings are handled: diacritics, alef and ya variants and attached prefixes such as ุงู„ do not stop a match. A brand name that is also an ordinary word will match ordinary uses of the word (a roaster called “Roasters” would be “mentioned” by almost every answer), so a distinctive name works best; the domain is checked against the citations separately.

Step 2: send the request

Set FENLIGHT_API_KEY to your Vera key, which starts vera_live_. A first check with one assistant and one sample:

curl -X POST https://fenlight.waggle.ae/v1/ai/answers \
  -H "Authorization: Bearer $FENLIGHT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "best specialty coffee roasters in Dubai",
  "brand": "Sandstone Coffee",
  "brand_domain": "sandstonecoffee.ae",
  "competitors": [
    "Palm Bean Roastery",
    "Souk Coffee"
  ],
  "engines": [
    "chatgpt"
  ],
  "samples": 1,
  "country": "ae",
  "city": "Dubai",
  "language": "en"
}'

That is 220 credits. Name the engines you want: if you leave engines out, Fenlight asks every engine and reports the ones that are not available yet as not_configured, at no charge. For a fuller check, ask both assistants twice:

curl -X POST https://fenlight.waggle.ae/v1/ai/answers \
  -H "Authorization: Bearer $FENLIGHT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "best specialty coffee roasters in Dubai",
  "brand": "Sandstone Coffee",
  "brand_domain": "sandstonecoffee.ae",
  "competitors": [
    "Palm Bean Roastery",
    "Souk Coffee"
  ],
  "engines": [
    "chatgpt",
    "claude"
  ],
  "samples": 2,
  "country": "ae",
  "city": "Dubai",
  "language": "en"
}'

Step 3: read the answer

An abridged response, with the real field names (the values are an example):

{
  "status": "success",
  "label": "api_observed",
  "engines": [
    {
      "engine": "chatgpt",
      "status": "ok",
      "aggregate": {
        "samples_requested": 2,
        "samples_ok": 2,
        "mention_rate": 0.5,
        "mention_rate_ci95": [
          0.095,
          0.905
        ],
        "searched_rate": 1.0,
        "first_mention_rank_avg": 2.0,
        "competitors": [
          {
            "name": "Palm Bean Roastery",
            "mentions": 2,
            "mention_rate": 1.0,
            "first_mention_rank_avg": 1.0
          },
          {
            "name": "Souk Coffee",
            "mentions": 1,
            "mention_rate": 0.5,
            "first_mention_rank_avg": 1.0
          }
        ],
        "share_of_voice": 0.25,
        "brand_domain_cited_rate": 0.5,
        "citation_share_by_domain": {
          "timeout.com": 0.5,
          "sandstonecoffee.ae": 0.25,
          "whatson.ae": 0.25
        }
      },
      "samples": [
        {
          "index": 0,
          "status": "ok",
          "searched": true,
          "brand": {
            "mentioned": true,
            "first_mention_rank": 2
          },
          "citations": [
            {
              "url": "https://sandstonecoffee.ae/",
              "domain": "sandstonecoffee.ae",
              "title": "Sandstone Coffee"
            }
          ],
          "cited_domains": [
            "sandstonecoffee.ae"
          ],
          "queries": [
            "best specialty coffee roasters Dubai"
          ],
          "warnings": []
        }
      ]
    }
  ],
  "provenance": {
    "credits_used": 1940,
    "credits_by_engine": {
      "chatgpt": 440,
      "claude": 1500
    },
    "budget_exceeded": false
  }
}
  • mention_rate is the fraction of the samples that returned an answer in which your brand was named, from 0 to 1; mention_rate_ci95 is its 95% (Wilson) interval.
  • searched_rate is how often the assistant searched the web before answering; an answer from memory alone says little about what a search would show.
  • first_mention_rank_avg and each competitor's mention_rate show who is named first and how often.
  • share_of_voice is your named samples divided by the named samples of you and your competitors together.
  • citation_share_by_domain and, for each sample, citations, cited_domains and queries show which pages the assistant relied on and what it searched for.
  • brand_domain_cited_rate is how often a page on your domain was among the citations.

Why one sample is not enough

An assistant can answer differently every time it is asked, so a single answer proves little. With samples you ask the same question several times (1 to 5 per request) and the interval says how much the result can be trusted. Even if your brand is named every time, a handful of samples leaves a wide interval:

How little a few samples can prove
Samples (brand named in all of them)Lowest the 95% interval allows
10.21
20.34
30.44
40.51
50.57

We use three to five samples per prompt and assistant, repeated weekly, and read the interval rather than any one answer. To go beyond five samples, repeat the request on another day.

What it costs

An assistant call costs 220 credits for ChatGPT and 750 credits for Claude. Each sample is one call, so the fuller request above is typically 2 × (220 + 750) = 1,940 credits. Credits come from your Vera plan, at about $0.00029 to $0.00054 a credit, so that request is about $0.55 to $1.05 and the first check is about $0.06 to $0.12.

  • Claude can need up to three requests for one sample when the API pauses a long answer, and each request is charged, so a Claude sample can cost up to 2,250 credits.
  • One request is held for at most 2,000 credits, which is Vera's maximum for one call. If the samples you ask for could cost more, the run stops when it reaches the limit, returns the samples that completed and sets provenance.budget_exceeded.
  • If every assistant fails, the request is a 502 and you are charged nothing, although the failed calls still count toward your key's daily cap. If any assistant answers, you pay for every call that was made, including samples that failed.
  • New Vera accounts get 3,000 free credits, usable at up to 1,500 a day. That covers 6 ChatGPT samples a day (220 credits each); a Claude sample can hold up to 2,250 credits, more than the 1,500 a day free credits allow, so Claude needs a paid plan.
  • Your key also has a daily credit cap on Fenlight's side, shown by GET /v1/account/usage. A request that would pass it is cut short, and once the cap is used up requests are refused with daily_cap_reached until 00:00 UTC.

Limits to keep in mind

  • These are API answers, not what a signed-in person sees in the ChatGPT or Claude apps.
  • Answers change from run to run: read the interval, not one answer.
  • Available now: ChatGPT, Claude and Gemini. Not yet available: Perplexity.
  • Fenlight returns metrics and citations, not the answer text: raw answers are returned to internal keys only.
  • Claude's web search refuses some countries. On 19 October 2026 it refused AE on Google Cloud, so Fenlight drops the country, keeps the city and adds country_not_supported:AE to that sample's warnings.
  • Fenlight does not measure Google's AI Overview, which it reports as unmeasured; this check is about ChatGPT and Claude.
  • Limits: 60 requests a minute and at most 5 at once, per key.

The same check is the ai_answers tool of the MCP server at https://fenlight.waggle.ae/mcp, one of 8 tools.