# AuditAE documentation (full text) Every page of https://auditae.app/docs in one file. The curated index for AI agents is https://auditae.app/llms.txt; each page is also served alone as Markdown at https://auditae.app/docs/.md. # Apply a fix plan and check it worked Source: https://auditae.app/docs/fix-plan Turn an audit into exact edits, apply them on WordPress or any other site, ping the crawlers, and re-check whether AI engines now cite you. ## Steps ### 1. Run an audit Add your first site and AuditAE runs the workspace's first audit automatically: 4 buyer questions on ChatGPT, Perplexity, Gemini and Google AI Overviews. After that, run one from the site's **Overview** (**Run check now**) or **Citations → Audits** (**New audit**). See [Add a site and run an audit](https://auditae.app/docs/run-an-audit). ### 2. Read the diagnosis Every audit ends with a short list of top fixes (1–3 actions ranked by how many lost answers each would close), and every answer that doesn't cite you gets a playbook row. There are two kinds of loss: **mentioned-only** (the engine named your brand but cited someone else's URL, the most fixable kind) and **pure loss** (your brand wasn't mentioned at all). See [Read audit results](https://auditae.app/docs/read-results). ### 3. Get the exact edits Ask for the sentences to rewrite, the FAQs, title and meta, JSON-LD and missing pages for a page or the whole site. In the dashboard, each top fix has an AEBOT button: **Apply with AEBOT** when the site is a paired WordPress site with **Write SEO settings** on, **Show me the exact edits** when it's paired without it, and **Do it with AEBOT** otherwise. A reply is usually about $1–2. Over MCP, call `get_fix_plan` ($0.50 per plan; the same request again within 24 hours, errors, and plans with nothing left to fix are free). See [What's in a fix plan](https://auditae.app/docs/fix-plan#whats-in-a-fix-plan) below. ### 4. Apply the edits Pick the route that matches the site: - **Paired WordPress site:** AEBOT or your MCP client applies the fixes with the `wp_*` tools. Post edits need **Create + update draft posts** or **Publish posts directly**; SEO titles, meta, schema, FAQ schema and llms.txt need **Write SEO settings**. Each write costs 5¢. See [What AEBOT can do at each WordPress permission level](https://auditae.app/docs/wordpress-permissions). - **Shopify, Webflow, Wix, Squarespace, Framer or another builder:** follow each fix's `apply` steps for that platform and paste its ready-made `code` (JSON-LD, meta tags) where it says. - **A site built from code (Next.js, Astro, …):** have Claude Code or Cursor, connected to AuditAE, edit the repo from the plan. See [Connect Claude, ChatGPT or Cursor](https://auditae.app/docs/mcp). Never publish a fix marked as a draft until you've confirmed or supplied the facts it lists. ### 5. Tell the crawlers the pages changed Once the changes are live, call `submit_urls` with the changed URLs (free). It pings IndexNow, which notifies Bing, Yandex, Naver and Seznam so they re-crawl sooner. Google doesn't use IndexNow. Bing's index is one of the sources ChatGPT search and Copilot draw on. On a paired WordPress site the AuditAE plugin already pings IndexNow when you publish or update, unless you turned its auto-ping off. ### 6. Check it worked Engines take days to weeks to pick up a change. Over MCP, `schedule_recheck` re-asks the plan's prompts N days later against the audit you started from (free to schedule; the checks and their playbook are billed when it runs), and `get_recheck` compares citations before and after. In the dashboard, the first audit comes with a free re-check: 14 days later we re-ask up to 5 of its questions on ChatGPT and Perplexity and email you whether you moved. To keep watching, use the **Re-check these N questions every week** card on your first audit's results and click **Track weekly**. ## What's in a fix plan A fix plan is a ranked list of exact changes that get your brand cited by AI engines instead of competitors. It's written for the platform the site runs on, and it checks the live site first (sitemap, llms.txt, robots.txt, homepage links, JSON-LD). Each fix carries: | Field | What it tells you | |---|---| | Priority and page | Which change to make first, and where | | Why | Why the change gets you cited, and which lost prompts it closes | | The edit | Text to find and replace, new copy, an FAQ, title and meta, or JSON-LD | | `apply` and `code` | Steps for the detected platform, plus paste-ready code | | `already_done` | The fix is already live. Skip it. | | `draft` | The copy states facts the site doesn't show yet. The facts are listed so you can confirm or supply them. | The plan also returns the prompts to re-ask once you've shipped (`verify_prompts`) and the audit it was built from, which `schedule_recheck` uses as the baseline. > [!WARNING] > A fix marked `draft` is not ready to publish. Confirm or correct each listed fact first, work in only what's true, and never publish a draft as-is. Copy without the draft mark is grounded in the site's own content. ## Fixing the share-of-voice gap When buyers see your brand name but click a comparison-site URL, that's an **attribution leak**: the engine answered *about you*, but a third party got the credit. Fix it with on-page schema, comparison content, or partnerships with the sites that are getting cited. Every audit ends with a **"do this first"** list: 1–3 actions ranked by how many losses each would close. If the site has a brief in [Memory](https://auditae.app/docs/memory) (goals, ideal customers, decisions already made), the ranking respects it: it won't re-propose something you've marked as tried, and it favors moves that serve your stated priority keywords. ## What it costs - The playbook and top fixes on your first audit aren't charged — only the engine checks use credit. - **Audit checks:** priced by engine per prompt × engine cell: Perplexity 5¢, ChatGPT 7¢, Google AI Overviews 9¢, Gemini 12¢. - **Playbook rows:** one per answer that doesn't cite you, about 10¢ each, plus about 45¢ for the top-fixes summary. - **`get_fix_plan`:** $0.50 per plan. Repeats within 24 hours and errors are free. - **AEBOT:** billed on the reply's tokens; a reply is usually about $1–2, and AEBOT needs $1.50 of credit to start one. - **WordPress writes:** 5¢ each. Reads are free. - **Re-checks:** free to schedule. When one runs, each check is billed at the engine's price, plus playbook rows for answers that still don't cite you. Full price list: [Credits, prices and top-ups](https://auditae.app/docs/credits). ## Any website, not just WordPress `get_fix_plan` detects what the site is built on and returns each fix with steps for that platform plus paste-ready JSON-LD and meta tags. On a paired WordPress site the agent applies it with the `wp_*` tools; on a code-built site (Next.js, Astro, …) a coding agent like Claude Code or Cursor edits the repo; on Shopify, Webflow, Wix, Squarespace or Framer it walks you through the editor. ## Further reading - [How to rank on ChatGPT](https://auditae.app/blog/how-to-rank-on-chatgpt): the strategy behind these fixes. - [Pair the AuditAE WordPress plugin](https://auditae.app/docs/wordpress-pairing) so AEBOT can apply fixes for you. # Connect Claude, ChatGPT or Cursor to AuditAE (MCP) Source: https://auditae.app/docs/mcp Add AuditAE's remote MCP server to Claude, ChatGPT, Claude Code, Cursor or Claude Desktop with OAuth or an API key, then run audits and fixes from chat. ## Steps ### 1. Copy the server URL AuditAE ships a remote MCP endpoint (Streamable HTTP, stateless) at `https://auditae.app/api/mcp`. There's no AuditAE package to install: every client connects to that URL. ### 2. Choose OAuth or an API key **Claude.ai, ChatGPT and other OAuth clients:** add the endpoint URL as a custom connector and sign in with your AuditAE account when prompted. No key to copy; the connection uses your personal workspace and its balance. **Claude Code, Cursor, Windsurf and other config-file clients:** pass the same `ae_live_…` Bearer key as the REST API (team workspaces use this path). Create one at [API keys](https://auditae.app/dashboard/keys): click **Create key** and copy the key from the banner straight away. It's shown once; lose it and you'll need to **Rotate** it. ### 3. Add the server to your client Paste the URL, command or config block for your client from [Client setup](https://auditae.app/docs/mcp#client-setup) below. Claude Desktop needs a restart after you save its config. ### 4. Try a first prompt Ask: "List my AuditAE sites, read the latest audit for my site, then get a fix plan for it." The agent calls `list_sites` (free) for site ids and the latest audit, `get_audit` (free) for who got cited on each prompt and engine, then `get_fix_plan` ($0.50) for the exact edits. See [Apply a fix plan and check it worked](https://auditae.app/docs/fix-plan) for the rest of the loop. ## Client setup Every client gets the same server and the same tools. Pick yours: ### Claude.ai and ChatGPT Custom connector, signed in with OAuth. Add the server URL as a custom connector and sign in with your AuditAE account. No API key and no config file: the connection covers every paired site in your workspace. ```text https://auditae.app/api/mcp ``` ### Claude Code One command in your terminal. Adds the server to your project or user scope. Run it once, then ask Claude Code to list your WordPress sites to confirm the connection. ```bash claude mcp add --transport http auditae https://auditae.app/api/mcp \ --header "Authorization: Bearer ae_live_…" ``` ### Cursor · Windsurf · any HTTP client Add this to `.cursor/mcp.json`, or your client's MCP config. Streamable HTTP with an Authorization header. The same block works in Windsurf, Cline, Zed, and any client that speaks remote MCP with custom headers. ```json { "mcpServers": { "auditae": { "url": "https://auditae.app/api/mcp", "headers": { "Authorization": "Bearer ae_live_…" } } } } ``` ### Claude Desktop Add this to `claude_desktop_config.json`. Desktop launches stdio servers, so mcp-remote bridges to the hosted endpoint. Restart the app after saving. ```json { "mcpServers": { "auditae": { "command": "npx", "args": [ "-y", "mcp-remote", "https://auditae.app/api/mcp", "--header", "Authorization:${AUTH_HEADER}" ], "env": { "AUTH_HEADER": "Bearer ae_live_…" } } } } ``` ## OAuth or API key - **OAuth** (Claude.ai, ChatGPT and other connector clients) signs you in as a person and always uses your **personal workspace** and its balance. Team workspaces use an API key instead. - **API keys** (`ae_live_…`) belong to a workspace, personal or team, and work for the MCP server and the [REST API](https://auditae.app/docs/api). Create, rotate and revoke them at [API keys](https://auditae.app/dashboard/keys). - **Rate limits:** 60 requests a minute per key, and 30 failed sign-ins a minute per IP address. - **New tools:** clients load the tool list when they connect. If a tool you expect is missing, disconnect and reconnect the server. ## What the tools do Every client gets the same server: **56 tools** across six families: - **Citation & mentions (12):** `check_brand_citation` (one prompt across N engines), `get_share_of_voice` (full matrix with domain-level cite counts), `explore_llm_mentions` (historical AI-citation corpus), `explore_web_mentions` (open-web brand mentions with sentiment, **$0.25**), `mine_competitor_prompts` (prompts where a competitor earned the citation — one competitor, or all of them in one run), `find_content_gap`, `extract_competitors_from_text` (analyze AI output you already have — bundled), and `get_audit` (an existing audit's per-prompt × engine results — who got cited, which URLs — free), `get_fix_plan` (the exact edits that get you cited, written for the site's platform, checked against the live site so fixes already in place come back marked `already_done` and copy the site doesn't back up comes back as a `draft` to confirm — **$0.50**), plus `schedule_recheck`, `get_recheck` and `cancel_recheck` (re-ask a plan's prompts N days after you publish and compare citations before vs after — free to schedule, each check billed when it runs). - **Technical & site health (7):** `run_technical_audit` (homepage crawl + Core Web Vitals, answers within ~25s — free), `crawl_site` (multi-page crawl, **$0.01/page**), `get_latest_crawl` (cached result — free), `detect_tech_stack` (CMS / platform detection — free), `check_agent_readiness` (can AI agents reach, read and buy from the site — free), `get_backlink_summary` (off-page authority for the site or a competitor — free), `submit_urls` (ping IndexNow — Bing, Yandex and others — with changed URLs from AuditAE's server — free). - **WordPress (26):** read/write tools that pair with the free AuditAE WordPress plugin — `wp_list_sites`, `wp_site_status`, `wp_list_posts`, `wp_get_post`, `wp_create_post`, `wp_update_post`, Yoast/Rank Math meta (`wp_get_post_seo`, `wp_set_post_seo`, `wp_get_seo_settings`, `wp_set_seo_settings`), FAQ, post-level, and organization-level JSON-LD CRUD, schema probe, llms.txt curation (`wp_get_llms_txt`, `wp_set_llms_txt`, `wp_reset_llms_txt`), and the Page Composer (`wp_read_page_blocks`, free; `wp_design_page` at 25¢). Standard WP mutations cost 5¢ each, billed per write; reads are free. Every wp_* tool takes either the `wp_list_sites` id or the site's `list_sites` site_id, and schema writes are validated before they reach the site. What each tool needs from the plugin: [WordPress permissions](https://auditae.app/docs/wordpress-permissions). - **Account (6):** `list_sites` (every site with its site_id, competitor domains and latest audit — call it first), `get_balance`, `create_top_up_link`, and on the remote server `pay_with_shared_payment_token` — see [Top-ups for agents](https://auditae.app/docs/credits#top-ups-for-agents), plus `get_client_portal` and `update_client_portal` to share a site's read-only client page and get its link. Free. - **Google data (2):** `query_search_console` (clicks, impressions, CTR and position by query, page, country, device or date) and `query_google_analytics` (any GA4 dimensions and metrics). They use the Google connection and the GA4 property / Search Console site picked in each site's Settings, so there's no Google Cloud project to set up. Free. See [Connect Google](https://auditae.app/docs/google). - **Schema (3):** `discover_brand_entities` (Wikidata-backed identifier lookup), `generate_schema`, `validate_schema` — the same schema-autopilot tools AEBOT uses (see [Using AEBOT](https://auditae.app/docs/aebot)). ## Any website, not just WordPress `get_fix_plan` detects what the site is built on and returns each fix with steps for that platform plus paste-ready JSON-LD and meta tags. On a paired WordPress site the agent applies it with the `wp_*` tools; on a code-built site (Next.js, Astro, …) a coding agent like Claude Code or Cursor edits the repo; on Shopify, Webflow, Wix, Squarespace or Framer it walks you through the editor. ## Prices MCP calls spend the same credit balance as the dashboard: 5–12¢ per check depending on the engine (Perplexity 5¢, ChatGPT 7¢, Google AI Overviews 9¢, Gemini 12¢). Each tool's description includes its price (a **Billing:** line), so your agent can quote it before calling. When the balance hits zero, in-flight audits return `partial: true` with the cells that did run. Full list, top-ups and limits: [Credits, prices and top-ups](https://auditae.app/docs/credits). ## Agents without an account A separate endpoint, `https://auditae.app/api/mcp/pay`, serves agents that have no AuditAE account. It takes no OAuth; an `ae_live_…` key is optional. - **Free with no credentials:** `extract_competitors_from_text`, `discover_brand_entities`, `validate_schema`, `generate_schema`, `run_technical_audit`, `check_agent_readiness`. Limited to 30 free calls per IP address a day, with a site-wide daily ceiling. - **Paid tools need a funded workspace.** Pay-per-call isn't switched on yet. Call `add_site` (free) to get a workspace API key, then `create_top_up_link` (free) and have a person pay the link ($5 minimum), then retry with the key as a Bearer token. Or [sign up](https://auditae.app/sign-up) and use `https://auditae.app/api/mcp` with OAuth or a key. - **With a workspace:** `list_sites` shows its sites, `get_audit` reads results for free, `submit_urls` pings IndexNow for free, and `schedule_recheck` (needs a funded workspace) re-asks a plan's prompts later. - **WordPress tools need an account** and a paired plugin: [Pair the AuditAE WordPress plugin](https://auditae.app/docs/wordpress-pairing). ## Machine-readable discovery - MCP server card: [/.well-known/mcp/server-card.json](https://auditae.app/.well-known/mcp/server-card.json), with every tool, its price and the no-account endpoint. - [/llms.txt](https://auditae.app/llms.txt): a summary of AuditAE for language models. - [/openapi.json](https://auditae.app/openapi.json): the REST API as OpenAPI 3.1. See [REST API and API keys](https://auditae.app/docs/api). ## More guides - [AuditAE MCP server guide](https://auditae.app/blog/auditae-mcp-server): what an MCP server is, connecting each client, and what a real run returns. - [WordPress MCP](https://auditae.app/wordpress-mcp): editing WordPress from Claude, ChatGPT or Cursor. - [Google Analytics MCP](https://auditae.app/google-analytics-mcp): asking your GA4 and Search Console data questions from chat. # What AEBOT can do at each WordPress permission level Source: https://auditae.app/docs/wordpress-permissions The four AuditAE plugin permissions (read, draft, publish, Write SEO settings): what AEBOT and MCP agents can and can't change at each level. Once the AuditAE plugin is paired, the site owner decides what AEBOT and any agent connected over MCP may do on the site. There are four switches, and every write is checked against them twice: by AuditAE before the request leaves our servers, and by the plugin on your site before it changes anything. > [!NOTE] > A new pairing starts with **read** and **draft** only. Publishing and SEO writes are opt-in. ## Where to change permissions In WordPress admin, go to **Settings → AuditAE**, open the **Connect** tab, and find the **What AEBOT can do** card (it appears once the site is paired). Tick the permissions you want and click **Save permissions**. Only an administrator can change them. AEBOT picks up a change the next time it tries: if a permission it needs is missing, it re-reads the plugin's live settings before giving up, so you don't need to re-pair. The connection page in AuditAE ([WordPress sites](https://auditae.app/dashboard/wp)) shows the current set; click **Refresh** there to sync it by hand. ## The four permissions | Permission | Shown in AuditAE as | What it allows | Tools | |---|---|---|---| | `read` | Read site data (free) | Read posts and pages, SEO meta, schema, llms.txt, media, links, redirects, the AI crawler log and form leads | `wp_site_status`, `wp_get_seo_settings`, `wp_list_posts`, `wp_get_post`, `wp_get_post_seo`, `wp_get_faq_schema`, `wp_get_post_schema`, `wp_get_organization_schema`, `wp_probe_schema`, `wp_get_llms_txt`, `wp_read_page_blocks`, `wp_list_recent_posts` (AEBOT only), `wp_get_post_links` (AEBOT only), `wp_get_link_graph` (AEBOT only), `wp_list_crawler_hits` (AEBOT only), `wp_list_form_submissions` (AEBOT only), `wp_get_fields` (AEBOT only), `wp_list_media` (AEBOT only), `wp_get_media` (AEBOT only), `wp_list_redirects` (AEBOT only), `wp_suggest_redirects_from_404s` (AEBOT only) | | `draft` | Create + update draft posts | Create and update drafts, upload media, insert internal links in drafts, save a designed page as a draft, trash a draft | `wp_create_post`, `wp_update_post`, `wp_trash_post`, `wp_design_page`, `wp_upload_media` (AEBOT only), `wp_insert_internal_link` (AEBOT only), `wp_edit` (AEBOT only) | | `publish` | Publish posts directly | Publish or schedule posts and edit posts that are already live, including link inserts and designed pages | `wp_create_post`, `wp_update_post`, `wp_design_page`, `wp_insert_internal_link` (AEBOT only), `wp_add_record` (AEBOT only) | | `write_seo` | Write SEO settings | Change SEO titles and descriptions, FAQ, post and organization schema, llms.txt, image alt text and captions, and redirects | `wp_set_seo_settings`, `wp_set_post_seo`, `wp_set_faq_schema`, `wp_delete_faq_schema`, `wp_set_post_schema`, `wp_delete_post_schema`, `wp_set_organization_schema`, `wp_delete_organization_schema`, `wp_set_llms_txt`, `wp_reset_llms_txt`, `wp_update_media` (AEBOT only), `wp_rename_media` (AEBOT only), `wp_add_redirect` (AEBOT only), `wp_delete_redirect` (AEBOT only) | `wp_list_sites` lists your paired sites from AuditAE itself and needs no permission. Tools marked "AEBOT only" are available in the AEBOT chat but not over MCP. ## What AEBOT does at each level ### Not paired AEBOT can't touch the site. It gives you paste-ready edits (copy, meta tags, JSON-LD) and points you to [pairing the plugin](https://auditae.app/docs/wordpress-pairing). ### Read only AEBOT reads your posts, SEO meta, schema, llms.txt, media, links, redirects and the AI crawler log, so its advice is about your real pages. It won't offer to create a draft or change anything. ### Read and draft (the default) AEBOT can create new drafts and update drafts, upload media, insert internal links into drafts, and save a designed page as a draft for you to review and publish yourself. Editing a post that is already published needs **publish**. ### Publish AEBOT can publish or schedule posts and edit live content, always after you confirm. Scheduling a post for later counts as publishing, because it goes live without another check. Trashing a live post needs **publish** too; trash is reversible from the WordPress Trash. ### Write SEO settings AEBOT can apply SEO fixes directly: titles and meta descriptions (Yoast or Rank Math), FAQ schema, post and organization schema, llms.txt, image alt text and captions, and 404 → 301 redirects. Schema is validated before it reaches the site. Without **Write SEO settings**, AEBOT shows you the exact edits instead of applying them, and names the switch that would let it apply them. On an audit, the fix buttons read **Show me the exact edits** for a paired site without it, and **Apply with AEBOT** once it's on. ## Good to know - **Elementor pages:** AEBOT edits text in place with exact find-and-replace edits (`wp_update_post` with `replacements`). Whole-page rewrites are refused there, and fields bound to Elementor Pro dynamic tags are skipped. On block-editor pages the same edits also update the text blocks keep in their settings (Yoast or Rank Math FAQ blocks, for example), so edited blocks stay valid in the editor. - **AuditAE AI Autopilot theme:** `wp_edit` changes page fields and site-wide brand settings (needs **draft**), and `wp_add_record` adds services, locations, FAQs and other records that pages loop over (needs **publish**). - **Every action is logged** on the plugin's **Activity** tab in WordPress admin, and you can disconnect at any time from the **Connect** tab. ## What it costs Reads are free. Each standard write costs 5¢, billed per write from your AuditAE balance. `wp_design_page` (the Page Composer) costs 25¢. AEBOT's own reply is billed on top; see [Credits, prices and top-ups](https://auditae.app/docs/credits). # Pair the AuditAE WordPress plugin Source: https://auditae.app/docs/wordpress-pairing Install the free AuditAE plugin, pair it with an 8-character code, and choose what AEBOT may change. Plus fixes for blocked pairing and llms.txt 404s. ## Steps ### 1. Install the plugin In WordPress admin, go to **Plugins → Add New**, search for **AuditAE**, click **Install**, then **Activate**. It's listed on WordPress.org as [AuditAE – MCP & AI SEO](https://wordpress.org/plugins/auditae-ai-search-toolkit/). Installing from WordPress.org keeps it updated. The plugin is free, and its own tabs (AI Readiness Score, AI crawler log, internal links, llms.txt and schema) work without an AuditAE account. ### 2. Generate a pairing code Go to **Settings → AuditAE**, open the **Connect** tab and click **Generate pairing code**. You get an 8-character code that works once and expires after 10 minutes. **Regenerate pairing code** replaces it with a new one. You need to be a WordPress administrator, and the site must use HTTPS. ### 3. Paste the code into AuditAE Sign in to AuditAE (new accounts get $5 of free credit, no card) and open [Connect a WordPress site](https://auditae.app/dashboard/wp/connect). Enter your site URL and the pairing code, then click **Connect site**. The plugin's Connect tab refreshes by itself and shows **Paired** as soon as the connection is made. ### 4. Choose what AEBOT can do Back on the plugin's **Connect** tab, the **What AEBOT can do** card appears once the site is paired. A new pairing can read the site and create drafts. Tick **publish** and **write_seo** (Write SEO settings) if you want AEBOT to publish and apply SEO fixes directly, then click **Save permissions**. See [What AEBOT can do at each WordPress permission level](https://auditae.app/docs/wordpress-permissions). ## What pairing sets up - **A site in AuditAE.** If your workspace doesn't have the domain yet, pairing adds it, named after your WordPress site. You can edit its brand, competitors and prompts afterwards. - **Your first audit.** If pairing added the site and the workspace has never run an audit, pairing starts one: 4 buyer questions on ChatGPT, Perplexity, Gemini and Google AI Overviews. We email you when it's ready. - **A secure connection.** AuditAE trades the code for a long-lived access token and stores it encrypted. You can revoke it from either side at any time. - **A default author.** Drafts AEBOT creates are attributed to the administrator who generated the pairing code. ## Using the paired site - **In AEBOT:** ask it to read, draft or fix posts, add schema, update llms.txt or turn AI-bot 404s into redirects. It checks the pairing's permissions first and only offers what they allow. See [Using AEBOT](https://auditae.app/docs/aebot). - **From the plugin:** fix buttons on the plugin's **Score** tab open AEBOT with that fix. - **From Claude, ChatGPT or Cursor:** the `wp_*` MCP tools work on every paired site. See [Connect Claude, ChatGPT or Cursor](https://auditae.app/docs/mcp). - **Pricing:** reads are free; each standard write costs 5¢ and a designed page (`wp_design_page`) 25¢, from your AuditAE balance. All your paired sites are listed at [WordPress sites](https://auditae.app/dashboard/wp). ## Troubleshooting ### Another plugin blocked the pairing request A JWT, security or "REST API access" plugin can refuse AuditAE's requests before the AuditAE plugin sees them. In that plugin's settings, allow `/wp-json/auditae/v1/` (or whitelist the AuditAE endpoints), then click **Connect site** again. The same pairing code still works. If the block starts after pairing, update AuditAE in **Plugins** first: recent versions get past most JWT auth plugins on their own. ### The code expired or was cancelled A code lasts 10 minutes and works once. Too many wrong attempts cancel it, which can happen when automated traffic or other sites on the same network hit the pairing endpoint. Click **Generate pairing code** for a new one and paste it straight away. ### WordPress says Paired but AuditAE doesn't show the site The site may have answered too slowly, or the connection wasn't saved on our side. Generate a new pairing code on the plugin's **Connect** tab and paste it into AuditAE. ### The site isn't on HTTPS The plugin refuses to pair over plain HTTP. Switch the site to HTTPS. For a local development site only, you can opt out with `define('AUDITAE_ALLOW_INSECURE', true)` in `wp-config.php`. ### /llms.txt returns 404 With **Plain** permalinks on Apache, the server answers 404 for files like `/llms.txt` before WordPress can serve them. Choose any other structure under **Settings → Permalinks**. The plugin's Score tab tells you when this is happening. ## Unpair a site - **From WordPress:** on the plugin's **Connect** tab, click **Disconnect AuditAE**. The token is wiped and AEBOT loses access immediately. The plugin's activity log is kept. - **From AuditAE:** open the site under [WordPress sites](https://auditae.app/dashboard/wp) and click **Disconnect** under **Disconnect this site**. That revokes the token on both sides. Pairing again later works the same way: generate a new code and paste it in. ## More about the plugin - [WordPress AI plugin](https://auditae.app/wordpress-ai-plugin): everything the free plugin does. - [Connect Claude to WordPress](https://auditae.app/blog/connect-claude-to-wordpress): a walkthrough of editing WordPress from Claude. - [WordPress MCP](https://auditae.app/wordpress-mcp): the WordPress tools for Claude, ChatGPT and Cursor. # Credits, prices and top-ups Source: https://auditae.app/docs/credits What each AuditAE action costs, how to top up (in the app, in AEBOT chat or from an agent), how auto-refill works, and what happens when credit runs out. AuditAE is fully pay-per-use. There's no subscription, no minimum monthly spend, and credits never expire. New accounts get **$5 of free credit**, no card required. ## What costs money - **Audit checks:** priced by engine per prompt × engine cell — Perplexity 5¢, ChatGPT 7¢, Google AI Overviews 9¢, Gemini 12¢. Cache hits bill at full price. - **Keyword rank checks:** $0.05 each — a live SERP read with AI Overview citation + 12-month volume trend (Traffic → Keywords and `track_keyword` / `refresh_keyword_rank`). One-time history backfill is $0.25 (charged only if past data exists). - **DataForSEO research pulls:** keyword research at **$0.25** and content gap at **$0.25**; **open-web mentions** (Content Analysis) at **$0.25**; **AI citations** (LLM-mentions corpus) at **$0.75**. Each saves a report you keep. Platform detection and backlink authority on the Technical tab are free. - **Playbook rows:** auto-generated for two flows — **mentioned-only** (your brand was named but a competitor's URL got the citation) and **pure-loss** (your brand wasn't mentioned at all). Each row carries a specific fix and the prompt to re-run after you ship it. Priced dynamically via Sonnet at the 10× tier — measured average **~10¢ per row**, up to ~20¢ for long answers. A 10-check audit where no answer cites you lands around **$1.45** for its playbook, rollup included. - **Audit-level rollup:** on top of the per-prompt rows, AuditAE clusters the playbook into 1–3 "do this first" actions per audit (across both loss types). One Sonnet call at the 10× tier — measured average **~45¢** per audit. - **AEBOT turns:** token-based (input + output) × Anthropic list price × the tier markup for the underlying model (Haiku 3× / Sonnet 10× / Opus 10×), rounded up to 1¢ minimum. AEBOT runs on Opus 5.5 (specialist delegations bill at Sonnet rates). Measured over 15 customer replies in the 30 days to 2026-10-01: median about $1.07, 90th percentile about $2.56, the largest $3.12. A saved report adds 25¢. Questions in the free Documentation mode cost nothing. - **Fix plans** (`get_fix_plan`): $0.50 per plan; the same request within 24 hours is free. See [Apply a fix plan](https://auditae.app/docs/fix-plan). - **Competitor prompt mining** (`mine_competitor_prompts`): 5¢. - **Site crawls:** $0.01 per page (~$0.25 for a typical 25-page site). The homepage technical audit is free. - **WordPress writes:** 5¢ per standard write, billed per write; `wp_design_page` is 25¢. Reads are free. See [WordPress permissions](https://auditae.app/docs/wordpress-permissions). - **Scheduled audits:** each run bills its checks, its fix plan and a 25¢ saved report, only when it runs. The playbook and top fixes on your first audit aren't charged — only the engine checks use credit. Every charge is billed per use and debited from your balance the moment it posts, so the balance pill in the top bar is always current. The first row at the bottom of the Billing page's activity feed is your **$5 free signup credit** — that's where the starting balance came from. ## Topping up 1. Go to [Billing](https://auditae.app/dashboard/billing). 2. Pick an amount ($5–$1,000 per top-up; a $10 first top-up is suggested if you haven't paid before). 3. Click **Add credit**. Stripe Checkout opens inline. 4. Pay. Credit is added as soon as Stripe confirms the payment, usually before the page reloads. Payments are in USD. When your balance drops below $3, the Overview shows a top-up card. ### Top up from the AEBOT chat AEBOT needs $1.50 of credit to start a reply (a reply is usually about $1–2). If you're short, the chat shows the top-up right in the conversation. Pay there and AEBOT picks up where it stopped: it sends the message it was holding, or carries on with the reply that ran out of credit. Fix buttons on your audits read **Add credit, then ask AEBOT** when your balance is too low, and take you through the same top-up. ## Auto-refill Auto-refill is offered after your first purchase. On [Billing](https://auditae.app/dashboard/billing), click **Turn on auto-refill** and save a card. Then set: - **Refill amount:** how much to add each time. - **When below:** the balance that triggers a refill. - **Monthly cap:** the most auto-refill may charge in a month. When your balance drops below the threshold, we charge the saved card for the refill amount and email a Stripe receipt. Auto-refill pauses when it reaches the monthly cap (until next month, or until you raise the cap), when a charge is declined, or when a payment is disputed; the Billing page says which and how to switch it back on. ## Top-ups for agents Agents working for you can check your balance and add credit. Over MCP: `get_balance`, `create_top_up_link` (returns a Stripe Checkout link for you to pay) and `pay_with_shared_payment_token` (charges a Stripe shared payment token you approved in your wallet, such as Link; credit lands immediately). Over REST: `GET /api/v1/billing` and `POST /api/v1/billing/top-up` with `{ "amount_usd": 20 }`, or add `"shared_payment_token": "spt_…"` to pay directly. Amounts run from $5 to $1,000. See [Connect Claude, ChatGPT or Cursor](https://auditae.app/docs/mcp) and [REST API and API keys](https://auditae.app/docs/api). ## When credit runs out - **REST API:** a paid call your balance can't cover returns HTTP 402 with a `top_up` object holding the exact call to make (a crawl too big for your balance returns the same shape, with the error `Insufficient credits for that page count.` and the crawl's worst-case cost as the amount required): ```json { "error": "Insufficient credits", "balance_cents": 0, "required_cents": 5, "top_up": { "method": "POST", "url": "https://auditae.app/api/v1/billing/top-up", "body": { "amount_usd": 5 }, "min_usd": 5, "max_usd": 1000, "note": "Returns a Stripe Checkout URL. Give it to the account owner to pay; credit lands within seconds." }, "top_up_url": "https://auditae.app/dashboard/billing" } ``` - **Audits over the API or MCP:** API + MCP calls run through the same metered audit pipeline as the dashboard: 5–12¢ per check depending on the engine (Perplexity 5¢, ChatGPT 7¢, Google AI Overviews 9¢, Gemini 12¢), debited from your credit balance. When the balance hits zero, in-flight audits return `partial: true` with the cells that did run. - **AEBOT:** if your balance is below $1.50 when a turn starts, AEBOT refuses the request rather than running up debt. Until your first purchase, a reply also stops when your balance reaches $0, so you never start with a debt. Top up to unlock again. ## Limits & guardrails - The free check (homepage and `/ai-brand-monitor`) is limited to 1 run per IP per 24 hours and 50 free checks a day site-wide. - Each engine call has a 30–60 second limit; cells that time out are marked failed and not billed. - AEBOT turns require ≥ $1.50 balance before starting (defensive floor). Until your first purchase, a reply also stops when your balance reaches $0. - Credits never expire and there's no refund clock. ## Teams, bulk usage and invoicing **Bulk usage / fixed monthly spend.** There is no seat plan and no volume discount — checks cost the same at any scale, and team seats are free at every level (invite your team; everyone spends from one balance). Teams are capped at 5 members by default — email support@auditae.app to raise it, still free. For a subscription-style setup, turn on auto-refill on [Billing](https://auditae.app/dashboard/billing), set the refill amount to your monthly budget (up to $1,000) and the monthly cap to match: one card charge and one Stripe receipt a month. Above $500/month, email [support@auditae.app](mailto:support@auditae.app?subject=AuditAE%20enterprise%20invoicing) for invoicing instead of card charges and a response-time SLA. All public prices: [Pricing](https://auditae.app/pricing). # Getting started Source: https://auditae.app/docs/getting-started What AuditAE does, what you get when you sign up (free credit, a first audit, a free re-check) and the recommended path for a new account. **What AuditAE does:** when a buyer asks ChatGPT, Perplexity, Gemini, or Google AI Overviews about your category, AuditAE checks whether the engine cites your brand — and if not, who got the link instead. **Why it matters:** traditional SEO measures whether you rank in Google. AEO measures whether you're the answer when an AI *answers for* Google. 60% of searches now end without a click; the answer the AI gave is the conversion moment, and most brands have no instrumentation on it. ## What you get on signup - **$5 free credit**, no card required. It shows up as the first row on the Billing page. The credit goes to your personal workspace; a new team workspace starts at $0. - **Your first audit runs automatically** when you add your first site: 4 buyer questions × 4 engines = $1.32 in checks. The playbook and top fixes on your first audit aren't charged — only the engine checks use credit. After that, a 5-prompt × 4-engine audit is $1.65 in checks, plus about 10¢ of fix plan per answer that doesn't cite you and a 45¢ summary, so about $4.10 when no answer cites you. - **Free re-check:** 14 days after your first audit, we re-ask up to 5 of its questions on ChatGPT and Perplexity for free and email you whether you moved. - **One-click weekly tracking:** the "Re-check these N questions every week" card on your first audit's results shows the cost per run, and its **Track weekly** button saves the questions as the site's prompts and schedules them, with a top-up inside the card if you need one. - **First top-up:** accounts that haven't paid yet see a $10 one-off top-up; auto-refill is offered after your first purchase. - A **private workspace** — every audit, prompt, and saved chat is scoped to your account. - API + MCP access — generate a key when you're ready to automate. See [REST API and API keys](https://auditae.app/docs/api) and [Connect Claude, ChatGPT or Cursor](https://auditae.app/docs/mcp). ## Recommended path for a new account 1. Add a site for the brand you want to track — see [Add a site and run an audit](https://auditae.app/docs/run-an-audit). 2. Run an audit from that site to see how AI engines cite you today, then [read the results](https://auditae.app/docs/read-results) and [apply a fix plan](https://auditae.app/docs/fix-plan). 3. If the site is on WordPress, pair the free AuditAE plugin from [Integrations](https://auditae.app/dashboard/integrations) so AEBOT can edit posts (Elementor and block-editor pages included), push SEO meta, and inject FAQ schema directly — see [Pair the WordPress plugin](https://auditae.app/docs/wordpress-pairing). 4. Connect Google Analytics + Search Console so the site's **Traffic** tab shows real search and analytics data — see [Connect Google](https://auditae.app/docs/google). 5. Ask AEBOT for a monthly report — see [Using AEBOT](https://auditae.app/docs/aebot). 6. Top up when you need to: below $3 the Overview shows a top-up card, and AEBOT needs $1.50 to start a reply — see [Credits, prices and top-ups](https://auditae.app/docs/credits). Not sure where to start? The [free AI brand check](https://auditae.app/ai-brand-monitor) asks one buyer question without an account, and [how it works](https://auditae.app/how-it-works) walks through the whole loop. # Add a site and run an audit Source: https://auditae.app/docs/run-an-audit Add the brand you want to track, run an AI citation audit across every engine, schedule re-runs, and write buyer prompts that produce useful answers. ## Steps ### 1. Add the site Open **Sites** in the sidebar and click **Add a site** (or tell AEBOT: "add Linear at linear.app"). The quick form asks for the brand name and domain; the full form at [/dashboard/sites/new](https://auditae.app/dashboard/sites/new) also takes prompts, competitors and engines up front. You can add those later on the site too. Fill in: 1. **Brand name** — the name as it appears in prose. `Linear`, not `linear.app`. 2. **Domain** — your primary domain. We match URLs in engine answers against this; a cite counts when the cited URL's host is the domain or a subdomain. 3. **Competitor domains** (optional) — comma-separated. Used for share-of-voice. 4. **Default prompts** (optional) — one per line. Pre-fill every audit form for this site. You can still tweak per-run. 5. **Default engines** — all four (ChatGPT, Perplexity, Gemini, and Google AI Overviews) are selected by default. Untick any you don't need, or add the opt-in Google AI Mode, at site-creation time or per-run. If it's your workspace's first audit, adding the site starts it right away: AuditAE uses up to 4 of your default prompts, or writes 4 buyer questions for you when you gave none, and runs them on every default engine. A workspace with no credit (a new team workspace starts at $0) lands on the site with the questions saved and no run until someone tops up. ### 2. Run an audit from the site Open the site (sidebar → Sites → pick one) and hit **Run check now** on the site's Overview, or **New audit** on **Citations → Audits**. Defaults are pre-filled; you can override prompts, engines, and competitors for the single run without changing the site's saved settings. Hit **Run audit** (the button shows the price) and watch results stream in. To run every site at once, use **Audit all N sites** on the Sites page. It audits each site that has default prompts, 4 at a time; the rest queue and start on their own. ### 3. Schedule it (optional) On the site's **Citations → Audits** tab, use the **Schedule** card (weekly or monthly), or pick **Track weekly** in the new-audit wizard or on your first audit's results. AuditAE re-runs the site's default prompts on cadence and the trend chart populates from there. Each scheduled run bills its checks, its fix plan and a 25¢ saved report, only when it runs. You can pause, resume or delete the schedule from the same card, and **Schedule all monthly** on the Sites page schedules every site at once. ## Sites and audits A **site** is the persistent brand you track — name, domain, competitors, default prompts, and your GA4 / Search Console picks all live on the site. An **audit** is one run against that site: every default prompt × every selected engine, captured as a single record you can revisit, share, or re-run. ## Prompt patterns that produce useful answers - **Category-level:** "best note-taking app for product teams", "best payments API for SaaS startups". - **Comparison:** "Notion vs Obsidian for personal knowledge", "Linear vs Asana for engineering teams". - **Intent-specific:** "how to build a company wiki without Confluence", "how to add Stripe to a Next.js app". - **Buyer pain framing:** "why is Notion search so slow" — exposes whether the AI repeats criticism that mentions you. Avoid: questions that explicitly name your brand. The point is to find prompts where you *should* show up, not prompts that already mention you. ## Engines All four are selected by default. Cost is one billable check per prompt × engine cell, priced at what each engine costs us: Perplexity $0.05, ChatGPT $0.07, Google AI Overviews $0.09, Gemini $0.12. A 5-prompt × 4-engine audit is $1.65. Google AI Mode is opt-in at $0.10 per check. Checks an engine doesn't answer in time are marked failed and not billed. - **ChatGPT** — prose-heavy answers, sometimes lists 3–5 sources. - **Perplexity** — most source-rich; a median of 19 cited URLs per answer in our checks. - **Gemini** — terser, often quotes Wikipedia and Reddit. - **Google AI Overviews** — the SERP-embedded answer; reflects search-ranking authority. More on each engine: the [Google AI Overviews tracker](https://auditae.app/ai-overviews-tracker), the [Google AI Mode tracker](https://auditae.app/ai-mode-tracker), and [how we measure](https://auditae.app/methodology). Every price is on the [pricing page](https://auditae.app/pricing) and in [Credits, prices and top-ups](https://auditae.app/docs/credits). ## Next steps Once the audit finishes, [read the results](https://auditae.app/docs/read-results), then [apply a fix plan and check it worked](https://auditae.app/docs/fix-plan). # Read audit results Source: https://auditae.app/docs/read-results What the AI Visibility Score, mention rate and URL citation rate mean, how to read the per-prompt grid, and where the fixes for each gap are. Open any audit from a site's **Citations → Audits** tab — or the flat workspace-wide list at [/dashboard/audits](https://auditae.app/dashboard/audits). The detail page has three layers: a header snapshot, the gaps with what to fix first, and the per-prompt detail with the sources each engine cited. ## Header — two co-equal numbers Next to the **AI Visibility Score** (below), the header shows two rates: - **URL cited** — answers where your domain appeared in the engine's source list ÷ answers the engines returned. This is the headline citation rate; it's the link credit you can attribute traffic to. - **Mentioned** — answers where the engine named your brand in its prose answer ÷ answers the engines returned. Mentions don't carry a click but they shape buyer perception. Watch both. The gap between them is the attribution leak — the engine knows you but third parties get the URL credit. A check an engine didn't answer isn't billed and doesn't count either way. ## AI Visibility Score One 0–100 number with a letter grade (A to F) that sums up the audit. It weighs URL citations most, then mentions, then your share of voice against the competitors named in the answers, so it climbs as fixes land. With too few successful checks (a one-prompt run, say) it's marked **preliminary**. When competitors show up in the answers, a line under the header gives your share of voice and names the brand the engines cite most often instead. ## The two kinds of gap - **Share-of-voice gap** — answers that mentioned your brand but sourced a third party instead of your domain. The engines know you; the link credit isn't reaching your site. - **Not on the map** — answers where the engines didn't mention you at all. These need new content or new third-party anchors, not just an attribution fix. When search data is available, **What these answers are worth** puts a Google Ads price on the clicks the audited prompts drive, matched to each prompt's buyer keyword. ## By engine, share of voice and sources - **By engine** — the mention rate and the URL-cited rate for each engine side by side, so you can see which engine knows you but doesn't link you. - **Share of voice** — your brand against the competitors named alongside you. If Slite shows up next to Notion, you'll see it here. - **Most-cited sources** — the domains the engines linked most. These are the pages and sites to beat, or to get listed on. ## Per-prompt grid **Per-prompt breakdown** lists every prompt × engine answer: - **Citation** — one of three states. **URL cited** (green) means your domain is in the engine's source list. **Mentioned only** (amber) means the engine named your brand in prose but sourced someone else — the share-of-voice gap, and the most fixable category. **Not cited** (red) means neither. A fourth, **Engine unavailable**, marks a check the engine didn't answer; it isn't billed, and running the audit again fills it in. - **Sources** — the URLs the engine cited for that answer. - **Sentiment** — how the engine's prose framed you. Extracted by an Anthropic Haiku call, scored as `positive` / `neutral` / `negative`. - **Google Ads click** — the cost per click of the prompt's buyer keyword, when one was found. ## Fixing the share-of-voice gap When buyers see your brand name but click a comparison-site URL, that's an **attribution leak** — the engine answered *about you* but a third party got the credit. Fix it with on-page schema, comparison content, or partnerships with the sites that are getting cited. Every audit ends with a **"do this first"** list — the **Top fixes** card, 1–3 actions ranked by how many losses each would close. If the site has a brief in [Memory](https://auditae.app/docs/memory) (goals, ideal customers, decisions already made), the ranking respects it: it won't re-propose something you've marked as tried, and it favors moves that serve your stated priority keywords. Below it, the **Playbook** has one row per answer that doesn't cite you, split into **closing the share-of-voice gap** and **getting on the map**, each with a specific fix and the prompt to re-run after you ship it. On a site's latest audit, each row also has an **Ask AEBOT** button that opens the fix in chat. To get the exact edits for a page, apply them and check they worked, see [Apply a fix plan and check it worked](https://auditae.app/docs/fix-plan). For why an answer can mention you without linking you, read [what counts as a citation](https://auditae.app/blog/what-counts-as-a-citation) and [why ranking doesn't mean cited](https://auditae.app/blog/why-ranking-doesnt-mean-cited). # Rank tracking, mentions and site signals Source: https://auditae.app/docs/tracking-and-mentions Track Google rankings and AI Overview citations per keyword, monitor brand mentions in AI answers and on the open web, and check platform and authority. Beyond the citation audit, each site carries standing signals you pull on demand — Google rank tracking, brand-mention monitoring, and off-audit site health. They live on the site's **Traffic → Keywords**, **Citations → Mentions** and **Technical** tabs and are powered by DataForSEO. ## Keyword rank tracking + AI Overview citation On a site's **Traffic → Keywords** tab, track any keyword to watch its Google position over time. Each check (**$0.05**) runs a live SERP read and reports, alongside the rank: - **AI Overview citation** — whether Google shows an AI Overview for the keyword and, if so, whether *your* domain is one of its cited sources. The headline answer-engine signal: a green **AI Overview · cited** badge means you're in the AI answer; amber means the overview exists but skips you. - **Search-volume trend** — a 12-month, year-over-year demand trend (rising / fading) so a growing keyword is obvious at a glance, not hidden behind a single volume number. - **Other SERP features** — featured-snippet ownership and the rich elements present on the page. Each keyword is checked on Google in the country you pick when you track it (the default comes from your site's domain, e.g. a .se site starts on Sweden). To follow the same keyword in another country, track it again with that country. Tracked keywords refresh automatically once a week; hit the refresh icon on any row to re-check on demand. Each refresh is a $0.05 check, and a keyword is skipped while the balance can't cover it. **Backfill history (one-time):** a freshly-tracked keyword's trend chart starts empty. Hit the history icon on its row to pull up to **12 months** of past rank + AI-Overview presence from DataForSEO's historical SERP *database* (pre-collected snapshots) — the chart goes from blank to a full year instantly. $0.25 one-time, and you're only charged if history is actually found. AEBOT can do all of this in chat (`track_keyword`, `refresh_keyword_rank`, `backfill_keyword_history`) — see [Using AEBOT](https://auditae.app/docs/aebot). ## Brand mention monitoring The **Citations → Mentions** tab has two mention explorers that together cover your full share of voice — both save to the site's **Reports** tab: - **AI citations** ($0.75 per pull) — DataForSEO's historical LLM-mentions corpus: every observed AI prompt where a domain or keyword shows up across Google AI Overviews + ChatGPT, the answer, and every cited source with position and a 12-month trend. Works for competitors too. - **Open-web mentions** ($0.25 per scan) — a web-wide brand-mention scan over DataForSEO's content index: news, blogs, forums, and listings that mention your brand, each tagged **positive / negative / neutral**. Filter by content vertical; negative mentions surface first so you can triage reputation items. Comparing the two shows where open-web buzz hasn't yet reached the AI models — exactly where new content pays off. The same pulls are available to agents over MCP as `explore_llm_mentions` and `explore_web_mentions` — see [Connect Claude, ChatGPT or Cursor](https://auditae.app/docs/mcp). ## Technical tab — platform & authority A site's **Technical** tab carries two at-a-glance health cards beside the crawl + Core Web Vitals, both free (the DataForSEO cost is absorbed): - **Platform** — detects the site's CMS / stack (WordPress, Shopify, Webflow, frameworks, analytics) so recommendations match how you actually publish — and surfaces the WordPress plugin path when it applies. - **Authority** — an on-demand backlink snapshot (domain rank 0–1000, referring domains, dofollow split, spam score, broken links) from DataForSEO's link index. A major driver of why competitors out-rank and out-cite you; cached on the site after the first check. When the platform is WordPress, [pair the AuditAE plugin](https://auditae.app/docs/wordpress-pairing) so AEBOT and your agents can apply fixes directly. ## Further reading - [AI Overviews tracker](https://auditae.app/ai-overviews-tracker) — monitoring Google AI Overview citations. - [ChatGPT brand monitoring](https://auditae.app/chatgpt-brand-monitoring), plus [Perplexity](https://auditae.app/perplexity-brand-monitoring) and [Gemini](https://auditae.app/gemini-brand-monitoring) — per-engine citation checks. - [Best tools to track mentions in ChatGPT](https://auditae.app/blog/best-tools-track-mentions-chatgpt) and [best SERP trackers](https://auditae.app/blog/best-serp-trackers) — how AuditAE compares. # Connect Google Analytics, Search Console, Gmail and Drive Source: https://auditae.app/docs/google One Google sign-in covers analytics, Search Console, Gmail and Drive. Then pick a GA4 property and a Search Console site for each site. ## Steps ### 1. Grant Google access for the workspace 1. Go to [Integrations](https://auditae.app/dashboard/integrations). 2. Click **Connect** on any of the four Google connectors. They all share the same grant, so one click covers all four. In a team workspace, only an admin can connect or disconnect Google. 3. Sign in with the Google account that owns your analytics data and the address you'd like AEBOT to send from. 4. On the consent screen you'll see **four scopes**. Approve them all to enable the full feature set: - `analytics.readonly`: GA4 traffic data. **Read-only.** - `webmasters.readonly`: Search Console queries and clicks. **Read-only.** - `gmail.send`: compose and send mail from your address. **Cannot read existing mail, drafts, or labels.** - `drive.file`: create new Google Docs or Markdown files in your Drive. **Restricted by Google to files AuditAE itself created**, so we can't see anything else in your Drive. Connected before we shipped Gmail and Drive? You'll see a **Reconnect** banner on [Integrations](https://auditae.app/dashboard/integrations). One click re-grants the missing scopes without affecting your saved GA4 and Search Console picks. ### 2. Pick a GA4 property and a Search Console site for each site 1. Open the site from [Sites](https://auditae.app/dashboard/sites). 2. Open the site's **Settings** (gear icon) → **Connections**. 3. Pick a GA4 property and a Search Console site from the dropdowns. 4. Click **Save selection**. Real data shows on the site's **Traffic** → **Search & analytics** tab on next load, and the overview's status bar adds a Search Console clicks chip that links there. Repeat for each site. Each one can point at its own GA4 property if you track several brands. Gmail and Drive don't need this step; they apply to whatever site or report AEBOT is working with at the time. ## How the connection works One Google connection unlocks four capabilities: read analytics, read Search Console, send mail from your address, and save reports to Drive. They all share a single OAuth grant: you approve every scope on Google's consent screen up front and can disconnect everything in one click later. Setup has two layers: a **one-time workspace-level OAuth grant**, then (for GA4 and Search Console only) a **per-site property pick**. Gmail and Drive are workspace-wide, with no per-site setup. The same connection powers the free GA4 and Search Console tools for AI agents (`query_google_analytics` and `query_search_console`), so there's no Google Cloud project to set up. See [Connect Claude, ChatGPT or Cursor](https://auditae.app/docs/mcp) and the [Google Analytics MCP page](https://auditae.app/google-analytics-mcp). ## Action scopes: abilities and risks Two of the four scopes let AEBOT take real actions in your Google account. Both are narrow on purpose, but the consequences are real: sent mail can't be unsent, and a Drive doc inherits whatever sharing rules you put on its parent folder. AEBOT always confirms recipients and content in chat before calling either tool. ### Gmail (gmail.send) - **Can:** compose, send, CC and BCC mail (plain text or HTML). The message's `From:` is your Google address, so recipients see your name and email. - **Cannot:** read your inbox, search threads, see drafts, modify labels, or view sent mail beyond the message AEBOT just sent. - **Risks to know:** sent mail is final; there is no "undo" from our side. AEBOT shows the recipient list and full body before pressing send and waits for an explicit yes. Treat the first send as a test and CC yourself. ### Drive (drive.file) - **Can:** create new Google Docs or `.md` files in your Drive, including reports AEBOT writes, optionally inside a specific folder you name. - **Cannot:** see, read, edit, list, or delete any file it didn't create. `drive.file` is the most restricted Drive scope Google offers, and Google enforces the boundary, not us. - **Risks to know:** a saved report inherits the sharing rules of its parent folder. New files default to private (only your Google account can see them); if you ask AEBOT to put one inside a folder shared with your team, the team sees it. Both action scopes can be revoked instantly with the **Disconnect** button on [Integrations](https://auditae.app/dashboard/integrations). We call Google's revoke endpoint and drop the refresh token, after which any future tool call refuses until you reconnect. ## What we store - A **refresh token** at the workspace level, used to mint short-lived access tokens for each API call. Encrypted at rest. - Your Google email (Integrations shows it next to the Google connectors) and the granted scope list. - For GA4 and Search Console: the selected property and site identifiers on each site. - For Gmail: nothing per message. Sent mail lives in your Sent folder, not ours. - For Drive: nothing per file. Saved reports live in your Drive only. Disconnecting calls Google's revoke endpoint and deletes the workspace token. Reconnecting replaces it with a fresh grant. ## Troubleshooting - **"Google access was revoked":** Google stopped accepting AuditAE's access (for example, access was removed in your Google account or the password changed), so GA4, Search Console, Gmail and Drive are paused. Click **Reconnect Google** on [Integrations](https://auditae.app/dashboard/integrations). - **"API has not been used in this project":** enable the named API in the Google Cloud Console (the error message includes the exact URL). Wait about a minute after enabling for it to take effect. - **"Not enough data" on the Traffic chart:** GA4 needs a couple of days of recorded sessions before the daily series fills in. - **Empty top query in Search Console:** Search Console data lags about two days, and a query needs a minimum number of clicks before it appears. ## What to do next - Share the same traffic, search and conversion data with a client: [Share a client portal](https://auditae.app/docs/client-portal). - Ask AEBOT about your traffic, or have it email or save a report: [Using AEBOT](https://auditae.app/docs/aebot). # Share a client portal Source: https://auditae.app/docs/client-portal Give a client a free, read-only page for one site: traffic, Google search, conversions, AI visibility and your reports. No login for them. ## Steps ### 1. Turn on the client portal for the workspace Go to [Integrations](https://auditae.app/dashboard/integrations) and switch on **Client portal**. This is the switch for the whole workspace (admins only in a team). Off means every portal link in the workspace shows a 404. ### 2. Share a site Open the site's **Settings** → **Client portal**: 1. Switch on **Share this site with your client**. 2. Optionally add your **Agency name** and a **Logo URL (https)**. They show at the top of the page. 3. Click **Save portal**, then copy the link. ### 3. Send the link to your client Anyone with the link can open the page. There's no login for your client, and search engines are told not to index it. The page shows no billing, chat or connection details. ## What your client sees Traffic, Google search and conversions (GA4 key events) from the properties connected in [Connect Google](https://auditae.app/docs/google), AI visibility with the latest audit's top fixes, and your monthly, technical and mentions reports. Competitive, keyword research and general reports stay private. Sections without a connection are left out. The portal is free: opening it costs nothing, and it shows data you've already collected. ## Share it from AEBOT or an AI agent Ask AEBOT to "share Acme with my client" and it does the same as the Settings card. AI agents connected over MCP use `get_client_portal` (status and link) and `update_client_portal` (share, unshare, set the agency name and logo, or regenerate the link). Both tools are free. Sharing a site this way also turns the workspace switch on for you. In a team workspace that needs an admin: for an MCP agent, the API key's creator must be a team admin. See [Connect Claude, ChatGPT or Cursor](https://auditae.app/docs/mcp) for setup. ## Turn it off or revoke a link - **Pause it:** switch the site off. The link shows a 404 until you turn it back on, and turning it back on restores the same link. - **Revoke it for good:** click **Regenerate link** on the site's Client portal card. The current link stops working immediately; send your client the new one. ## For agencies Each site has its own link, so every client sees only their own site. The page shows "Prepared by" your agency name and logo when you set them. More on running client work in AuditAE on the [agencies page](https://auditae.app/for-agencies). # Using AEBOT Source: https://auditae.app/docs/aebot AEBOT is the AI assistant that runs your AuditAE workspace from chat: what it can do, what a reply costs (about $1–2), WordPress permissions and free docs mode. Open **AEBOT** from the sidebar (it lives on the Overview page). It's a chat backed by Claude Opus 5.5 (with Sonnet-powered specialist subagents for research, link-building, reputation, and page builds) and tool access to your sites, audits, competitors, schedule, billing, and (when connected) GA4 and Search Console. **It never fabricates numbers:** every figure in a reply comes from a tool call. Chat history is private per user and persists across sessions. ## What a reply costs A typical reply costs **about $1–2**. Measured over 15 customer replies in the 30 days to 2026-10-01: median about $1.07, 90th percentile about $2.56, the largest $3.12. A reply that saves a report adds the 25¢ save fee (measured report replies came to about $2–3 with it), and a long multi-client research turn can cost more. Each reply is billed on its real tokens. Markup is tiered by the Claude model running underneath: **Haiku 3×**, **Sonnet 10×**, **Opus 10×**. Cheap admin work (classification, extraction) stays cheap; deep reasoning carries the margin. AEBOT runs on **Opus 5.5**, so each turn is billed at input + output tokens × Anthropic's list price × **10×**, rounded up to the nearest cent (1¢ minimum). When AEBOT delegates to the research subagent, those tokens bill at Sonnet's lower list price instead. The exact charge appears under each reply (`$0.XX used · $YY.YY left`) and your balance updates live on the [Billing](https://auditae.app/dashboard/billing) page. Buttons that hand a task to AEBOT from an audit show the typical cost next to the label, for example "Apply with AEBOT · about $1–2". If your balance is below $1.50 when a turn starts, AEBOT refuses the request rather than running up debt, and offers a top-up instead (see below). Until your first purchase, a reply also stops when your balance reaches $0, so you never start with a debt. Prices for everything else are on [Credits, prices and top-ups](https://auditae.app/docs/credits). ## Adding credit without leaving the chat When AEBOT stops for credit, the message offers the top-up right there: 1. Click **Add $N and continue**. N is the smallest top-up that covers the $1.50 minimum plus a long reply; if you haven't bought credit before, it's the $10 first top-up whenever that's enough. **Other amount** shows the other choices. 2. Pay in the Stripe checkout that opens inside the chat. 3. Once the credit lands, the chat says **Credit added. Continuing below.** and picks the task back up: a message that never ran is sent again, and a reply that stopped partway continues where it left off. If your payment method sends you to another page to confirm (some banks do), you land on Billing after paying; click **Continue where you left off** to go back to the chat, and it resumes the same way. A design you attached isn't kept through that redirect, so re-attach it if AEBOT still needs it. The same applies to the hand-off buttons on your audits. When your balance is below the minimum they read **Add credit, then ask AEBOT**: the chat opens with the top-up first and sends the task once it's paid. ## Tools AEBOT can call ### Inventory and site data - `list_sites`: every site in your workspace with last-run citation rate. - `get_site_summary`: headline stats for one site (latest rate, audit count, GA4 and Search Console status, default prompts). - `list_trackers`: scheduled audits, cadence, paused or active state. ### Audit history and trends - `list_audits`: audits newest first; optional site filter. - `get_audit_summary`: per-prompt breakdown for one audit. - `get_citation_trend`: daily citation rate over 7–90 days, zero-filled for missing days. - `get_competitor_breakdown`: which competitors get mentioned how often, sorted by frequency. - `count_cited_prompts_last_30d`: total cited cells in the last 30 days. ### Traffic These need the site's GA4 property and Search Console site picked (see [Connect Google](https://auditae.app/docs/google)). - `get_sessions_summary`: GA4 sessions vs the prior 30 days for one site. - `get_top_landing_pages`: GA4 top landing pages by sessions. - `get_top_organic_queries`: Search Console top queries by clicks. - `get_traffic_timeseries`: GA4 daily sessions for the last 14 days. - `query_gsc`: the full Search Console `searchAnalytics.query`. Slice by date, query, page, country, device; AEBOT uses this when you ask free-form questions about indexing, CTR, or query trends. ### Keyword rank tracking - `list_tracked_keywords`: keywords tracked for a site, with latest rank, AI Overview citation status, and demand trend. - `track_keyword`: add a keyword to rank tracking and immediately run a live SERP check and search-volume lookup. Returns rank, whether your domain is cited in the keyword's **AI Overview**, and the year-over-year volume trend. **$0.05**. - `untrack_keyword`: stop tracking a keyword. Free. - `refresh_keyword_rank`: re-check one tracked keyword's position, AI Overview citation, and volume trend now (instead of waiting for the weekly refresh). **$0.05**. - `backfill_keyword_history`: one-time pull of up to 12 months of past rank and AI Overview history from the historical SERP database, so the trend isn't empty. **$0.25**, charged only if history is found. - `keyword_research`: search volume, CPC, and related-keyword suggestions for a seed keyword via DataForSEO. **$0.25**. More on rank tracking: [Rank tracking, mentions and site signals](https://auditae.app/docs/tracking-and-mentions). ### Specialist agents AEBOT hands open-ended work to a focused sub-agent that shares your workspace's memory, then summarizes the result: - `delegate_research`: a web-research agent for open-ended questions (competitor landscapes, "state of X", pricing surveys). - `delegate_backlink_audit`: a link-building agent that finds link gaps vs competitors, vets attainable prospects, and drafts outreach. - `delegate_reputation_scan`: a brand-reputation and AI-visibility agent that scans live mentions across the web and AI answers, triages sentiment, and drafts responses. ### Brand mention monitoring - `explore_llm_mentions`: DataForSEO's historical LLM-mentions corpus (Google AI Overviews worldwide and ChatGPT US/EN) for a domain or keyword: every prompt citing the target, the answer, all cited sources with position, and a 12-month trend. Saves a report. **$0.75**. - `explore_web_mentions`: open-web brand-mention scan (DataForSEO Content Analysis): news, blogs, forums, and listings mentioning a brand or keyword, each tagged positive, negative or neutral, optionally filtered to a content vertical. The web-side companion to the AI-citations corpus. Saves a report. **$0.25**. ### Schema autopilot - `discover_brand_entities`: Wikidata-backed lookup of your organization's authoritative identifiers (Wikipedia, Crunchbase, social profiles). Free. - `generate_schema`: JSON-LD scaffold for a page or post. - `validate_schema`: lint a JSON-LD blob against schema.org. ### WordPress tools Available when the AuditAE plugin is paired (see [Pair the AuditAE WordPress plugin](https://auditae.app/docs/wordpress-pairing)). What AEBOT may actually do depends on the pairing's permissions: see [What AEBOT can change on WordPress](https://auditae.app/docs/aebot#what-aebot-can-change-on-wordpress) below. - **Read tools (free):** `wp_site_status`, `wp_list_recent_posts`, `wp_get_post`, `wp_get_post_links`, `wp_get_fields`, `wp_get_faq_schema`, `wp_get_post_schema`, `wp_get_organization_schema`, `wp_probe_schema`, `wp_get_llms_txt`, `wp_list_crawler_hits`, `wp_get_link_graph`, `wp_list_media`, `wp_get_media`, `wp_list_redirects`, `wp_suggest_redirects_from_404s`, `wp_list_form_submissions`. - **Write tools (5¢ per standard write):** `wp_create_post`, `wp_update_post` (both accept `status: future` and a date to schedule a post), `wp_trash_post` (reversible: moves to the WordPress Trash), `wp_set_post_seo`, `wp_set_faq_schema`, `wp_delete_faq_schema`, `wp_set_post_schema`, `wp_delete_post_schema`, `wp_set_organization_schema`, `wp_delete_organization_schema`, `wp_set_llms_txt`, `wp_reset_llms_txt`, `wp_insert_internal_link`, `wp_upload_media`, `wp_update_media`, `wp_rename_media`, `wp_add_redirect`, `wp_delete_redirect`, and on the AuditAE AI Autopilot theme `wp_edit` (page fields and site-wide brand) and `wp_add_record` (services, locations, FAQs and other records pages loop over). - **Elementor and block-editor pages** (plugin 0.29.0+): on an Elementor page, AEBOT edits text in place with exact find-and-replace edits (`wp_update_post` with `replacements`). Whole-body rewrites are refused there, and fields bound to Elementor Pro dynamic tags are skipped. On block-editor pages the same edits also update the text blocks keep in their settings (Yoast or Rank Math FAQ blocks, for example), so edited blocks stay valid in the editor. - **Page Composer** (block editor design): `wp_read_page_blocks` (free read of a post's block markup so AEBOT can edit in place) and `wp_design_page` at **$0.25** (AEBOT writes block markup, such as a hero, columns, FAQ, CTA or table, as the post body; the page stays fully editable in the WordPress block editor). Ask AEBOT to "design a landing page with X" or "add a hero to this page". When the design includes an FAQ section, AEBOT also writes the matching FAQPage JSON-LD in the same turn. - **Whole-page builder** (`delegate_build`): for a full landing, pricing or about page, or a complete redesign, AEBOT hands the job to a dedicated builder specialist that runs in the background (a few minutes, longer than a chat turn), writes the finished page, and **emails you** when it's live (it also leaves a note in the chat). On the companion **AuditAE AI Autopilot** theme it writes a server-rendered template (copy and brand live in editable fields, swapped in on every render); on any other theme it writes blocks. The **$0.25** page write is billed when it ships, plus the builder's own tokens. - **Design handoff:** have a design already? Attach it in the chat: click the **paperclip** and drop an `.html` file or a `.zip` of the design, then ask AEBOT to build it onto a page. The builder *adapts* it into the site's section library and brand kit (not a pixel-for-pixel copy), so the result stays on-brand and editable. Local images inside a zip come through as flagged placeholders for you to swap. ### Technical SEO - `get_latest_technical_audit`: last cached crawl and Core Web Vitals for a site. Returns nothing if none has run yet. - `run_technical_audit`: fetches the site's homepage and pulls PageSpeed Insights for mobile and desktop. Free, no credit debit. Takes 15–30s. - `crawl_site`: multi-page crawl beyond the homepage. **$0.01 per page** (about $0.25 for a typical 25-page site). - `detect_tech_stack`: detects the site's CMS, platform and stack (WordPress, Shopify, Webflow, frameworks, analytics) via DataForSEO Domain Analytics, so AEBOT tailors fixes to how you publish. Free. - `get_backlink_summary`: off-page authority for the site or any competitor domain: domain rank (0–1000), referring domains, dofollow split, spam score, broken links. Free, no credit debit. ### Site management - `create_site`: adds a new site (brand and domain, with optional prompts and competitors). Free. AEBOT confirms before creating. - `archive_site`: hides a site from the list (audit history is preserved). AEBOT waits for an explicit "yes" before calling it. - `update_site_prompts`: manage the site's default prompt list. Three actions: **add** (append, deduped, no confirmation needed), **remove** (drop named prompts), **replace** (overwrite the whole list). Free. AEBOT confirms before remove or replace; add is safe and just goes. - `update_site_competitors`: the same three actions (**add**, **remove**, **replace**) for the site's competitor-domain list, which drives share-of-voice math. Free. ### Saving reports - `save_report`: writes the AEBOT-authored Markdown to the site's **Reports** tab inside AuditAE. Flat **$0.25** per saved report on top of the chat turn cost. Re-openable, deletable, and kept with the site. ### Email and Drive These need the Google connection (see [Connect Google](https://auditae.app/docs/google)). - `send_email`: composes and sends mail from your Gmail address (plain or HTML, with optional CC and BCC). AEBOT shows recipients and body and waits for explicit approval before sending. **Cannot read your inbox.** No per-email surcharge; it costs only the chat turn. - `save_to_drive`: saves a report or any Markdown content as a Google Doc (or `.md` file) in your Drive, optionally inside a specific folder ID. **Restricted by Google to files AuditAE created**, so we can't see anything else in your Drive. No per-file surcharge. ### Billing and actions - `get_billing_summary`: balance, monthly spend, monthly check count. - `start_audit`: runs a new audit against a site inside the chat (about two minutes of engine time; checks that don't finish in time come back as a partial result and aren't billed). If the workspace already has 4 audits running, it's queued and starts within a minute of one finishing. Real money, so AEBOT confirms site, prompts, and engines back to you before calling. - `create_tracker`, `set_tracker_paused`, `delete_tracker`: schedule, pause or remove a site's weekly or monthly audit. Each run bills when it fires; AEBOT confirms before scheduling. - `get_fix_plan`: the exact edits that get a page cited, from the site's audits. **$0.50** per plan; the same request within 24 hours is free. See [Apply a fix plan and check it worked](https://auditae.app/docs/fix-plan). - `mine_competitor_prompts`: prompts where a competitor was cited and you weren't, from the site's audit history (**5¢**). `find_content_gap`: Google keywords a competitor ranks for and you don't (**$0.25**). - `query_ga4`: any GA4 report (events, conversions, channels, devices), the GA4 counterpart of `query_gsc`. Free. - `show_chart`: draws a chart card in the chat (citation trend, share of voice, GA4 sessions, search traffic) from your own data. Free. - `list_reports`, `get_report`: find and read a site's past reports, audits and crawls without re-running anything. Free. If you ask about Google data and a connection isn't set up, AEBOT tells you to open the site's **Settings** (gear) → **Connections** and pick a property. It won't guess. ## What AEBOT can change on WordPress A paired site has four permissions, set in WP admin → Settings → AuditAE under **What AEBOT can do**: | Permission | Label in the app | What it allows | |---|---|---| | `read` | Read site data (free) | Read posts, SEO settings, schema, llms.txt, media, form submissions and the crawler log. | | `draft` | Create + update draft posts | Create and edit draft posts, upload media, and move drafts to the Trash. | | `publish` | Publish posts directly | Publish, schedule, and edit posts that are already live (including internal-link inserts). | | `write_seo` | Write SEO settings | SEO titles and descriptions, schema, FAQ schema, llms.txt, redirects and image details. | A new pairing starts with `read` and `draft`. Both the app and the plugin enforce the switches, so a write the pairing doesn't allow is refused on both sides. AEBOT knows each paired site's permissions on every turn and won't offer an edit the pairing can't make: - **Without `write_seo`,** it doesn't apply SEO meta, schema, FAQ schema, llms.txt or redirects. It gives you the exact, paste-ready edits instead and names the **Write SEO settings** switch that would let it apply them. - **On a read-only pairing,** it doesn't offer drafts either. - **On your audits,** the fix buttons say what will happen: **Apply with AEBOT** when `write_seo` is on, **Show me the exact edits** when the site is paired without it, and **Do it with AEBOT** otherwise, or when the fix is on another site (a review listing or a forum thread, say). - **From wp-admin** (plugin 0.32.0 and later), the fix buttons on the plugin's AI Readiness Score tab open AEBOT on that site. It checks the permissions before promising anything and doesn't start an audit unless you ask for one. If a WordPress call fails, AEBOT checks `wp_site_status` and tells you what the plugin reported. Per-tool detail is on [What AEBOT can do at each WordPress permission level](https://auditae.app/docs/wordpress-permissions). ## Reports Ask "monthly report", "technical summary", or "competitive landscape" and AEBOT chains tool calls and writes a structured Markdown report (Citation, Competitors, Traffic, Schedule sections). Specific by default: "rate dropped from 45% to 32% over 14 days" rather than "rate is fine". AEBOT can save a report three ways: - **Inside AuditAE** via `save_report`: kept on the site's **Reports** tab, re-openable later. **$0.25** flat plus the chat turn. - **To Google Drive** via `save_to_drive`: written as a Google Doc or `.md` file in your Drive. Requires the Drive scope. No surcharge. - **By email** via `send_email`: sent to one or more recipients from your Gmail address. Requires the Gmail scope. No surcharge. A walkthrough of a real monthly report: [Monthly report in ten minutes](https://auditae.app/blog/monthly-report-in-ten-minutes). ## Examples that work well - "Monthly report for Notion" - "Show me prompts that are cited on ChatGPT but not Perplexity." - "How much credit do I have left and what's my burn rate?" - "Run an audit for Linear with these prompts: 'best PM tool', 'Linear vs Asana'." - "Which competitors show up most in my answers?" - "Remember that our ideal customer is a 10–50 person HVAC company." Saved to the site's brief; see [Memory](https://auditae.app/docs/memory). ## Documentation mode (free) Click the **Documentation** chip in the chat, or open [/dashboard/overview?docs=1](https://auditae.app/dashboard/overview?docs=1), for free answers taken only from these docs. Docs answers show `$0.00 · free` and never touch your balance (up to 30 questions a day). **Back to AEBOT** switches back to the billed assistant, which can look at your data and act on it. When the docs don't cover a question, the answer says so and offers **Ask AEBOT instead** (billed) or **Send to support**. What AEBOT looks like in practice for marketing work: [AI marketing analyst](https://auditae.app/ai-marketing-analyst). # Memory: the marketing brief Source: https://auditae.app/docs/memory The marketing brief AuditAE keeps for each site, shared by every chat and agent. Start it in five minutes; AEBOT reads it first and keeps it current. ## Steps ### 1. Open Memory and start the brief Open [Memory](https://auditae.app/dashboard/memory). Every site is listed; pick one and click **Start the brief**. ### 2. Check what AuditAE filled in AuditAE scaffolds the five files, prefilled with what it already knows (brand, domain, competitor domains, the buyer prompts you track) and *italic prompts* for the rest. ### 3. Replace the italic prompts with real answers Click **Edit** on a file, replace the italic prompts with the real answers, and click **Save**. `icp.md` and `strategy.md` pay off most: they're what AEBOT can't infer from an audit. Start the brief never overwrites a file that already exists, so it's safe to click again later to add any you deleted. **New note** adds any other file; **Delete** removes one for good. ## What memory is Memory is the marketing brief AuditAE keeps about each site, and it's the reason AEBOT doesn't ask the same questions twice or recommend what you've already tried. It lives at **Memory** in the sidebar, it's shared by every chat and every specialist agent, and both you and AEBOT can write to it. ## What's in it One folder per site, five canonical files: - `brand.md`: what you sell, positioning, proof points, voice and tone, claims to avoid. - `icp.md`: ideal customer profiles: who, their job to be done, pains, buying triggers, objections, and the questions they ask AI or Google. - `competitors.md`: who you lose share of voice to, and the third parties that get cited instead of you. - `keywords.md`: the topic cluster you're going after first, the buyer prompts you track, what's parked. - `strategy.md`: goals, the current plan, decisions already made, what's been tried and what happened. The link-building and reputation specialists keep their own notes beside those (`backlink-prospects.md`, `reputation.md`) so a second run doesn't re-pitch a site or re-flag a handled mention. Workspace-wide preferences that apply to every site (report format, cadence, recipients, how you like to work) sit at the top level (`reporting.md`, `preferences.md`). ## How AEBOT uses it - **Reads it first.** Before an audit, playbook, keyword or competitor research, content work, or a report, AEBOT reads the site's folder. A note you wrote is treated as authoritative over its own inference. - **Writes as you work.** "Remember that…", a stated preference, or a correction is saved in the same turn; AEBOT never says "noted" without actually writing the file. After an audit, playbook, or research run it also folds two or three durable takeaways back into the brief (a competitor that keeps getting cited, a keyword cluster you chose, a decision you made). Run-specific numbers stay in the saved report, not in memory. - **Updates in place.** It edits the canonical file rather than creating a second one, and replaces an italic placeholder once it learns the answer. - **Can't delete.** The agents have no delete tool, deliberately, so they can't wipe your brief. Ask AEBOT to forget something and it blanks the note to a one-line pointer; removing the file is the **Delete** button on the Memory page. More on what AEBOT can do: [Using AEBOT](https://auditae.app/docs/aebot). ## Where else it's used The audit playbook's **"do this first"** ranking reads the brief too, even for scheduled audits that never touch chat, so your goals, ideal customers, and decisions steer which action lands at the top. Editing the brief regenerates that ranking on the next audit (see [Read audit results](https://auditae.app/docs/read-results)). Page builds read `brand-kit.md`, a design-only file the builder keeps beside the brief; you don't need to touch it. ## What not to put in it No passwords, API keys, or customer personal data: memory is read by every agent run in your workspace. Facts that change monthly (this month's citation rate, a campaign's current numbers) belong in reports; memory is for what will still be true next quarter. # REST API and API keys Source: https://auditae.app/docs/api Run AuditAE from your own code with an API key and the same credit balance as the dashboard. Endpoints, prices, 402 top-ups and rate limits. The REST API lives under `/api/v1` and spends the same credit balance as the dashboard. Its full contract is published as OpenAPI 3.1 at [/openapi.json](https://auditae.app/openapi.json). To use AuditAE from an AI client such as Claude, ChatGPT or Cursor, connect the MCP server instead: [Connect Claude, ChatGPT or Cursor](https://auditae.app/docs/mcp). The same key works for both. ## Get an API key 1. Go to [API keys](https://auditae.app/dashboard/keys). 2. Click **Create key**. 3. Copy the key from the banner right away: AuditAE shows it only once. Lose it and you'll need to **Rotate** it, which issues a new key and revokes the old one. **Revoke** turns a key off for good. A key starts with `ae_live_` and acts for the workspace it was created in, spending that workspace's balance. Signing in to an AI client with OAuth always uses your personal workspace, so use a key for a team workspace. ## Authentication Send the key as a Bearer token on every request: ```bash curl https://auditae.app/api/v1/check \ -H "Authorization: Bearer ae_live_…" \ -H "Content-Type: application/json" \ -d '{"brand": "Acme", "domain": "acme.com", "prompt": "best project management tool for agencies"}' ``` A missing, invalid or revoked key gets `401` with a `WWW-Authenticate` header. ## Endpoints | Method | Path | What it does | Auth | Price | |---|---|---|---|---| | POST | `/api/v1/check` | Check one prompt across engines | API key + credit | Per engine: Perplexity 5¢, ChatGPT 7¢, Google AI Overviews 9¢, Google AI Mode 10¢ (opt-in), Gemini 12¢ | | POST | `/api/v1/audits` | Run an audit | API key + credit | Per prompt × engine: Perplexity 5¢, ChatGPT 7¢, Google AI Overviews 9¢, Google AI Mode 10¢ (opt-in), Gemini 12¢ | | GET | `/api/v1/audits/{id}` | Get an audit | API key | Free | | GET | `/api/v1/billing` | Get balance and prices | API key | Free | | POST | `/api/v1/billing/top-up` | Add credit | API key | Free; adds $5–$1,000 of credit | | POST | `/api/v1/crawl` | Crawl a site | API key + credit | 1¢ per page crawled | | POST | `/api/v1/technical` | Check one page | API key | Free | | POST | `/api/v1/schema/validate` | Validate JSON-LD | API key | Free | | POST | `/api/v1/schema/generate` | Generate JSON-LD | API key | Free | | POST | `/api/v1/entities/discover` | Find a brand on Wikidata | API key | Free | Free endpoints never touch your balance. Paid endpoints need at least 5¢ of credit (one check at the cheapest engine) to start, and bill only the work that runs. Request and response shapes for every endpoint are in [/openapi.json](https://auditae.app/openapi.json). ## Prices - **Checks and audits:** one check per prompt × engine, priced per engine: Perplexity 5¢, ChatGPT 7¢, Google AI Overviews 9¢, Google AI Mode 10¢ (opt-in), Gemini 12¢. Leave out `engines` to run the default engines. - **Audits:** up to 10 prompts per call. The workspace runs at most 4 audits at once; at that cap a new audit answers `202` with `status: "queued"` and starts within a minute of a slot opening. Poll `GET /api/v1/audits/{id}` for the result. - **Crawls:** 1¢ per page crawled, 25 pages unless you set `max_pages` (up to 250). The balance has to cover `max_pages` × 1¢ to start. All prices, the free signup credit and top-ups are on [Credits, prices and top-ups](https://auditae.app/docs/credits). ## When you run out of credit A paid call that the balance can't cover answers `402` with the exact call to make next: ```json { "error": "Insufficient credits", "balance_cents": 0, "required_cents": 5, "top_up": { "method": "POST", "url": "https://auditae.app/api/v1/billing/top-up", "body": { "amount_usd": 5 }, "min_usd": 5, "max_usd": 1000, "note": "Returns a Stripe Checkout URL. Give it to the account owner to pay; credit lands within seconds." }, "top_up_url": "https://auditae.app/dashboard/billing" } ``` `POST /api/v1/billing/top-up` with `{ "amount_usd": 20 }` returns a Stripe Checkout link for the account owner to pay. Add `"shared_payment_token": "spt_…"` to pay directly with a Stripe shared payment token the owner approved. `GET /api/v1/billing` returns the balance. If the balance runs out partway through an audit, the response comes back with `partial: true` and `out_of_credits: true`, holding the cells that did run. Cells that didn't run aren't billed. ## Rate limits - 60 requests a minute per API key. - 30 failed authentications a minute per IP address. Only failed attempts count, so many customers behind one office IP aren't blocked by each other. Over a limit, the API answers `429` with `{"error": "rate_limited", "retry_after": }` and a `Retry-After` header. The same limits apply to the MCP server, which shares the key. ## Not in the API yet Not yet over REST or MCP: **recurring schedules (trackers)**. One-off re-checks are live over MCP (`schedule_recheck`, `get_recheck`, `cancel_recheck`). Also still on the list: a **per-site audit-history endpoint** and **citation-trend exports**. GA4 and Search Console reads are already live over MCP (`query_search_console`, `query_google_analytics`) and in AEBOT. Got a request? Send it from [Support](https://auditae.app/dashboard/support) or email support@auditae.app.