Product · Engineering Plan

AI Tab — Data Integration Plan

What the AI Presence tab shows today, and how we make it richer using the full DataForSEO AI Optimization API — real answers from ChatGPT, Claude, Gemini and Perplexity, real history, and real AI search demand.

The short version. Today the AI tab is powered by 3 "LLM Mentions" calls — it can tell a customer how often AI assistants mention them vs competitors, on Google AI Overviews and ChatGPT only. DataForSEO now exposes a much bigger toolbox: a real month-by-month mention history, per-keyword AI search demand, and the ability to actually ask ChatGPT / Claude / Gemini / Perplexity a question and capture the real answer. Two data paths, not one: the mentions database covers only Google + ChatGPT, so all four engines can only be shown via the live-query path — that becomes the tab's primary engine display, with mentions/history as a deeper Google+ChatGPT layer beneath it. This plan phases those in, cheapest-and-highest-impact first, without breaking the "no scores, no jargon, nothing that can go down" rule.
Part 1

What the AI tab shows today

Read-only tab on the site detail page. Five sections, every value backed by real data (no placeholders). Full-access gated to Pro/Business/pilot; everyone else sees an upgrade CTA.

Status note, August 2026: parts of this plan have since shipped, so the "today" picture below is out of date. Live now: the real monthly mentions history (llm_mentions/historical/live), page-level citations (llm_mentions/top_mentioned_pages/live), and the monthly Live AI Presence sweep, which actually asks ChatGPT, Claude, Gemini and Perplexity the site's questions and records mention and citation per engine. Read the gap list below as the state before that work, not as what is missing now.

The five sections

SectionWhat the customer seesData behind it
AI mentions over timeHero count ("N this month"), "+P% vs last month", Google AI / ChatGPT split, a trend linementionsHistory (self-built, one point per refresh) + aiMentionMetrics
What Scaup did this weekTimeline of completed plan itemsPlan items + stored executionSummary.what
Real AI answer examplesQuestion + the actual AI answer snippetaiMentionExamples[].answerSnippet
You vs competitors, question by questionQuestions where you're cited vs where only competitors show up + the plan to close each gapaiVisibility.opportunities + competitorMentions
Coming up nextThe single highest-volume gap Scaup will close nextTop opportunity by AI search volume

The 3 API calls that feed it

Call (worker aiVisibility.ts)Gives us
llm_mentions/cross_aggregated_metrics/liveMentions for you + up to 5 competitors; your Google/ChatGPT split (the hero number)
llm_mentions/top_domains/liveWhich domains AI pulls from in your niche
llm_mentions/search/liveIndividual Q&A records → opportunities where a competitor is cited but you're not

Fetched by the worker during plan generation, competitor refresh, and a standalone ai_visibility_refresh job; stored on sites.aiVisibility / aiMentionMetrics / mentionsHistory.

What's missing today — the gaps this plan fills

Only 2 of 4 engines

The mentions data covers Google AI Overviews + ChatGPT only. Gemini and Perplexity never appear — they aren't mentions platforms and can only be reached via live queries.

Fake-ish trend line

History is built one point per refresh, so a new site has no chart for weeks. We could show a real multi-month history from day one.

No demand signal

We never show how many people actually ask AI about the customer's topic — only how often they're mentioned.

No live proof

We infer mentions from a database. We never actually ask the models a live question and show "here's what ChatGPT says about you right now."

Domain-level only

We show which domains get cited, not which specific pages — so we can't say "your pricing page is what AI quotes."

No brand tracking

No view of which brand names AI associates with the niche.

Part 2

What the API now gives us

Four product families under DataForSEO AI Optimization. Full endpoint/field reference lives in docs/dataforseo-ai-optimization-api.md.

