AI Brand Visibility & Citation Audit API avatar

AI Brand Visibility & Citation Audit API

Under maintenance

Pricing

from $16.00 / 1,000 completed ai observations

Go to Apify Store
AI Brand Visibility & Citation Audit API

AI Brand Visibility & Citation Audit API

Under maintenance

Audit how your brand and competitors appear in OpenAI and Claude web-search API answers. Capture mentions, citations, competitor gaps, cited domains, answer coverage, and inspectable evidence. BYOK. Only completed provider observations are billed

Pricing

from $16.00 / 1,000 completed ai observations

Rating

0.0

(0)

Developer

Lasse

Lasse

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Categories

Share

AI Brand Visibility & Citation Auditor

Audit brand and competitor visibility in AI API answers — with inspectable evidence.

Run your exact prompts through supported provider APIs, capture the returned answer and citations, and get structured findings linked to the evidence behind them. Every requested observation produces one auditable row — including the ones that failed, were blocked, or could not run, so nothing is silently dropped.

How it works

  1. You provide the prompts — verbatim; The Actor never generates, rewrites, or discovers prompts.
  2. You declare identities — your brand (name, optional aliases and domains) and optionally explicit competitors. The Actor never guesses or discovers competitors.
  3. You choose automated provider surfaces — and supply your own API key for each selected provider (BYOK). The Actor performs the acquisition for you.
  4. You get one row per observation — answer text, normalized citations, requested vs. applied scope, coverage, findings, diagnostics, provenance.

Public beta scope

The launch form intentionally exposes more than one provider, but only providers that have passed their live acceptance checks should be published. The current public-beta target is OpenAI + Anthropic Claude. Gemini and Perplexity remain implemented or reserved routes, not part of the public launch promise.

Answer surfaces

Surface IDWhat it isStatus
OPENAI_SEARCH_APIOpenAI Responses API + web search (BYOK)Public beta — live acceptance still required before Store publication
CLAUDE_WEB_SEARCH_APIAnthropic Claude Messages API + web search (BYOK)Public beta — live acceptance still required before Store publication
GEMINI_GROUNDED_APIGoogle Gemini API with Search groundingNot in public beta — hidden pending commercial terms review
PERPLEXITY_AGENT_APIPerplexity Agent API (BYOK)Gated — not in public beta pending live verification
CHATGPT_CONSUMERChatGPT consumer productCapture-only — paste an observed answer; no automated acquisition
GEMINI_CONSUMERGemini consumer productCapture-only — paste an observed answer; no automated acquisition
PERPLEXITY_CONSUMERPerplexity consumer productCapture-only — paste an observed answer; no automated acquisition
CLAUDE_CONSUMERClaude consumer productCapture-only — paste an observed answer; no automated acquisition
COPILOT_CONSUMERMicrosoft Copilot consumer productCapture-only — paste an observed answer; no automated acquisition
GOOGLE_AI_MODE_PUBLICPublic Google AI Mode product surfaceCapture-only; automated acquisition remains disabled
GOOGLE_AI_OVERVIEWS_PUBLICPublic Google AI Overviews surfaceCapture-only; automated acquisition remains disabled

Provider API output is provider API output — a run against OPENAI_SEARCH_API is never presented as a captured ChatGPT consumer session, and the same applies to the other surfaces.

What each row contains

  • status — COMPLETE, PARTIAL, BLOCKED, FAILED, NOT_RUN, or UNSUPPORTED.
  • answer.coverage / citations.coverage — independent coverage states. A partial or failed observation can never become a "not mentioned" or "not cited" finding.
  • requestedScope vs. appliedScope — scope is only claimed as applied where the surface actually supports it.
  • findings — deterministic, evidence-tagged verdicts (e.g. TARGET_BRAND_MENTIONED, COMPETITOR_CITED_WHILE_TARGET_NOT_CITED, REPEATED_CITED_DOMAIN_IN_CHECKED_SCOPE).
  • upstreamProvenance — provider, API family, model/preset, request ID, executed search queries, token usage.
  • diagnostics — sanitized, structured reasons for anything that did not happen.

Credentials and cost — read before running

  • BYOK is the standard workflow. Public-beta providers require your own API key, supplied as an encrypted secret input field (openaiApiKey or anthropicApiKey). Keys are sent only to that provider's API and are never written to the Dataset, key-value store, logs, or diagnostics.
  • Two separate costs. Provider usage (searches, tokens) is billed by the provider to your account and is reported back as provider-reported telemetry — it is outside this Actor's charge cap. Separately, the Actor uses Apify pay-per-event pricing: one observation-evaluated event per COMPLETE observation. PARTIAL, BLOCKED, FAILED, NOT_RUN, and UNSUPPORTED observations are never charged.
  • An uncertain charge outcome is recorded as unknown and stops billing — the Actor prefers possible underbilling over any risk of a double charge. Every unit is recorded in the run's CHARGE_JOURNAL.

Advanced import

USER_SUPPLIED_CAPTURE remains available through JSON/API for debugging, migration and importing an answer that was observed elsewhere. It is intentionally hidden from the normal Console form and is not presented as a free alternative to automated acquisition.

Limits

Hard bounds always apply: 100 prompts, 25 competitors, 5 surfaces, 25 scopes, 5 samples, 500 observations and 500 provider requests per run, 3 retries per observation, 1-hour run deadline. The limits object can tighten these further.

What CiteGap is not

No dashboard, no prompt or persona generation, no competitor discovery, no sentiment scoring, no recommendations, no cited-page crawling, no monitoring, no universal "visibility score", and no claims about durable AI rankings — single observations are single observations.

Output

  • Dataset — one row per requested observation (see What each row contains). Switch to the Findings view for one row per finding.
  • Key-value store — RUN_SUMMARY (counts, outcomes, billing mode, cost state), EVIDENCE_MANIFEST, CHARGE_JOURNAL.

Input reference (API / advanced use)

FieldTypeNotes
capturesobject[]Advanced JSON/API import only for already-observed answers; hidden from the normal Console form
promptsstring[]Exact prompts for automated acquisition, 1–100; optional with captures
targetobject{name, aliases?, domains?} — the audited brand
competitorsobject[]Optional explicit list, max 25
surfacesstring[]Automated surface requests, 1–5; optional with captures
scopesobject[]Optional {country?, region?, city?, timezone?, language?}, max 25
samplesPerObservationinteger1–5, default 1
openaiApiKey / anthropicApiKeystringSecret BYOK fields shown in Console for public-beta providers
geminiApiKey / perplexityApiKeystringHidden/reserved fields while those routes remain outside the public beta
credentialsobjectEquivalent nested shape for API use
limitsobjectOptional tightened caps

Permissions

The Actor runs with limited permissions: it writes only to its own run storage. Automated observations make HTTPS calls only to the selected provider APIs. Advanced user-supplied imports make no provider request. Customer web targets are never fetched. No browser automation is used.