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
Generate a key
Head to Settings → API in your dashboard and generate a bearer key. It's shown once — store it safely.
Call the API
Send the key as a bearer token to any of the 13 read endpoints. JSON in, JSON out.
Explore live
Use the interactive playground — signed-in users can try every endpoint without pasting a key.
curl https://brandgeo.co/api/v1/account \
-H "Authorization: Bearer YOUR_API_KEY"
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 endpointSubscription status, plan quota and live usage counters.
- GET/account
Brands
2 endpointsYour brands with latest-audit scores and monitor state.
- GET/brands
- GET/brands/{uuid}
Audits
3 endpointsPer-engine visibility reports: scores, six dimensions, findings, GEO action plan.
- GET/audits
- GET/audits/{uuid}
- GET/audits/{uuid}/reports
Monitors
7 endpointsWeekly 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 NovaA 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 audit30-day money-back guarantee