The IndexHalo
API.
Everything the engine measures is available as a stable, machine-readable surface — the free tools, the semantic feed, an MCP server, and a Looker Studio connector. Every rate carries an evidence class, its sample size n, and a Wilson 95% confidence interval, so an integration can never mistake a modelled estimate for a measurement.
Authentication
Three credentials, each scoped to what it should expose:
- Account bearer token — issued to a signed-in account; used as
Authorization: Bearer <token>for the/api/geo/*engine and the/mcpserver. Acts with that account's permissions and reads only that account's workspace. - Feed token — a per-brand public token handed to developers or AI partners; serves the semantic feed and provenance manifest without exposing account identifiers.
- Looker read key — a per-brand key that unlocks the flat JSON rows the Looker Studio connector consumes.
Public endpoints — no authentication
| Method | Path | Returns |
|---|---|---|
GET | /api/health | Service status and ~50 capability flags, plus configured provider list. |
POST | /api/analyze | Free evidence-readiness report for a URL or pasted content. |
GET | /api/tools | List of the free GEO tools. |
POST | /api/tools/crawler-check | AI crawler access audit for a domain. |
POST | /api/tools/llms-check | llms.txt validation and generation. |
POST | /api/tools/bot-log-analyzer | Parse access logs into stated-vs-observed crawler verdicts. |
POST | /api/tools/rag-chunk-simulator | Show how retrieval chunkers split a page. |
POST | /api/tools/ai-schema-checker | Validate Article/FAQ/Product JSON-LD for citation-readiness. |
POST | /api/tools/hallucination-spot-check | Contradiction verdicts for an AI answer vs your facts. |
POST | /api/tools/agent-readiness-checker | Score whether an AI agent can complete tasks on a site. |
GET | /api/samples/report.{html,md,pdf,docx,pptx} | A public sample report in the requested format. |
Semantic feed — token-gated, public URL
| Method | Path | Returns |
|---|---|---|
GET | /feed/:token.json | A brand's verified claims and measured evidence as machine-readable JSON. |
GET | /feed/:token/provenance.json | The content-provenance manifest (SHA-256 prior-hash chain, no blockchain). |
MCP server — account token
The local workstation and the hosted platform both expose a Model Context Protocol server over JSON-RPC 2.0. An assistant connected to it can answer “how visible is my brand?” with the customer's real, measured data instead of a guess.
| Method | Path | Returns |
|---|---|---|
GET | /mcp | Tool manifest for clients that probe first. |
POST | /mcp | JSON-RPC 2.0: initialize, tools/list, tools/call, ping. |
Tools: get_brand_overview, list_prompts, get_citations, get_recommendations, get_alerts, get_competitor_benchmark, get_citation_graph, get_visibility_forecast, get_anomalies.
Looker Studio connector — per-brand read key
| Method | Path | Returns |
|---|---|---|
GET | /api/geo/looker?brandId=&key= | Flat JSON rows (one per prompt × run × engine) for the Looker Studio JSON connector. |
Evidence classes
Every headline rate ships with its evidence class, sample size n, and a Wilson 95% confidence interval, and is flagged low-confidence when n < 3. Integrations should surface these, never collapse them:
- Measured — a direct page, document, crawl, metadata, claim, or source finding.
- Observed — a timestamped provider response with the exact query and returned citation URLs.
- Modelled — a disclosed comparative estimate derived from observable signals (e.g. a visibility forecast).
- Unknown — private training data, secret rankings, or guaranteed future citations, which IndexHalo does not claim to know.