Skip to content
Developers & API

Build on your AI-visibility data

A read-only REST API for everything you track: AI Presence, prompts, competitors, content gaps, and performance, per brand and per engine. Token-authenticated, metered per plan, with a hosted OpenAPI reference and a flat feed for Power BI, Tableau, and Looker Studio.

The surface

What you can read

Eight endpoints that mirror the dashboards. Each returns plain JSON and takes a brand ID from the first one.

Brands

List your brands

Every brand your token can see, with the IDs the other endpoints take.

GET /public/brands
Visibility

AI Presence

Your presence in AI answers per engine for a brand, the headline number you move.

GET /public/brands/:id/visibility
Prompts

Tracked queries

Every question you track for a brand and how visible you are in the answer to each.

GET /public/brands/:id/queries
Detail

One prompt, in full

For a single query: the engines, the citations behind the answer, and who else was named.

GET /public/brands/:id/queries/:queryId
Competitors

Competitor share

Who else makes the shortlist for your questions, and how much of the answer they own.

GET /public/brands/:id/competitors
Content gaps

Ranked content gaps

Where a small change is most likely to move your visibility, ordered by impact.

GET /public/brands/:id/opportunities
Performance

Trend & movement

How your visibility has moved over time and what changed most recently.

GET /public/brands/:id/performance
Reporting

Flat table for BI

One flat row per tracked prompt, shaped for Power BI, Tableau, and Looker Studio.

GET /reporting/looker
Get started

Authenticate and make your first call

Four steps from zero to JSON. No SDK required, any HTTP client works.

Mint a token

In the app, open Settings → Connections → API access and create a token. Copy it once; only a hash is stored, so it is never shown again.

Send it as a Bearer

Add an Authorization: Bearer <token> header to every request. No cookie or session is needed, so a server-side job or connector works out of the box.

Call an endpoint

Every route is a plain GET that returns JSON. Start with /public/brands to get a brand ID, then read its visibility, queries, or performance.

Stay under quota

Each request counts against your plan’s monthly API allowance. Over the cap the API returns 429; the current usage is on your token in Settings.

List your brands, then read one brand’s AI Presence:

# 1 · get a brand ID
curl -s https://api.ansyra.com/v1/public/brands \
  -H "Authorization: Bearer $ANSYRA_TOKEN"

# 2 · read its visibility (AI Presence per engine)
curl -s https://api.ansyra.com/v1/public/brands/$BRAND_ID/visibility \
  -H "Authorization: Bearer $ANSYRA_TOKEN"
Reference

Every endpoint, in one place

The full, interactive reference is generated from the live API, so it can never drift from what the service returns. Try any call in the browser, or pull the OpenAPI spec into your codegen.

MethodPathReturns
GET/public/brandsYour brands and their IDs
GET/public/brands/{brandId}/visibilityAI Presence per engine
GET/public/brands/{brandId}/queriesTracked prompts + visibility each
GET/public/brands/{brandId}/queries/{queryId}One prompt: engines, citations, rivals
GET/public/brands/{brandId}/competitorsCompetitor share for the brand
GET/public/brands/{brandId}/opportunitiesRanked content gaps (visibility opportunities)
GET/public/brands/{brandId}/performanceTrend + recent movement
GET/reporting/looker?brandId=Flat per-prompt table for BI tools

Hosted OpenAPI reference

An interactive reference with request and response schemas, an Authorize button, and one-click “Try it out”. Base URL https://api.ansyra.com/v1.

Business intelligence

Pull it into Power BI, Tableau & Looker

The reporting endpoint returns one flat row per tracked prompt, exactly the shape BI tools want. Point a web data source at it with your token and refresh on a schedule.

Power BI

Web connector

Get data → Web, point it at the reporting URL, and add the Authorization header. Set a scheduled refresh and your report stays current.

Tableau

Web data connector

Feed the same flat JSON into Tableau’s web data connector to build visibility dashboards next to the rest of your marketing data.

Looker Studio

Community connector

The endpoint is shaped for a Looker Studio community connector, so a per-prompt table drops straight into a report.

Sheets / cron

Anything that speaks HTTP

It is a plain authenticated GET returning JSON, so a spreadsheet script or a nightly cron export works just as well.

# flat per-prompt table for BI, optionally scoped to one brand
curl -s "https://api.ansyra.com/v1/reporting/looker?brandId=$BRAND_ID&format=csv" \
  -H "Authorization: Bearer $ANSYRA_TOKEN" -o ansyra-visibility.csv

Drop &format=csv for a downloadable RFC 4180 table (the brand on every row), or omit it for JSON. Point a scheduled refresh at the URL with the same Authorization header.

The rules

Scopes, quota & safety

Scopes

read and actions

Every REST endpoint here needs the token’s read scope. Write automation over MCP needs a separate actions scope, so a reporting token can never trigger a scan.

Quota

Metered per month

Requests count against your plan’s monthly API allowance. Over the cap the API returns HTTP 429, and your live usage is on the token in Settings.

Isolation

Scoped to your data

A token only ever reads the brands it is scoped to. Brand-pinned tokens are 403’d on other brands; nothing crosses a tenant boundary.

Rotation

Rotate or revoke anytime

Roll a token’s secret in place without changing integrations, or revoke it outright. Secrets are stored only as hashes and shown once.

Straight answers

Frequently asked

Which plans include API access?
API access is an entitlement on the Agency and Enterprise plans. On other plans the token screen shows the endpoints but minting is disabled, so you can see exactly what upgrading unlocks. Compare plans.
Is the API read-only?
The REST endpoints here are read-only (GET). Write actions, running a scan or creating a content brief, are available over the Model Context Protocol (MCP) server with a token that carries the actions scope, so automation is opt-in and never accidental.
What are the rate limits?
Requests are metered per calendar month against your plan’s API allowance rather than a per-second cap. When you exceed the monthly allowance the API returns HTTP 429; your live usage and remaining allowance are shown on the token in Settings → Connections.
Do the numbers match what I see in the app?
Yes. The API reads the same measured answers the dashboards do, scoped to the brands your token can see. Where a figure is modeled rather than directly measured, the field is labelled, exactly as it is in the product.
Can one token read every brand?
A token is either pinned to a single brand or scoped to your whole organization. A brand-pinned token reading another brand gets a 403; an org-wide token reading a brand that does not exist gets a 404. You choose the scope when you mint it.

Get a token and start building

Start a free trial to explore the product, then mint a token in Settings on an API-enabled plan (Agency and up) and read your AI-visibility data over a clean REST API.