How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Perplexity Agent API

The Agent API from Perplexity — 1 operation(s) for agent.

Perplexity Agent API is one of 12 APIs that Perplexity publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Agents. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, authentication docs, pricing, and an AsyncAPI specification.

This API exposes 1 operation across 1 path, and defines 58 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://api.perplexity.ai.

1 operations 1 paths 58 schemas 1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://api.perplexity.ai
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Perplexity Agent API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (HTTPBearer).

Paths & Operations 1

Across 1 path, the API surfaces 1 operation — 1 POST. Each is listed below with its method, path, parameters, and response codes.

Agent 1
POST
/v1/agent
Create Agent Response
createAgent body → 200

Schemas 58

The contract defines 58 schemas that model the data the API accepts and returns. The most detailed are ResponsesRequest (12 properties), ResponsesResponse (8 properties), FunctionCallOutputItem (7 properties), SearchResult (7 properties). Each schema is shown below with its type and property counts.

FunctionCallOutputItem
object
7 properties 6 required
TextDoneEvent
object
Text done event (type: "response.outputtext.done"). Contains the final text content.
6 properties 6 required
InputContentPart
object
3 properties 1 required
Tool
ResponseStreamEvent
SSE stream event. Discriminate by the type field: - response.created: Initial response object - response.inprogress: Response processing started - response.com…
Annotation
object
Text annotation (URL citation)
5 properties
SearchRecencyFilter
string
Time-based recency filter for search results
WebSearchFilters
JSONSchemaFormat
object
Defines a JSON schema for structured output validation
4 properties 2 required
ResponseFailedEvent
object
Response failed event (type: "response.failed"). Contains error details when streaming fails.
3 properties 3 required
ToolUserLocation
object
User's geographic location for search personalization
5 properties
FunctionCallInput
object
5 properties 4 required
InputItem
ReasoningConfig
object
1 property
Date
string
Input: MM/DD/YYYY, Output: YYYY-MM-DD
ReasoningStoppedEvent
object
Reasoning stopped event (type: "response.reasoning.stopped"). Signals the model has finished reasoning/searching.
3 properties 2 required
RoleType
string
Role in a message
ResponseCompletedEvent
object
Response event Contains the full or partial response object.
3 properties 2 required
SearchSource
string
Source of search results
FetchUrlResultsOutputItem
object
2 properties 2 required
ResponsesUsage
object
Token usage and cost information for a Responses API request
6 properties 3 required
Status
string
Status of a response or output item
UrlContent
object
Content fetched from a URL
3 properties 3 required
InputMessage
object
3 properties 3 required
WebSearchTool
object
Web search tool configuration for the Responses API
5 properties 1 required
ResponsesObjectType
string
Object type in API responses
ResponsesRequest
object
12 properties 1 required
InputContent
Message content - either a string or array of content parts
MessageOutputItem
object
5 properties 5 required
ToolCallDetails
object
Details about a tool call invocation
1 property
OutputItem
SearchDomainFilter
object
1 property
FetchUrlQueriesEvent
object
URL fetch queries event (type: "response.reasoning.fetchurlqueries"). Contains URLs being fetched.
4 properties 3 required
Input
Input content - either a string or array of input items
ResponsesResponse
object
Non-streaming response returned when stream is false
8 properties 6 required
ErrorInfo
object
Error information returned when a request fails
3 properties 1 required
FetchUrlResultsEvent
object
URL fetch results event (type: "response.reasoning.fetchurlresults"). Contains fetched URL contents.
4 properties 3 required
ResponseInProgressEvent
object
Response in progress event (type: "response.inprogress"). Emitted when response processing has started.
3 properties 2 required
DateFilters
object
5 properties
SearchResult
object
A single search result used in LLM responses
7 properties 4 required
TextDeltaEvent
object
Text delta event (type: "response.outputtext.delta"). Contains incremental text content.
6 properties 6 required
ContentPart
object
3 properties 2 required
ContentPartType
string
Type of a content part
OutputItemDoneEvent
object
Output item done event (type: "response.outputitem.done"). Emitted when an output item (message or tool call) completes.
4 properties 4 required
FunctionTool
object
5 properties 2 required
FetchUrlTool
object
2 properties 1 required
SearchResultsOutputItem
object
3 properties 2 required
EventType
string
SSE event type discriminator
SearchQueriesEvent
object
Search queries event (type: "response.reasoning.searchqueries"). Contains search queries being executed.
4 properties 3 required
ResponseFormat
object
Specifies the desired output format for the model response
2 properties 1 required
OutputItemAddedEvent
object
Output item added event (type: "response.outputitem.added"). Emitted when a new output item (message or tool call) starts.
4 properties 4 required
FunctionCallOutputInput
object
5 properties 3 required
ReasoningStartedEvent
object
Reasoning started event (type: "response.reasoning.started"). Signals the model has started reasoning/searching.
3 properties 2 required
FinanceSearchTool
object
Finance search tool configuration for the Agent API
1 property 1 required
ResponsesCost
object
Cost breakdown for a Responses API request
7 properties 4 required
Currency
string
Currency code for cost values
SearchResultsEvent
object
Search results event (type: "response.reasoning.searchresults"). Contains search results returned.
5 properties 3 required
ResponseCreatedEvent
object
Response created event (type: "response.created"). Contains the initial response object.
3 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

perplexity-agent-api-openapi.yml Raw ↑

Other APIs Perplexity publishes across the network.

Perplexity
Perplexity Async Chat Completions API
Perplexity Search API
Perplexity Responses API
Perplexity Embeddings API
Perplexity Async API
Perplexity Contextualizedembeddings API
Perplexity Embeddings API
Perplexity Models API
Perplexity Search API
Perplexity Sonar API
Where this information came from

This is an independent, third-party profile of Perplexity Agent API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.