ProductWhat it doesCost / call*Status vs us
LLM MentionsBrand/domain/keyword mentions inside AI answers, aggregated + individual + historical~$0.10using 3 of ~15
AI Keyword DataAI-platform search volume + monthly trend, per keyword (up to 1000/call)lowunused
LLM ResponsesAsk Claude / ChatGPT / Gemini / Perplexity a real prompt, get the real answer + citations$0.008–0.55unused
LLM ScraperScrape ChatGPT / Gemini consumer UI for a keyword — SERP-style sources + brand entities~$0.004unused

*Rough per-call figures from the docs' sample responses. LLM Responses is token-priced — cheap models (Haiku, gpt-4o-mini, sonar) are ~1¢, Opus with web search can hit 55¢.

Newly available inside LLM Mentions that we don't use yet: historical/live (real monthly time series back to 2025-08), target_metrics/live, top_mentioned_pages/live, top_mentioned_brands/live, timeseries_delta & timeseries_new_lost.

Engine coverage — the one thing to understand

The API exposes engines through two different data paths, and they don't cover the same engines. This is the key constraint behind "show all 4 engines."

Engine Mentions & history
aggregated "who AI recommends," from a database
Live LLM Responses
we ask it a real prompt, see if you're cited
ChatGPTplatform: chat_gpt
Google AI Overviewsplatform: google✓ (via Gemini)
Gemini✗ not a mentions platform
Perplexity✗ not a mentions platform✓ (Live only, no async)
The takeaway: the mentions data is hard-capped to Google + ChatGPT — Perplexity and Gemini simply don't exist in it. To show all 4 engines, the "which AIs recommend you" display must be driven by the live LLM Responses path. Mentions/history stays as a deeper Google+ChatGPT trend underneath.
Part 3

Integration roadmap

Three phases, ordered by impact-per-effort. Phase 1 upgrades the tab we already have; Phases 2–3 add new proof and new surfaces.

Phase 1 — Make the existing tab honest & complete

low effort low cost

Reuses the tab as-is. Backend-only for the first item; small UI for the second.

  • Real trend line via historical/live. Replace the sparse self-built mentionsHistory with a true monthly series (mentions + AI search volume) back to Aug 2025. A brand-new customer sees a full chart on day one instead of waiting weeks. One call, ~$0.10, per refresh.
  • Keep the mentions trend as the Google+ChatGPT layer. The mentions number stays honest and deep for the 2 engines the API actually has data for. It is not the "all engines" view — that comes from Phase 2's live checks (below). Label it clearly so nobody reads a "2 of 4" number as the whole picture.
  • Verify endpoint naming. Our code calls search / top_domains / cross_aggregated_metrics; the current published API uses search_mentions / top_mentioned_domains / target_metrics. Confirm ours are still-supported aliases or migrate — cheap insurance against a silent all-zero tab.

Phase 2 — Live proof & real demand

medium effort metered cost

New sections. This is where the tab gets its "wow" — real answers from the models, and real demand numbers.

  • The all-4-engines view — "Here's what every AI says about you" (LLM Responses). This is the primary engine display. Take the customer's top questions and ask ChatGPT, Claude, Gemini, and Perplexity live. Show one row per engine: the real answer + whether the site is cited. This is the only path that can show all four uniformly — Gemini and Perplexity exist nowhere else in the API. Framed positively — "cited by 3 of 4 assistants," never a rank. Strongest demo moment and a genuine differentiator.
    Cost guardrail: token-priced and up to 120s each. Cap questions per site, use cheap models (Haiku / gpt-4o-mini / gemini-flash / sonar), run via the async Standard task flow (charged ~1¢ upfront, refunded) with postback_url, and cache — don't re-ask every page load. Perplexity is Live-only.
  • "How much are people asking AI about this?" (AI Keyword Data). Feed the site's tracked keywords in, show AI search volume + its monthly trend. Reframes the tab from "who mentions you" to "here's the demand, and here's your slice of it." Cheap, batchable up to 1000 keywords/call.
  • "Which of your pages AI quotes" (top_mentioned_pages/live). Move from domain-level to page-level citations — lets us say "your guide page is what AI pulls from" and target content accordingly.

