AI Visibility Tracking ToolFree checker

Perplexity Prompt Tracking With the Agent API

99Visibility Research · Updated October 21, 2026 · 7 min read

Perplexity prompt tracking means sending a fixed set of buyer questions to Perplexity and recording whether your brand is named and cited. As of October 2026, the API route is the Agent API, and web search is opt-in there. Calls without web search enabled return ungrounded answers with no warning. The consumer app also routes across several models, so no single API call reproduces what a Perplexity user sees.

Why the Sonar retirement matters for tracking

Many Perplexity trackers were built on Sonar Chat Completions. A forum announcement set that endpoint's retirement for 2026-09-27. That date appears in the forum post, not in Perplexity's own migration documentation, so check your provider's notice before assuming your code is affected or safe.

The risk is silent. Perplexity's replacement, the Agent API, does not search the web unless you ask it to. If a tracker was moved to the new endpoint with a minimal change, it can keep returning fluent answers that contain no live retrieval at all. The answers look normal. The numbers stop meaning what they used to.

What to do: audit any Perplexity data collected after the migration. If you cannot confirm web search ran, treat that period as a different measurement. Our notes on Perplexity's Sonar to Agent API migration docs and on whether the Sonar retirement affected AI visibility tracking go deeper on the break.

Web search is opt-in on the Agent API

Perplexity's migration documentation describes web search on the Agent API as a tool you enable, not a default. As of October 2026, an Agent API call without the web_search tool answers from the underlying model's training data.

