Perplexity Sonar Retires Sep 27: Migrate to Agent API Now

Coffee Summary

  • FACT: Perplexity docs state Sonar Chat Completions is supported until September 27, 2026; Agent API is the recommended path for existing and new workloads.
  • FACT: Migrate by switching to /v1/agent and responses.create() — map messages → input, read answers from output_text.
  • FACT: Web search is not automatic on Agent API — add the web_search tool (or use a preset that includes it) or answers may be ungrounded.
  • FACT: Suggested preset map: Sonar→fast, Sonar Pro→low, Sonar Reasoning Pro→medium, Sonar Deep Research→high (xhigh for top tier).
  • CLAIM (blog/search): Perplexity’s Agent API hub post frames one endpoint for LLMs + web + agents and confirms Sonar tiers retire on the same Sep 27 date — corroborate against live docs before cutover.

What happened

Perplexity’s official migration docs declare that Sonar Chat Completions is now Agent API, with Sonar supported until September 27, 2026. FACT (docs): The company recommends migrating existing Sonar usage and using Agent API for all new projects, describing Agent API as more performant and cost-effective for production, with Search-as-Code style innovations and tuned presets.

FACT (docs): Agent API is a unified interface: multi-provider models (OpenAI, Anthropic, Google, xAI, and others, plus Perplexity Sonar), built-in tools (web search, fetch, sandbox, MCP, finance/people search), presets (fast–xhigh), Open Responses–style portability, and multi-turn via prior response ids.

CLAIM (hub blog via search snippets): The post *“Agent API: One Place to Build with LLMs, the Web, and Agents”* describes one programmable endpoint and states Sonar endpoints remain available until Sep 27, 2026, when Agent API becomes the main surface and Sonar tiers retire. WebFetch timed out on the blog URL in this pass — treat blog color as CLAIM unless you re-open the live page; use docs for cutover mechanics.

Why it matters

If your production stack still calls Sonar chat completions, September 27, 2026 is a hard calendar risk. Waiting until the final week means rushing endpoint, streaming, and search-tool changes under incident pressure. The highest silent breakage is search: FACT (how-to docs) — on Sonar, grounded web search was effectively always on; on Agent API you must explicitly offer web_search (or rely on a preset’s tools). A bare model request can answer from parametric knowledge with no search.

What changed

Request / response shape (FACT — migration how-to)

Sonar Agent API
POST /v1/sonar (chat completions) POST /v1/agent
client.chat.completions.create() client.responses.create()
messages input (string or input items)
choices[0].message.content response.output_text
Always-on search Add tools: [{ "type": "web_search" }] or use a preset
search_* top-level filters Move into web_search tool filters
max_tokens max_output_tokens
Stream delta.content Stream SSE; text via response.output_text.delta

Preset mapping (FACT — overview docs)

Sonar model Agent API preset
Sonar fast
Sonar Pro low
Sonar Reasoning Pro medium
Sonar Deep Research high
(beyond prior top tier) xhigh

FACT: Docs claim internal benchmarks show mapped presets improve accuracy (and often cost) vs prior Sonar tiers — still vendor benchmarks; validate on your queries.

Features that drop or change (FACT)

No direct Agent API equivalent for several Sonar knobs (docs list): search_language_filter, Sonar stream_mode full-metadata style, image/video result returns, file_url/pdf_url/video_url multimodal parts, and response_format.type: "regex" (redesign around JSON schema). Async Sonar maps to Agent API background runs (background: true + poll by id).

Who should care

  • Backend teams with live Sonar traffic who need a Sep 27 cutover plan this week.
  • Search-grounded product owners who assume citations always appear without configuring tools.
  • Platform engineers wrapping Perplexity behind internal SDKs — update clients, streaming parsers, and eval harnesses together.
  • New agent builders who should start on Agent API presets instead of Sonar.

Limitations

  • Hub blog full text not retrieved via WebFetch this pass (timeout); retirement date and migration mechanics are anchored on official docs.
  • Performance/cost “better than Sonar” statements are vendor claims — run your own golden set.
  • Preset tool bundles can keep tools enabled even if you pass empty tools in some cases; docs note blunt workarounds like max_tool_calls: 0 — verify current behavior in docs before relying on it.
  • Pricing deltas are not detailed on the migration pages reviewed here.

What to do next

  1. Inventory Sonar clients (SDK, HTTP, OpenAI-compatible) and flag streaming vs async.
  2. Switch to /v1/agent / responses.create(); map models to presets or perplexity/sonar + tools.
  3. Mandatory: add web_search (or a preset) for grounding; move domain/recency filters onto the tool.
  4. Update stream parsers for typed SSE (response.output_text.delta) and search_results citations.
  5. Shadow-traffic for a week, then hard-cut before Sep 27, 2026.

AIImpish Take

The deadline is a FACT from Perplexity docs: Sonar support through September 27, 2026. The migration is mostly mechanical — endpoint, input/output_text, streaming events — but forgetting web_search is the footgun that turns grounded products into ungrounded ones overnight. Migrate now; treat blog marketing as CLAIM and docs as the cutover source of truth.