Skip to main content

Models

Yes. The Agent API provides a built-in web search tool, and research-backed effort levels include search by default.
Context window size varies by model. See the Agent API models page and the linked provider documentation.
Currently, we do not support fine-tuning.
When a model is retired, we announce it in the changelog along with a recommended replacement. To avoid unexpected model changes, pin an explicit model ID in your requests rather than relying on a default. Pinning doesn’t prevent retirement, so watch the changelog for deprecation notices. The current list of available models is on the Agent API models page.

Output & Capabilities

Yes. Use the text.format field to constrain a response to a JSON schema. See Structured Outputs for examples.
Yes. Pass stream: true to receive the response incrementally as it is generated, instead of waiting for the full result. See Streaming Responses. The official SDKs expose streaming directly.
Yes. The Agent API provides built-in tools, including web search, image search, fetch URL content, people search, finance search, and a code sandbox. The model decides when to call them while answering your request. To call your own code, declare custom functions: the model requests a call, and your application runs it and returns the result. You can also connect MCP servers and connectors. See the tools overview.
It depends on the API.
  • Orchestrator API (private preview): accepts the OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages formats at https://api.perplexity.ai/orchestrator/v1. See the Orchestrator API quickstart.
  • Agent API: supports the OpenAI Responses API interface. Point an OpenAI client at https://api.perplexity.ai/v1 with your Perplexity API key and call client.responses.create(). POST /v1/responses is accepted as an alias for the canonical POST /v1/agent. Some defaults and Perplexity extensions differ from OpenAI’s. See OpenAI Compatibility for the differences.
No. In Sonar Deep Research, reasoning tokens are what the model uses to reason through the research material before it writes the final output. They’re reported separately from completion tokens in usage.reasoning_tokens and billed at their own rate.

Search & Results

  1. The API uses the same search system as the UI with differences in configuration, so their outputs may differ.
  2. The underlying AI model might differ between the API and the UI for a given query.
Not exactly. The API and the web interface share search infrastructure, but their tools, configuration, and models differ, so results can differ.
It depends on the tool. In the Agent API, the image search tool applies SafeSearch by default: filters.safe_search defaults to true. The web_search tool has no SafeSearch setting. Legacy Sonar models apply SafeSearch to web results by default.

Account, Billing & Limits

Pricing is usage-based and varies by API:
  • Orchestrator API: per token at each model’s published rates, with no per-request fees.
  • Agent API: per token at each model’s published rates, plus tool fees. Most tools bill per call. sandbox bills per session (a 20-minute billing window), and tools called from inside the sandbox bill at their standard rates.
  • Search API: per successful request.
  • Embeddings API: per token.
  • Decisions API: per input token. Output tokens are free.
See the full breakdown on the Pricing page.
Purchase API credits in the Billing page in the API Console. Enable auto top-up to add credits automatically when your balance runs low and avoid interrupted service. You can also buy credits through the AWS Marketplace for consolidated billing, or contact our sales team for enterprise procurement. Your usage tier advances automatically as your cumulative purchases grow.
Your usage tier advances automatically when your all-time credit purchases reach the next threshold. If you need higher limits than your tier allows, request a custom limit.See Rate Limits & Usage Tiers for the limits at each tier.
Limits depend on the API and your usage tier. The Agent API applies both a request limit and per-model token limits. See Rate Limits & Usage Tiers.
If you’re an Admin, open the Billing page in the API Console. If your organization has more than one API key, use the API key filter in usage analytics to see cost and usage for the keys you select. Some invoice line items under Invoice history also end with the last 4 characters of the API key, for example pro (743S), but not every invoice includes this breakdown.

Errors & Troubleshooting

A 401 means the request couldn’t be authenticated. Check that you’re sending a current API key in the Authorization: Bearer header and that the key hasn’t been deleted. If your account runs out of credits, requests can return 402 Payment Required instead. Add credits on the Billing page, and turn on auto top-up to avoid interruptions.
A 429 means you’ve exceeded a rate limit. Limits and limiter behavior vary by API, and the Agent API applies both a request limit and per-model token limits. See Rate Limits & Usage Tiers. On a 429, wait at least the Retry-After interval, then retry with exponential backoff and jitter. The SDK examples in Error Handling show the backoff shape; for Agent API token limits, start the delay from Retry-After, not from a fixed base. For sustained higher throughput, upgrade your tier or request a custom limit.
5xx responses indicate a transient server-side issue, and connection or timeout errors usually point to a network problem. Retry these with exponential backoff, set sensible client timeouts, and log the X-Request-ID response header to include when you contact support. The Error Handling guide covers the SDK exception types and recovery patterns.
Current API availability and incident history are on the System Status page. If you’re seeing errors that aren’t explained there, reach out through the support channels below.

Data, Privacy & Security

We collect the following types of information:API Usage Data: We collect limited usage metadata, such as request and token counts, model used, timestamps, duration, and API key, to operate and bill the service. If you’re an Admin, you can view your project’s usage on the Billing page in the API Console. Members cannot view usage metrics in the console.User Account Information: When you create an account with us, we collect your name, email address, and other relevant contact information.Under the API Terms of Service, Perplexity does not use Customer Content to train generative AI models. Retention depends on the API, model, and account configuration, and Zero Data Retention (ZDR) is not the default. See Privacy & Security for details.
Perplexity maintains a SOC 2 Type II report, a 2025 HIPAA gap assessment, and a CAIQlite cloud security assessment. These reports, along with data-processing and other compliance documentation (for example, for DPA or GDPR requests), are available through the Perplexity Trust Center. See Privacy & Security for an overview, or contact us for documents not published there.

Support & Reliability

To file a bug report, create a new post in the Bug Reports category of the Community Forum. Include the request you sent, the response or error you got, and what you expected.The team reviews new reports and replies in the thread. Response times vary with report volume.
A Feature Request is a suggestion to improve or add new functionality to the Perplexity API Platform, such as:
  • Requesting support for a new model or capability (e.g., image processing, fine-tuning options)
  • Asking for new API parameters (e.g., additional filters, search options)
  • Suggesting performance improvements (e.g., faster response times, better citation handling)
  • Enhancing existing API features (e.g., improving streaming reliability, adding new output formats)
To submit one, create a post in the Feature Requests category of the Community Forum, or upvote an existing request. See Feature Requests for details.
We email users about new developments and also post in the changelog.
We do not guarantee this at the moment.
Post your question on the Community Forum. For account, billing, or technical issues you can’t share publicly, email api@perplexity.ai. See Get in Touch for the right channel for each type of request.