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/agentandresponses.create()— mapmessages→input, read answers fromoutput_text. - FACT: Web search is not automatic on Agent API — add the
web_searchtool (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(xhighfor 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
toolsin some cases; docs note blunt workarounds likemax_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
- Inventory Sonar clients (SDK, HTTP, OpenAI-compatible) and flag streaming vs async.
- Switch to
/v1/agent/responses.create(); map models to presets orperplexity/sonar+ tools. - Mandatory: add
web_search(or a preset) for grounding; move domain/recency filters onto the tool. - Update stream parsers for typed SSE (
response.output_text.delta) andsearch_resultscitations. - 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.
AIImpish