Phase 3 — Depth & competitive intel

medium effort low cost

Nice-to-have richness once Phases 1–2 land.

  • Real consumer-UI snapshots (LLM Scraper). Scrape what ChatGPT / Gemini actually render for the customer's key queries — structured sources, brand entities, product/table blocks. ~$0.004/call. Great for screenshots and "this is the literal answer" evidence.
  • Brand association tracking (top_mentioned_brands / brand_categories). Which brands AI ties to the niche — competitive-landscape view.
  • Momentum widgets (timeseries_delta / timeseries_new_lost). "You gained N new AI mentions this month" — positive, movement-only framing that fits the product rule.
Part 4

GEO extensions

Our customers care about GEO (getting recommended by AI engines) as much as classic SEO. These build on the same API — most reuse fields we already pay for — and turn the tab from "measuring" into "measuring and doing." Slot them alongside Phase 2.

Highest value, mostly cheap — reuse fields we already get back

  • Fan-out queries → content targets. Every LLM response already returns fan_out_queries — the sub-questions the model expands a query into. These are the literal prompts to write content for. Turn them into new_content plan items. Pure GEO signal, zero extra API cost.
  • Citation-source gap. top_mentioned_domains / top_mentioned_pages shows which sources AI pulls from in the niche (Reddit, Wikipedia, directories, specific competitors). Reframe from a stat into a tactic: "AI trusts these places — here's where to get you listed or mentioned."
  • Brand-fact monitoring. brand_entities + the live answers reveal what AI actually says about the customer — attributes, category, facts. Flag when AI is wrong (wrong pricing, "permanently closed", stale info). Correcting AI hallucinations about your own brand is one of the biggest GEO wins and nobody else surfaces it.

New monitoring

  • Question coverage tracker. A fixed set of "money questions" per niche, re-run across all 4 engines on a schedule → citation status + trend per question per engine. The core GEO KPI: "cited for 6 of 10 key questions, up from 4." Positive, movement-only framing.
  • Share of AI voice. target_metrics/live gives your mentions vs the niche total → "you appear in ~12% of AI answers here." Never a rank — a share that grows.

On-site GEO — the doing, not just the measuring

  • GEO-readiness checklist. Schema.org / JSON-LD (we already do some), FAQ markup, clean extractable content, llms.txt — the technical factors that make a page easy for an AI to parse and cite. Surface as a plain-language checklist Scaup works through; we could even auto-generate and maintain llms.txt.

The proof loop — best for the weekly email

  • Before / after citation. After Scaup publishes a fix, re-run the live query later: "After we added this FAQ, ChatGPT now cites you for X." Closes the loop between what we did and what changed in the AI answers — the most convincing proof of value we can show.
Top 3 to prioritize: fan-out queries, brand-fact monitoring, and the before/after proof loop — all three lean on data we're already paying for and are uniquely GEO.
Part 5

The new tab, section by section

Exactly how the redesigned AI tab lays out, top to bottom. Left = a rough mock of what the customer sees; right = what it shows and where the data comes from. Same rules as today: full access gated to Pro/Business/pilot, and each section renders only when real data exists.

Section 1 · hero
Where you show up across AI
ChatGPT ✓ Claude ✓ Gemini • Perplexity —

Recommended by 3 of 4 AI assistants this week.

1. Where you show up across AI all 4 engines

The headline. One badge per assistant — cited (named + linked in the answer), mentioned (named, not linked), or not yet. A plain summary line: "recommended by 3 of 4." Never a rank; the number only ever grows as we win engines.

Data: live LLM Responses — we ask each of ChatGPT, Claude, Gemini, Perplexity the customer's key questions and check if the site is cited. The only view that covers all four. GEO

Section 2 · trend
AI mentions over time
42 this month
↑ 18% vs last month

Google AI 30 · ChatGPT 12

2. AI mentions over time upgraded

