AI Search visibility. Built for Africa.
RhinocerosAI tracks how six AI engines answer the questions your client’s buyers are actually asking — then stores every raw answer, reports every figure as a range with its run count, and puts your name on the report instead of ours.
The declared instrument. It appears on every report we generate, and it is not removable — a number without its instrument is a claim, not a measurement.
Bundled in every tier. 1 of 6 adapters are sourcing answers today (as of 2026-08-27) — the rest are in build, and we publish which.
Three tools, the same prompts, three different answers.
This is the state of AI-visibility measurement, and it is not going to be fixed by a fourth dashboard. The disagreement is real and it is explicable — different instruments, different sample sizes, different competitor sets, different ideas of what “localised” means. What almost no tool will do is show you which of those explains its number.
That matters more to you than to the brand you serve. When you put your logo on a measurement, your client’s trust in the number is really trust in you.
Read the long versionWhat a single-shot tracker is doing
Running each prompt once and calling the result a score. Identical prompts return substantially different answers day to day — overlap in cited sources sits at 34–42%.
What a locale string is doing
Injecting “in South Africa” into the prompt text. That is a phrasing change the model may or may not honour. It is not the same as issuing the request from South Africa.
What a 0–100 score is doing
Compressing an uncertain estimate into a figure that looks exact — and cannot survive a competing tool producing a different one in front of your client.
Ranges, run counts, and where the work is.
Nothing in this product renders a bare percentage — not in the dashboard, not in the report, not in the API, and not on this page. Every figure carries the number of observations behind it, because that is what makes it possible to say whether a change is real.
Up from 19–26% the fortnight before. The bands do not overlap, so the movement is larger than sampling explains — this one is real.
A single engine leg is a narrower sample, so its band is wider. The interface never hides that by showing you the aggregate instead.
Most citations are third-party — across the field, roughly 84% of them. A low owned share is normal, not a failure.
And per prompt, a class rather than a percentage
Three samples cannot support a per-prompt percentage, so we do not print one. Each prompt is classified from its own runs — and the classification turns out to be more useful than the number would have been.
| Class | What it means | Roughly | What to do |
|---|---|---|---|
| Always | Present in effectively every sample | ~40% | Defend it. Watch for model updates. |
| Contested | Present in some samples, absent in others | ~23% | Spend here. The engine is choosing between you and someone else. |
| Never | Absent from every sample | ~37% | Read the answer before spending. It may be the wrong prompt. |
Distribution is illustrative of published findings that roughly 77% of brand × prompt × engine cells are near-deterministic; your client’s split is computed from their own runs.
Six engines. Every tier. No add-on tax.
The category’s standard pricing move is to cover two or three models in the headline price and sell the rest per engine — roughly €20–30 each at one competitor, up to $115 a month each at another. For a single brand that is a line item. For an agency running twenty clients across six engines, it is the difference between a working margin and a spreadsheet that only survives if nobody upgrades.
So all six are in every tier, and the economics were made to work before the promise was made rather than after. We published how.
Bundled and live are different claims, and we keep them apart: the table opposite is what each engine is, and the adapter status is which of them is sourcing answers today. One of those does not move; the other does.
How each engine is measured| Engine | Acquired via | Location control |
|---|---|---|
| ChatGPT | Grounded API | Request parameter |
| Claude | Grounded API | Country, city, timezone |
| Gemini | Grounded API (Vertex) | Coordinates via Vertex only |
| Perplexity | Grounded API | Full location filters |
| Google AI Overviews | SERP vendor | Geo + device |
| Google AI Mode | SERP vendor | Geo + device |
Gemini’s consumer developer API exposes no location control at all, so geo-grounded Gemini has to go through Vertex. We say so rather than shipping an unlocated Gemini figure next to five located ones.
Your logo, your domain, your accent colour. Our instrument.
This is not an enterprise tool with a reseller discount bolted on. The tenancy model, the pricing and the report were all designed around one buyer: the agency that serves five to fifty client brands and needs each of them to believe the number.
God-view
Every client brand on one screen, with movement, coverage and cycle health. The screen you open on Monday.
White-label report
Your identity throughout, served from your domain, exported by printing the same page the client reads.
Minutes per client
Brand, owned domains, aliases, competitors, prompt set, cadence. The market carries everything else.
Channel pricing
In rand, with fair-use allocations that track what a cycle costs to run — so the margin is yours and it is stable.
South Africa is a market, not a locale string.
Google’s AI Mode has been live here since August 2025. Afrikaans, isiZulu, Sesotho and Setswana were added to it and to AI Overviews in March 2026. Around 70% of South African adults have used an AI chatbot. And there is still no credible published South African data on how often these surfaces actually trigger.
Every one of those facts is a configuration decision somewhere in a measurement platform, and the tools built elsewhere have made them all by default.
- Engine mix weighted to local usage — the aggregate is a roll-up across engines this market uses, not a flat average across every engine that exists.
- English and Afrikaans day one — language explains roughly a third of the variance in AI answers. More than the model. More than the brand.
- AI Overview presence as a tri-state — vendor detection tops out around 68%, so “absent” and “we could not tell” are recorded as different facts.
- Local intent understood — a map-pack query is not an AI Overview miss, and scoring it as one is how a trendline becomes fiction.
Same question, same engine, same week. A brand that owns the English answer and is absent from the Afrikaans one has a problem an English-only tracker will never show them.
Click a number. Read the answer.
Every figure in the platform traces to the runs behind it, and every run opens the verbatim answer the engine returned, with its provenance attached. This is the feature independent reviewers use to separate credible tools from dashboards, and it is the one we shipped before anything decorative.
Recorded on every capture
- Method and vendor
- Engine and engine version
- Locale and geo parameters
- Language and phrasing
- Timestamp
- Whether a web search actually fired
Why the last one matters
Grounded model APIs skip the web search on a large share of runs — in one published study, nearly 58% of ChatGPT API runs on identical prompts never searched at all. Without that field, “the engine looked and you weren’t there” and “the engine never looked” are the same data point.
What we will not claim
That our numbers are exactly what a consumer sees. Nobody can defend that: consumer interfaces add routers, memory and system prompts that no API reproduces. What we claim instead is that every number declares how it was captured — and you can open it.
The SA AI Search Benchmark
Nobody has published credible South African measurement of these surfaces — trigger rates by intent, engine agreement, language effects, citation churn. We run thousands of South African observations a week as a side effect of doing the job, so we publish the aggregate.
It is first-party data, it is free, and it is the one piece of launch marketing a competitor cannot copy without doing the same work.
Read the current editionAI Overview trigger rate by intent
Informational, comparison, local and transactional prompts, measured from South African requests.
Q3 2026Do the engines agree?
How often six engines name the same brand for the same question in the same week.
Field noteLanguage is a third of the variance
Afrikaans and isiZulu are live in Google's AI surfaces. Almost nobody is measuring them.
Engineering79% off the cost per run
How the all-engines bundle was made survivable, measured across 210 live runs.
Things you should push us on.
“Three samples a week isn't enough.”
For a single prompt, correct — and we do not report a per-prompt percentage because of it. For the aggregate, 50 prompts × 3 samples is about 150 observations per engine per cycle, which supports a band of roughly ±7–8 points. Past five repeats, an extra paraphrase or language buys 4–15× more error reduction than another repeat, so the fix is breadth, not a bigger N.
“Your competitor has a nicer single score.”
They do, and it demos better than ours. It also cannot survive a second tool producing a different one in front of your client. We took the trade deliberately, and if your client genuinely wants one number on a slide, we may be the wrong choice.
“Isn't grounded-API measurement lower fidelity?”
Yes. Scraped consumer answers run longer and cite more sources. Both instruments are legitimate and neither is “what the user sees”. We declare which one produced each number and record whether search fired — which is more than the alternative offers, and it is compliant and scalable.
“Why should we trust a new platform?”
Don’t, on our say-so. Ask us the nine questions we published for evaluating vendors — including ours — and count the clicks between a figure and the answer behind it. Then ask the same of whoever else is on your shortlist.
See it against your own client list
A working demo runs your prompts, in your market, on live engines — not a sandbox with seeded data. Bring one client brand and three competitors.