AnswerixAI Docs AnswerixAI Docs AI Search Visibility, GEO & AEO platform

Metrics API

The versioned, curated /api/v1 surface for external integrations — Looker Studio, Sheets, Power BI, custom dashboards.

On this page 7

/api/v1/* is a deliberately curated, read-only subset of the full MCP REST surface (/api/mcp/* — see Brands & data), meant for external integrations that only need visibility metrics: Looker Studio, Google Sheets, Power BI, or a custom dashboard. It uses the same ans_ API key authentication and the same organization scoping — you only ever see brands your key's owner can access.

Unlike /api/mcp/*, this surface does not expose writes, topics/prompts management, content opportunities, or site audits — just the metrics needed to build charts.

Endpoints

http
GET /api/v1/whoami
GET /api/v1/brands
GET /api/v1/visibility-summary?brand_id=<uuid>&date_from=<date>&date_to=<date>
GET /api/v1/visibility-trend?brand_id=<uuid>&date_from=<date>&date_to=<date>&granularity=day|week
GET /api/v1/competitor-comparison?brand_id=<uuid>&date_from=<date>&date_to=<date>
GET /api/v1/citations?brand_id=<uuid>&date_from=<date>&date_to=<date>
GET /api/v1/ai-traffic?brand_id=<uuid>&date_from=<date>&date_to=<date>
GET /api/v1/prompt-performance?brand_id=<uuid>
GET /api/v1/shopping-cards?brand_id=<uuid>
Authorization: Bearer ans_...

brand_id is required on every endpoint except whoami and brands. date_from/date_to default to an unbounded window when omitted.

GET /api/v1/brands

Returns a plain JSON array of the key owner's brands:

json
[{ "id": "…", "name": "Acme Coffee", "slug": "acme-coffee", "industry": "Food & Beverage", "region": "US", "created_at": "…" }]

GET /api/v1/visibility-trend

Daily (or weekly) visibility series:

json
{
  "granularity": "day",
  "buckets": [
    {
      "date": "2026-07-01",
      "result_count": 42,
      "avg_visibility_score": 61,
      "total_mentions": 118,
      "total_citations": 34,
      "avg_competitor_score": 48
    }
  ]
}

GET /api/v1/competitor-comparison

Includes a share_of_voice.by_platform breakdown alongside the brand/competitor comparison:

json
{
  "brand": { "id": "…", "name": "…", "avg_visibility_score": 61, "total_mentions": 118, "total_citations": 34, "appearance_count": 42 },
  "competitors": [{ "competitor_id": "…", "name": "Globex", "avg_visibility_score": 55, "total_mentions": 90, "total_citations": 20, "appearance_count": 40 }],
  "share_of_voice": {
    "overall_sov_pct": 56.7,
    "total_brand_mentions": 118,
    "total_competitor_mentions": 90,
    "by_platform": [{ "platform": "chatgpt-web", "model_used": null, "brand_mentions": 60, "competitor_mentions": 40, "sov_pct": 60.0 }]
  }
}

GET /api/v1/citations

top_domains is sorted by citation count — the field an integration typically wants:

json
{
  "totals": { "domains": 12, "urls": 34, "citations": 210, "results_with_citations": 88, "avg_citations_per_result": 2.4 },
  "top_domains": [{ "domain": "coffee-review.com", "category": "editorial", "total_citations": 18, "results_citing": 14, "usage_pct": 15.9 }],
  "top_urls": [...]
}

GET /api/v1/ai-traffic

json
{
  "total_visits": 540,
  "platform_breakdown": [{ "platform": "chatgpt", "visits": 320 }],
  "top_pages": [{ "url": "/blog/best-coffee", "visits": 90 }],
  "country_breakdown": [{ "country": "US", "visits": 410 }]
}

Used by

The Looker Studio connector is built entirely on this surface — see its guide for a worked example of pulling these four shapes into a blended report.

Continue: Looker Studio →