The count of how often AI answers mention the site, as a hero number with month-over-month growth and a real trend line — full history from day one (no more waiting weeks for the chart to fill). Split by Google AI vs ChatGPT.

Data: LLM Mentions historical/live. Scope note: Google + ChatGPT only — the mentions database has no Gemini/Perplexity data, so this section is explicitly labeled as the 2-engine deep view (Section 1 is the all-4 view). SEO + GEO

Section 3 · demand
What people ask AI about your topic
  • best tattoo studio herzliya1,200/mo ↑
  • fine line tattoo cost880/mo
  • tattoo aftercare tips640/mo ↑

3. What people ask AI about your topic new

Real demand: how many people ask AI about the customer's topics each month, and which questions are rising. Reframes the tab from "who mentions you" to "here's the demand, and here's your slice of it."

Data: AI Keyword Data keywords_search_volume/live (AI search volume + monthly trend, batched up to 1000 keywords). SEO + GEO

Section 4 · live answers
What every AI says about you

"best tattoo studio in Herzliya"

ChatGPT ✓ cited

"…among the top-rated studios, Costello Tattoo stands out for fine-line work…"

4. What every AI says about you new

The proof. For each key question, the real answer each assistant gave, with the mention highlighted and whether the site was cited. Expandable per engine. This is the strongest demo moment — "here's literally what ChatGPT tells your customers right now."

Data: live LLM Responses (all 4 engines). Cost-guarded: capped questions, cheap models, async task flow, cached. GEO

Section 5 · competitors
You vs competitors, question by question
  • ✓ fine line tattoo herzliyawinning
  • — best tattoo near merival cited
  • — tattoo removal costgap

5. You vs competitors, question by question extended

The merged list of questions where you're cited vs where only competitors show up, each with the plan to close the gap. Extended to all engines via the live checks, not just Google + ChatGPT.

Data: LLM Mentions opportunities (existing) + live LLM Responses per competitor. GEO

Section 6 · sources
Where AI gets its answers
  • reddit.comcited 540×
  • wikipedia.orgcited 300×
  • tripadvisor.comcited 210×

We'll work on getting you seen on these.

6. Where AI gets its answers new

The sources AI trusts in this niche — the sites it pulls answers from. Reframed as a tactic, not a stat: "AI leans on these places, here's where to get you listed or mentioned." Drives concrete GEO plan items.

Data: LLM Mentions top_mentioned_domains / top_mentioned_pages. GEO

Section 7 · accuracy
Is AI getting your facts right?
Needs fixing: Perplexity says you're "permanently closed." You're open — we'll work on correcting this.

7. Is AI getting your facts right? new

Flags when an assistant states something wrong about the business — wrong hours, wrong price, "permanently closed," outdated info. Correcting AI hallucinations about your own brand is a top GEO win and something no competitor tool surfaces. Only shows when there's something to fix.

Data: brand_entities + the live answer text, checked against known site facts. GEO

Section 8 · proof
What Scaup did & what changed
  • Added an FAQ to your services pageMon
  • ✓ ChatGPT now cites you for "best X"after

8. What Scaup did & what changed upgraded

The activity timeline, now closing the loop: after a change ships, a later live re-check shows the result — "after we added this FAQ, ChatGPT now cites you for X." The before/after proof that ties our work to real movement in AI answers. Ideal for the weekly email.

Data: completed plan items + executionSummary + a scheduled live re-query after apply. SEO + GEO

Section 9 · readiness
Getting your site AI-ready
  • Structured data (schema.org)
  • FAQ markup on key pages
  • llms.txt file — we'll add this

9. Getting your site AI-ready new

The on-site GEO checklist — the technical things that make pages easy for AI to read and cite (schema, FAQ markup, clean content, llms.txt). Shown as plain-language items Scaup works through, not a technical audit. The "doing," paired with all the "measuring" above.

Data: our own site scan + JSON-LD work (existing) + auto-generated llms.txt. GEO

