CrawlPodScan your site

Full report pipeline

npx ai-visibility report is the one-command version of everything else in these docs: it runs the AI Readiness Engine, prompt discovery, brand measurement, citation analysis, and competitor gap analysis together and prints one combined report.

What report runs

npx ai-visibility report --domain acmecrm.com --url https://acmecrm.com \
  --brand "Acme CRM" --category "CRM software" --competitors "HubSpot,Pipedrive"

--domainis required (it's what citation analysis uses to classify your own domain vs. third-party sources). The audit section is optional — pass a positional [url] or --dir to include it; omit both and the report skips straight to discovery/measurement with a note that the audit section was skipped. Passing both a URL and --dir is an error, not a silent preference.

Without --from, --brand and --category are required — report runs discovery and measurement live, exactly like calling discover then measure yourself, using the same configured engine keys. If the audit section fails (a fetch error, an unreachable URL), it's skipped with a warning rather than aborting the whole report — the other four sections don't depend on it.

The --from flag

--from <file> loads a previously saved measure --jsonreport instead of running discovery and measurement again — the single most useful flag in this suite once you've already spent API credits on one measurement run:

# Spend API credits once
npx ai-visibility measure --brand "Acme CRM" --category "CRM software" --competitors "HubSpot,Pipedrive" --json > report.json

# Re-run analysis on the same data as many times as you want, for free
npx ai-visibility citations --domain acmecrm.com --from report.json
npx ai-visibility compare --from report.json
npx ai-visibility report --domain acmecrm.com --from report.json

With --from, --brand defaults to the brand already in the loaded report, and --competitorsdefaults to every competitor already present in it — both still overridable. This is also how to iterate on a live site's audit score (which changes every time you redeploy) without re-running the expensive, rate-limited measurement step every time:

npx ai-visibility report --domain acmecrm.com --url https://acmecrm.com --from report.json

CLI: report

--json prints the full combined report as one object ({ audit?, measurement, citations, compare }) — the same shapes documented on each section's own page, nested together rather than redefined. Without --json, each section renders with the exact same formatter its own standalone command uses (audit's category bars, measure's visibility bars, citations' source table, compare's ranked gap reasons) — one continuous report instead of four separate invocations. --verboseexpands every section's top-10-only views to show everything.

This is the command a CI job or a scheduled check would run for the most complete single snapshot of AI visibility this package can produce. For a cheaper, structure-only signal suited to every build (no API keys, no rate limits), use audit/lint on its own instead.