Skip to main content
If your LangChain integration still calls Sonar Chat Completions, it will stop working when Sonar support ends. Point it at the Agent API instead. LangChain gives you chat models and agents. LangGraph adds stateful workflows. This page shows two ways to call Perplexity’s Agent API from either one, both grounded on Perplexity end to end.
Two integration paths both talk to Perplexity’s Agent API:
  • langchain-perplexity with the native ChatPerplexity class and use_responses_api=True. Shorter constructor, no base URL to configure. This is the path in the code samples below. Requires langchain-perplexity 1.4.1 or later.
  • langchain-openai with ChatOpenAI pointed at Perplexity’s base URL. Also works today on langchain-openai 1.5.x. See langchain-openai alternate path.
Neither path uses Sonar Chat Completions.

Installation

langchain 1.0 or later provides create_agent and installs LangGraph automatically. langchain-perplexity 1.4.1 or later provides ChatPerplexity with use_responses_api=True.

API Key Setup

Get API Key

Generate your Perplexity API key from the API portal.

Chat Model

Use ChatPerplexity with use_responses_api=True to route calls to Perplexity’s Agent API. Pass the built-in web_search tool for grounded answers.
Perplexity’s built-in web_search is best-in-class web-grounded search. The model calls it to ground answers in live sources. See the web_search tool docs for filters and options.
response.text is a property. Do not call response.text().

Selecting a model or preset

ChatPerplexity(use_responses_api=True) sends the call to the Agent API, so pick one of two ways to select routing:
  • Pass a preset through model_kwargs. Presets are "fast", "low", "medium", "high", "xhigh", and "wide-research". The preset chooses the current recommended model plus tool defaults for that tier. See Presets for the full list.
  • Set model= explicitly to an Agent API model such as openai/gpt-5.6-sol. See Agent API models.
You can also combine them — an explicit model= overrides the preset’s default model while keeping the preset’s other defaults.

Passing Perplexity built-in tools and options

Route Perplexity’s built-in tools (web_search, fetch_url) and Agent-API-only fields (like preset) through model_kwargs. That keeps everything the Agent API needs in one place.
ChatPerplexity reads PERPLEXITY_API_KEY from the environment and targets Perplexity’s Agent API directly, so you do not set base_url.
Web search filters live inside a filters object on the web_search tool config:
See the web_search tool docs for the full filter reference, including domain allowlist and denylist rules and date-range filters.
When you use web_search, leave room in the top-level max_output_tokens for the tool loop and the final response. A very small budget can be spent before the model writes an answer.

LangChain Agent

Create an agent with create_agent from langchain.agents. Do not use langgraph.prebuilt.create_react_agent; that path is deprecated. Pass Perplexity’s built-in tools in the agent’s tools list.
web_search gives the agent Perplexity’s best-in-class web-grounded search, so it can pull in and reason over live sources when a query needs them. Learn more in the web_search tool docs.
For agents, put every tool the agent should use in the create_agent tools list, including Perplexity built-ins and any local tools:
LangChain binds the agent’s tools list to the model, so keep tools there rather than in model_kwargs.

Reading Sources

To read structured search_results with titles and URLs, call the Agent API directly with the Perplexity SDK:
See Agent API models for supported models and pricing.

langchain-openai Alternate Path

If you already use langchain-openai, point ChatOpenAI at Perplexity’s /v1 base URL, set use_responses_api=True, and pass the built-in web_search tool through model_kwargs.
On ChatOpenAI, pass Perplexity’s built-in tools through model_kwargs={"tools": [...]} and Agent-API-only fields such as preset through extra_body. The underlying OpenAI SDK rejects them as unknown top-level keyword arguments.

Agent API Quickstart

Build with Agent API models, tools, and presets.

Agent API Models

Available models and pricing.

LangGraph Docs

Build stateful agents with LangGraph.