Reading order = product order. Reassurance first (Sections 1–2: you show up, and it's growing), then demand and proof (3–4), then the actionable gap-closing (5–7), then what we did and the on-site work (8–9). Nothing on the tab can go down; every number is either a count that grows or a to-do we're handling.

New data → where it lands on the tab

New datasetFeedsPhase
LLM Mentions historical/live"AI mentions over time" trend line — Google + ChatGPT only (labeled as such)1
LLM Responses (ChatGPT, Claude, Gemini, Perplexity)Primary all-4-engines display — one row per engine, "what every AI says about you"2
AI Keyword DataNew "AI demand for your topic" section2
top_mentioned_pagesUpgrades citations from domain- to page-level2
LLM ScraperReal answer snapshots / screenshots3
Brands / timeseriesCompetitive intel + momentum widgets3
fan_out_queries (already returned)GEO content targets → new_content plan itemsGEO
brand_entities + live answersBrand-fact monitoring — flag wrong facts AI states about youGEO
Scheduled live queriesQuestion coverage tracker + before/after proof loopGEO
On-site: schema / FAQ / llms.txtGEO-readiness checklist Scaup works throughGEO
Part 6

How often we refresh — and how we show freshness

Cadence is set by cost, not by how often the data could change. The cheap database calls run weekly so trends stay alive; the token-priced live-model calls run monthly (or on demand) so cost stays flat per site. Every section carries a plain "last checked" line so the customer always knows how current the number is.

Per-source cadence

Data sourceFeeds sectionCadenceWhy
LLM Mentions historical/live2 · mentions trendWeekly~$0.10/call. Cheap enough to run with the weekly report; keeps the trend line moving.
LLM Mentions target_metrics / top_mentioned_*5 · competitors, 6 · sourcesWeeklySame low-cost database path; refresh alongside the mentions trend.
AI Keyword Data keywords_search_volume3 · AI demandMonthlyVolume is a monthly figure at source — re-pulling weekly shows the same number. Aligns with the monthly plan refresh.
LLM Responses (all 4 engines)1 · hero, 4 · live answersMonthly + on-demandToken-priced and up to 120s each — the one expensive call. Monthly sweep per site, plus a live re-check the customer can trigger.
LLM Responses (before/after re-query)8 · proof loopEvent-drivenFires once, a few days after a fix ships — not on a clock. Cost scales with work done, not with time.
Brand-fact check (brand_entities + live text)7 · accuracyMonthlyRides on the monthly live sweep — no extra call. Wrong-fact flags surface as soon as the sweep sees them.
LLM Scraper / brands / timeseriesPhase 3 depthMonthlyNice-to-have richness; monthly keeps cost negligible.
On-site GEO scan (schema / FAQ / llms.txt)9 · readinessWeeklyOur own scan, no API cost — runs with the existing weekly site check.
The rule of thumb: cheap database calls → weekly (fresh trends). Token-priced live-model calls → monthly + on-demand (flat cost). Nothing runs on every page load — the tab reads stored results and shows when they were last refreshed.
Perplexity is the exception — Live-only. The other three engines can run through the async Standard task flow (charged ~1¢ upfront, refunded), but Perplexity has no async path: every call is billed in full, so it's the most expensive of the four. That's why it refreshes monthly, not weekly, and why its badge can be up to ~4 weeks old. The per-section "last checked" line always states its age, and the on-demand "Refresh now" lets a customer force a fresh Perplexity read when they want one. It appears only in the live-driven sections (1 hero, 4 live answers, 5 competitors) — never in the mentions trend or sources, which are Google + ChatGPT database-only.

Freshness must be visible

Because sections refresh on different clocks, the customer must never guess how current a number is. Each section shows its own "last checked" line, and the tab caches results rather than re-querying on load.

Rules we hold to

Recommended first step: ship Phase 1's historical/live swap. It's a one-call backend change, instantly fixes the weakest part of the tab (the empty trend line), and needs no new UI. Then prototype the Phase 2 LLM Responses section on a single site to size real cost before rolling out.