Skip to main content
AEO (Answer Engine Optimization) gives your agent tools to understand and optimize for AI search. Track how LLMs like ChatGPT, Claude, Gemini, and Perplexity respond to queries, monitor brand mentions in AI responses, scrape ChatGPT Search results with citations, and analyze AI search volume trends.

CLI First

SDK

Per-user and AccountKit-gated; usage is metered against the tenant’s plan (see Customer Billing). Full surface in the aeo sub-client; also available to agents via agentTools().

Endpoints

LLM Responses

Get responses from major AI models to see what they say about your brand, product, or topic.
Response:

Parameters

The CLI maps --keyword to user_prompt. The model field is model_name, and each platform only accepts its own models (an OpenAI model name is rejected for Claude/Gemini/Perplexity). If --model is omitted, a valid per-platform default is used: chatgpt → gpt-4o-mini, claude → claude-sonnet-4-5, gemini → gemini-2.5-flash, perplexity → sonar. Perplexity is Live-only and supports only sonar, sonar-pro, sonar-reasoning-pro. Do not send location/language to LLM Responses.

When to use

  • Monitoring what LLMs say about your brand or product
  • Comparing how different AI models describe a topic
  • Identifying which competitors get mentioned in AI responses
  • Auditing AI search visibility across platforms

LLM Scraper

Scrape ChatGPT Search results including citations, source links, and structured response data. Two output formats: advanced (structured JSON) and HTML (raw rendered output).

Parameters

When to use

  • Getting full ChatGPT Search results with source citations
  • Analyzing which sources ChatGPT cites for your keywords
  • Comparing live ChatGPT output vs. LLM Responses API data

AI Keyword Data

Get search volume estimates for keywords in AI search engines.
Response:

Parameters

DataForSEO requires both a location and a language. location_code (2840) and language_code (en) are applied automatically when omitted; the CLI’s --location/--language flags override them.

When to use

  • Estimating AI search demand before creating content
  • Comparing traditional vs. AI search volume
  • Prioritizing keywords for AEO optimization

LLM Mentions

Track how often brands, domains, and keywords appear in LLM responses. All endpoints use Live method.
Response:

Parameters

The target array is the only accepted way to pass keywords/domains — DataForSEO rejects a top-level keyword or domain string with “POST Data Is Invalid”. The CLI builds it automatically: search/top-domains/top-pages from --keyword (→ target: [{ keyword }]), aggregated-metrics/cross-aggregated-metrics from --target <domain> (→ target: [{ domain }]).

When to use

  • Monitoring your brand’s presence in AI-generated answers
  • Benchmarking competitor visibility across LLMs
  • Identifying which domains dominate AI search for your keywords
  • Tracking mention trends over time

Error Handling

Perplexity only supports the Live method — no async task endpoints. For batch processing across multiple LLMs, submit async tasks for ChatGPT, Claude, and Gemini, then use live calls for Perplexity.

Typical Workflow

Credit Costs

LLM Mentions and AI Keywords are metered, not flat: the provider bills us per returned row and per keyword, so the price is computed from the request’s own limit / keywords. limit accepts 1–1000 and defaults to 100. LLM Responses passes the model provider’s token cost through, so a long answer on an expensive model can settle above the list price — credits_used on the response is always the amount charged.

See also (blog)