That changes which stage you are measuring:

  • Search on: the answer reflects retrieval (which pages entered the model's context) and generation (which of those it used and cited).
  • Search off: the answer reflects only parametric knowledge, frozen at the model's training cutoff. Nothing you publish this quarter reaches it.

Both are worth knowing. Mixing them in one number is not. Perplexity is not unusual here, since several vendors ship APIs that do not search by default. See whether AI model APIs search the web by default for the wider pattern.

The practical rule: set web search explicitly on every tracking call, and store a flag on each answer saying whether search results came back. An answer with an empty search results list is a retrieval-off answer, whatever you intended.

No API call equals the Perplexity app

Secondary reports as of September 2026 describe the consumer app this way: free users get "Best", an auto-router that picks a model per query. Pro and Max users choose from a menu of eight models, reportedly including Sonar 2, GPT-5.6, Gemini 3.7 Flash and Claude Sonnet 5. Perplexity has not published which model the router picks for a given question.

So the app is not one model. Two users asking the same question can be served by different models. Your API call pins one model, usually a Sonar model, because it is the closest single match. It is still a proxy.

What this means for you:

  • Report Perplexity API results as "Perplexity Agent API, model X, search on", not as "what Perplexity says".
  • Do not compare an API run against a screenshot from the app and call the difference an error.
  • Revisit the pinned model when Perplexity changes its lineup.

The same gap exists on other platforms. AI API answers vs consumer app answers covers it across vendors.

What the Agent API returns, and what to log

With web search enabled, the Agent API returns a search_results list. Each entry carries an id, url, title, snippet, date, last_updated and source. The answer text cites those results by integer index. Perplexity cites whole sources, unlike Claude's API, which cites short text spans. That difference means citation counts from the two platforms do not share a unit, so do not add them together.

Log these fields per answer:

  1. The exact prompt, model, timestamp and whether web search was enabled.
  2. Every URL in search_results (the retrieved set).
  3. The subset actually cited in the answer (the cited set).
  4. Whether your brand is named, and whether any fact about it is wrong.

The retrieved set is usually larger than the cited set. A page that is retrieved but not cited tells you access and retrieval worked, and the drop happened at generation. A brand that is never retrieved points to an access or relevance problem instead. Citation is also a noisy proxy for influence: research on LLM attribution (arXiv 2606.28358) repaired most missed citations without changing the sources. The method is laid out in logging retrieved vs cited sources via API.

A reproducible Perplexity tracking setup

Say you run a hypothetical project-management SaaS and want to know whether Perplexity names you for buyer questions. A defensible weekly run looks like this:

  1. Fix the prompt set. Write buyer questions in plain language and keep them stable so week-over-week changes mean something.
  2. Pin the model and enable web search on every call. Record both.
  3. Run each prompt more than once. Answers vary between runs, so one sample is an anecdote.
  4. Store raw responses, including the full search results, not just a yes or no.
  5. Score per platform. Do not blend Perplexity into a cross-platform average. Otterly's 2026 test found one engine citing its sites thousands of times while others barely cited them, which a blended score would hide.
  6. Version your method. When you change the model, the prompts or the endpoint, mark the break.

Remember the limit of any prompt set: it measures answers to questions you chose, not the queries the engine actually runs. The same discipline applies to ChatGPT prompt tracking and to tracking Claude's answers about your brand. For a quick snapshot before building any of this, the free checker on this site tests up to three buyer questions.

Access comes first: PerplexityBot and Perplexity-User

Tracking tells you what Perplexity says. Access decides whether your pages can be in the candidate set at all. Perplexity documents two agents:

  • PerplexityBot crawls for Perplexity's search index. Perplexity states it is not used to crawl content for AI foundation models. Disallowing it in robots.txt removes your eligibility for that index.
  • Perplexity-User fetches pages when a user's request triggers it. Perplexity states this fetcher generally ignores robots.txt rules, so blocking it there is not reliable.

Allowing PerplexityBot buys eligibility, not citation. Two other checks matter just as much. First, a firewall or CDN can return 403 to a crawler that robots.txt allows, and nothing in robots.txt will show it. Second, PerplexityBot is among the crawlers tested as not executing JavaScript, so content that only appears after scripts run may be invisible to it.

The AI Crawler Checker requests a page as each AI crawler and shows which ones your firewall turns away.

What Perplexity does not document

Be plain with stakeholders about the gaps. As of October 2026, Perplexity publishes no ranking factors for which sources it retrieves or cites. It publishes no position or rank inside an answer. It does not say which model the app's router chooses per query. No API exposes whether your page was retrieved for a real user's question in the consumer app.

The wider research is consistent with this. A 2026 critical survey of 45 GEO studies (arXiv 2607.14035) found that no reviewed technique shows a stable, longitudinal, cross-platform causal effect on organic discoverability. Claims that a content trick will raise your Perplexity citations rest on lab conditions, not on live retrieval.

What you control: crawler access, server-rendered content, and clear, specific facts on fetchable pages. What you can measure honestly: grounded API answers, per model, with retrieved and cited sources logged. Everything else is a proxy, and your reports should say so.

More on this

How do I tell if a Perplexity API answer was grounded? Check the response for search results. On the Agent API, a grounded answer comes back with a search_results list and integer citations pointing into it. If that list is empty or missing, the model answered from training data. Store this as a field on every answer so you can filter retrieval-off answers out of your trend line rather than discovering the problem months later.

Can I track Perplexity brand mentions without the API? You can query the consumer app manually, but results depend on which model the auto-router or the user's menu choice selects, and on login state. That makes manual checks hard to reproduce. They are useful for spotting a wrong fact. For trend data, a pinned API model with web search enabled is more consistent, as long as you label it a proxy for the app.

Should I block PerplexityBot to keep my content out of Perplexity? Disallowing PerplexityBot in robots.txt removes your pages from eligibility for Perplexity's search index. It does not reliably stop Perplexity-User, which Perplexity says generally ignores robots.txt rules. Decide based on whether you want to appear in Perplexity answers at all. If you do, allow PerplexityBot and confirm your CDN or firewall does not block it.

Is my old Sonar data comparable with new Agent API data? Treat it as a different instrument. The endpoint, the model and possibly the retrieval behaviour all changed. If your new calls did not enable web search, the gap is larger still, because you moved from grounded to ungrounded answers. Mark the migration date as a break in your charts and compare like with like on each side of it.

Why do Perplexity and Claude citation counts not add up cleanly? They count different things. Perplexity cites whole sources by integer index into its search results. Claude's API cites short text spans of up to 150 characters. One Perplexity citation and one Claude citation are not the same unit, so adding them produces a number with no shared denominator. Report each platform on its own scale.

Sources

  1. Migrate from Sonar to the Agent API - Perplexity
  2. Perplexity Crawlers - Perplexity
  3. [2607.14035] Optimizing Visibility in Generative Engines: A Critical Survey of Generative Engine Optimization (2023-2026)
  4. [2606.28358] How Do LLMs Cite? A Mechanistic Interpretation of Attribution in Retrieval-Augmented Generation
  5. 2000 AI Blogs Experiment: Does Google Penalize AI Content?
  6. The rise of the AI crawler - Vercel

This page is AI-assisted. It was written from a verified evidence base and checked against our editorial policy. Engine behaviour changes often; facts are as of October 21, 2026.

Keep reading