The loop at the centre is simple: send a fixed list of prompts to the AI engines every day, record whether and how your brand is named and which sources are cited, and chart the trend. Open-source trackers already do it, and an agent can build a personal one in a weekend on the engines' own APIs. The differences that matter are that API answers are not always what the chat apps show, that Google's AI Overviews and AI Mode have no official API, and that Profound's volume estimates, website analytics and AI Marketer rest on data and infrastructure you can't build. You get the tracking, not the market data.
Before you buildProfound's 7-day Trial shows what the output looks like. For a tracker without a contract, try an open-source one such as Elmo before building.
Build me a personal AI-visibility tracker to replace Profound for one brand. Requirements: - Node.js 22 + TypeScript: a daily CLI job and a Fastify dashboard (Eta pages, uPlot charts). `npm start` serves http://localhost:4950; `npm run run-prompts` does one pass. - Config in ./brand.yml (`yaml`, checked with `zod`): brand name and aliases, domain, up to 5 competitors with aliases, and 20 to 50 prompts, each with a topic tag and a country. Refuse to run on an empty or duplicated prompt list. - Engines behind one `Engine` interface, model names in .env: OpenAI (`openai`, Responses API with the web search tool), Perplexity (Sonar, through the OpenAI-compatible base URL), Google Gemini (`@google/genai`, Google Search grounding) and Anthropic (`@anthropic-ai/sdk`, web search tool). An engine without a key is skipped, not an error. - Run each prompt on each engine once a day (`node-cron`, 07:00 local; skip pairs already done today; one retry). Store the full answer, the cited URLs and the model name. - Analysis per answer: is the brand named (aliases, word boundaries), its position among the brands named, which competitors appear, whether my domain is among the citations, and a positive, neutral or negative label from one LLM call with a fixed rubric. - Storage: better-sqlite3 in ./data/visibility.db. Keep every raw answer so the analysis can be re-run when the rules change. - Dashboard: visibility rate (answers naming the brand over all answers) per engine and per topic over time, share of voice against competitors, a table of most-cited domains, and a page per prompt with every answer for a chosen date. - Budget guard: MAX_RUNS_PER_DAY in .env; print the estimated cost before the first run and stop at the cap. - Single user, one admin password in .env. No accounts, no telemetry, local-first: only the engine APIs are called. - Out of scope: Google AI Overviews and AI Mode (no official API), prompt-volume estimates, website traffic attribution, content-writing agents. - README: cost per run for each engine, a warning that API answers can differ from the chat apps, and that answers vary between runs, so compare weekly averages and not single days.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Profound.
Add a weekly summary to the AI-visibility tracker in this folder. Requirements: - Every Monday at 08:00 send one email through nodemailer SMTP from .env. - Compare the last 7 days with the 7 before: visibility rate per engine and topic, brands that appeared or disappeared, and domains that entered or left the citations. - List the 5 prompts where visibility fell most, with a link to each prompt page. - Use weekly averages only; say "not enough runs" when a prompt has fewer than 4 answers. - Update the README.
Add a citation gap report to the AI-visibility tracker in this folder. Requirements: - A page and a CSV export listing URLs cited in answers that name a competitor but not me, grouped by domain and topic, with how many answers cited each. - Mark domains I already appear on, and domains that look like my own properties from brand.yml. - Rank by citation count across the last 30 days and show the prompts that triggered them. - Never fetch the cited pages; use only the stored data. - Update the README.
Add prompt suggestions to the AI-visibility tracker in this folder. Requirements: - Import the top 200 queries from Search Console (`googleapis`, service account JSON path in .env) for the last 90 days. - Ask the configured LLM to rewrite each as a natural question a customer would put to an AI assistant, keep the topic tag, and drop duplicates by meaning. - Show suggestions in a review page; only ones I accept are appended to ./brand.yml. - Never edit brand.yml without a confirmation step. - Update the README.
Large brands pay for a measured view of how AI answers describe them across engines, regions and languages, backed by volume data and a team that turns findings into content changes. At that scale the fee sits next to an agency retainer, and the value is a number leadership trusts, which a home-built tracker with a few engines can't claim.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Trial (brands) | $0 | $0 | 50 unique prompts run daily for 7 days, 3 engines (ChatGPT, Gemini, Google AI Overviews), 1 language and 1 region, limited AI Marketer credits, unlimited seats. |
| Enterprise (brands) | custom | — | Up to 9 engines, a tailored prompt plan, daily tracking, all-time history, CSV and JSON export, API, SSO, SOC 2, ChatGPT Shopping, dedicated support. |
| Agency Growth | $399 | — | 10 pitch workspaces a month for prospect audits; each full client workspace tracks 100 prompts daily with 400 agent credits a month; 5 agency seats; no API. |
| Agency Enterprise | custom | — | Tailored client and trial workspaces, a dedicated agency partner, premium Slack support, API. |
A free Trial runs 50 prompts a day for 7 days on ChatGPT, Gemini and Google AI Overviews, with a fixed prompt set and no history, export or API.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Prompt Volumes: estimates of how often people ask a question, drawn from real prompts, Up to nine engines tracked the way a user sees them, including Google AI Mode, Copilot and DeepSeek.
Profound's pricing is usage-based or varies by plan.
Prompt Volumes: estimates of how often people ask a question, drawn from real prompts; Up to nine engines tracked the way a user sees them, including Google AI Mode, Copilot and DeepSeek; Tracking of AI-sourced traffic and attribution across your domains through Google Analytics; The AI Marketer and agents that draft content and stage changes in your CMS; ChatGPT Shopping tracking, SSO and a SOC 2 report for enterprise buyers. If any of those matter to you, keep paying.
Yes: Elmo (open source), GEO/AEO Tracker (open source), OneGlance (open source).