BrandGEO
v1 · OpenAPI 3.1 · REST

Build on the BrandGEO API

Everything your dashboard shows — audits per AI engine, monitoring runs, share of voice, citations and visibility trends — as clean, typed JSON. Read-only, stable, versioned.

Start here

Quick start

1

Generate a key

Head to Settings → API in your dashboard and generate a bearer key. It's shown once — store it safely.

2

Call the API

Send the key as a bearer token to any of the 13 read endpoints. JSON in, JSON out.

3

Explore live

Use the interactive playground — signed-in users can try every endpoint without pasting a key.

curl
curl https://brandgeo.co/api/v1/account \
  -H "Authorization: Bearer YOUR_API_KEY"
Laravel SDK
use A2ZWeb\BrandGeoClient\Facades\BrandGeo;

// Typed DTOs in, typed DTOs out.
$account = BrandGeo::account()->get();
$brands  = BrandGeo::brands()->list();
$audit   = BrandGeo::audits()->get($uuid);

The surface

13 endpoints, 4 resources

All GET. Page & cursor pagination. Wrapped in a stable {data, links, meta} envelope.

Account

1 endpoint

Subscription status, plan quota and live usage counters.

  • GET/account

Brands

2 endpoints

Your brands with latest-audit scores and monitor state.

  • GET/brands
  • GET/brands/{uuid}

Audits

3 endpoints

Per-engine visibility reports: scores, six dimensions, findings, GEO action plan.

  • GET/audits
  • GET/audits/{uuid}
  • GET/audits/{uuid}/reports

Monitors

7 endpoints

Weekly tracking: competitors, prompt runs, snapshots, share of voice, trends.

  • GET/monitors
  • GET/monitors/{uuid}
  • GET/monitors/{uuid}/competitors
  • GET/monitors/{uuid}/prompt-templates
  • GET/monitors/{uuid}/runs
  • GET/monitors/{uuid}/snapshots
  • GET/monitors/{uuid}/trend

Access

Authentication & plan access

Authenticate with a bearer API key from Settings → API. Keys are hashed at rest and shown exactly once. The API mirrors the in-app paywall — what your account sees in the dashboard is exactly what your key gets.

Account state Lists & /account Detail endpoints Rate limit
Trial ✓ full Gemini engine full; other engines return locked stubs; recommendations preview 30/min
Paid ✓ full ✓ everything — all engines, full recommendations, plan-length trends 120/min
Expired trial ✓ still available 402 Subscription required 30/min

Limits are reported on every response via X-RateLimit-Limit / X-RateLimit-Remaining. The v1 contract is additive-only — fields are added, never renamed or removed; breaking changes would ship as /api/v2. See plans →

Ecosystem

Official Laravel packages

🧰

brandgeo-laravel-client

Official SDK for Laravel 11 / 12+

Typed readonly DTOs and enums for every resource, page & cursor paginators with lazy auto-pagination, a typed exception per API error, and an immutable withApiKey() for multi-account agency apps.

composer require a2zwebltd/brandgeo-laravel-client
📊

brandgeo-laravel-nova

BrandGEO dashboard inside Laravel Nova

A fully branded client dashboard embedded in your Nova admin: brand switcher, per-engine audit drill-downs, monitoring KPIs, share of voice and trends — powered by your BrandGEO API key.

composer require a2zwebltd/brandgeo-laravel-nova

Tooling

Resources

Answers

API FAQ

Does BrandGEO have an API? +

Yes — a read-only REST API (v1, OpenAPI 3.1) covering everything your dashboard shows: account & subscription status, brands, per-engine audit reports (scores, six visibility dimensions, key findings, GEO action plan) and full monitoring data (competitors, prompt runs with AI answers, share of voice, citations, trends). Generate a bearer key in Settings → API, then explore the API documentation or test every endpoint live in the interactive playground — no code required.

What can I access through the BrandGEO API? +

Four resources across 13 endpoints: Account (plan quota and live usage), Brands (with latest-audit scores and monitor state), Audits (per-engine reports in both trained and web-search modes, six-dimension breakdowns with confidence levels, findings and the prioritized GEO action plan) and Monitors (competitors, prompt templates incl. custom queries, individual AI answers with sentiment and citations, weekly visibility snapshots, share of voice and ready-to-chart trends). Access mirrors your plan — trial keys see Gemini in full with other engines locked; paid plans see everything. Details in the API docs.

Is there a Laravel SDK for the BrandGEO API? +

Yes. The official SDK a2zwebltd/brandgeo-laravel-client ships typed DTOs, paginators and per-error exceptions (composer require a2zwebltd/brandgeo-laravel-client). There is also a2zwebltd/brandgeo-laravel-nova — a ready-made BrandGEO dashboard embedded in Laravel Nova.

What audit data does the API return per AI engine? +

Each audit exposes one report per engine × mode (trained knowledge vs live web search): the normalized 0–100 score with an A–F grade, the full six-dimension breakdown (Recognition, Knowledge Depth, Competitive Context, Sentiment & Authority, Contextual Recall, AI Discoverability) with per-question sub-scores and confidence levels, AI-extracted key findings, the strengths / weaknesses / priority-actions analysis, and — for web-search reports — the sources the engine cited. The GEO action plan (recommendations) rides along on the audit detail endpoint.

What monitoring data can I pull? +

Everything the monitor dashboard shows: tracked competitors, prompt templates (including your custom queries), individual prompt runs with the full AI answer, brand-mention flag and position, sentiment and citations, plus weekly visibility snapshots — overall and per engine — carrying share-of-voice competitor data, sentiment breakdowns and top cited sources. The /trend endpoint returns a ready-to-chart series clamped to your plan's history window.

How do pagination and rate limits work? +

Small collections (brands, audits, monitors, competitors, templates) use classic page pagination (?page, ?per_page up to 100); high-volume feeds (runs, snapshots) use cursor pagination — follow meta.next_cursor. Limits are 120 requests/min on paid plans and 30/min on trials, reported live via X-RateLimit-Limit / X-RateLimit-Remaining; a 429 includes Retry-After.

What does a trial API key see vs a paid one? +

Exactly what the account sees in the app. Trials get the Gemini engine in full — other engines return four-field locked stubs — plus a preview of the GEO action plan (top ~25% of actions). Paid plans unlock every engine, both modes, full recommendations and plan-length trend history. Expired trials keep /account and list endpoints but receive 402 on detail endpoints.

Can I try the API without writing any code? +

Yes — the interactive playground runs Swagger UI over the live spec. If you're logged in to BrandGEO, "Try it out" executes with your account's access — no API key needed. You can also download the OpenAPI 3.1 spec and generate a client for any language.

How visible is your brand in AI?

Run a free audit and see what ChatGPT, Claude, Gemini, Grok and DeepSeek actually say about your brand — in about 2 minutes, no credit card.

Get your free AI visibility audit
5,893 AI reports analyzed · 84% of brands are invisible in AI

30-day money-back guarantee