Perplexity AI API: доступ, цены, интеграция и руководство по продакшену
Последняя проверка по документации Perplexity: 24 октября 2026 года.
Perplexity AI API больше не является единым недифференцированным «API для поиска и чата». Теперь он предлагает отдельные интерфейсы для ответов агентов с опорой на веб-данные, маршрутизации моделей с открытыми весами, необработанного поиска, эмбеддингов и типизированных решений. Выберите интерфейс, соответствующий задаче, до написания кода: от этого зависят конечная точка, метод SDK, единица тарификации, лимит запросов и данные, которые потребуется логировать в продакшене.
Для большинства новых функций исследования или ассистента начните с Agent API. Он соответствует формату OpenAI Responses, может использовать веб-поиск и возвращает структурированный вывод с источниками. Используйте Orchestrator API, когда вашему существующему коду OpenAI Chat Completions нужен доступ к каталогу моделей с открытыми весами. Используйте Search, когда вам нужны ранжированные результаты без ответа LLM.
Короткий ответ: какой Perplexity API использовать?
| Потребность | Используйте | Что вы получаете | Формат интеграции |
|---|---|---|---|
| Исследованный ответ с источниками, инструментами или многошаговым рабочим процессом | Agent API | Структурированный вывод Responses, включая элементы результатов с учётом источников | POST /v1/agent или поддерживаемый псевдоним /v1/responses |
| Модели с открытыми весами через клиент в стиле OpenAI Chat Completions | Orchestrator API | Ответ в стиле Chat Completions | POST /orchestrator/v1/chat/completions |
| Ранжированные веб-результаты, которые будет обрабатывать ваш собственный пайплайн | Search API | Необработанные результаты поиска | POST /search |
| Векторы для семантического поиска, RAG или классификации | Embeddings API | Эмбеддинги | Конечная точка/SDK эмбеддингов Perplexity |
| Калиброванное решение «да/нет», выбор из нескольких вариантов или решение по рубрике | Decisions API | Типизированный ответ плюс вероятности | Конечная точка/SDK Decisions |
Это различие — наиболее важный выбор при проектировании Perplexity AI API. В текущем обзоре Perplexity Agent API описывается как совместимый с OpenAI Responses API с опорой на веб-данные; Orchestrator API — это отдельный интерфейс совместимости для хостируемых моделей с открытыми весами. Прочитайте обзор Perplexity.
Получите доступ к Perplexity AI API
- Создайте аккаунт в Perplexity API Console.
- Сгенерируйте ключ на странице API Keys.
- Храните его только на сервере или в менеджере секретов для развертывания.
- Установите
PERPLEXITY_API_KEYв среде выполнения — не в коде браузера, git, примерах или логах. - Добавьте платёжные данные перед отправкой продакшен-трафика. Perplexity документирует API-биллинг по модели pay-as-you-go без требования подписки; перед запуском проверьте актуальную страницу цен, поскольку тарифы моделей и инструментов могут меняться.
В macOS или Linux установите секрет, не выводя его на экран:
export PERPLEXITY_API_KEY="replace-in-your-secret-manager"
test -n "$PERPLEXITY_API_KEY" && echo "PERPLEXITY_API_KEY is set"
Последняя команда намеренно подтверждает наличие ключа, не раскрывая его значение. Perplexity прямо не рекомендует выводить в терминал ключи или даже их фрагменты. Для остальной части приложения соблюдайте то же правило: редактируйте заголовки Authorization, меняйте скомпрометированные ключи и используйте отдельные учётные данные для каждого окружения. Дополните это безопасным процессом управления API-ключами перед добавлением клиентского трафика.
Интегрируйте Agent API с OpenAI SDK
Agent API — подходящий интерфейс Perplexity AI API, когда вашему продукту нужен ответ с опорой на веб-данные, цитаты, использование инструментов или ответ, который может продолжаться в нескольких ходах. Perplexity документирует конфигурацию OpenAI SDK с base_url="https://api.perplexity.ai/v1" и использованием client.responses.create().
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["PERPLEXITY_API_KEY"],
base_url="https://api.perplexity.ai/v1",
)
response = client.responses.create(
model="perplexity/sonar",
input="What changed in the last 30 days for this topic? Cite primary sources.",
tools=[{"type": "web_search"}],
max_output_tokens=600,
)
print(response.output_text)
Каноническая конечная точка — POST /v1/agent; OpenAI SDK отправляет POST /v1/responses, который Perplexity принимает как псевдоним. Это совместимость на уровне Responses, а не обещание, что каждая опция Chat Completions будет корректно сопоставлена. Руководство Perplexity по совместимости с OpenAI — основной источник информации о поддерживаемых полях запросов и ответов.
Здесь важны две детали для продакшена:
- Веб-поиск подключается явно. Запрос только с
modelиinputиспользует знания модели и не возвращает цитаты; используйте уровень усилий или инструментweb_search, когда важны актуальность и источники. - На границе приложения сохраняйте структурированный
output, а не толькоoutput_text. Цитаты, активность инструментов, статус, использование и идентификатор ответа — это операционные данные, а не просто оформление для интерфейса.
Прежде чем жёстко прописывать идентификатор модели, выполните запрос GET /v1/models в рамках процесса развёртывания или проверьте актуальный каталог моделей Agent API. Perplexity документирует эту конечную точку в OpenAI-совместимом формате, что делает её полезной для списков разрешённых моделей и проверок релизов.
Используйте Orchestrator API, когда нужна совместимость с Chat Completions
У Perplexity AI API есть второй OpenAI-совместимый путь для другой задачи. Orchestrator API использует формат Chat Completions и другой базовый URL:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["PERPLEXITY_API_KEY"],
base_url="https://api.perplexity.ai/orchestrator/v1",
)
completion = client.chat.completions.create(
model=os.environ["PPLX_ORCHESTRATOR_MODEL"],
max_tokens=500,
messages=[
{"role": "user", "content": "Summarize these notes in five bullets."}
],
)
print(completion.choices[0].message.content)
Используйте переменную окружения для ID модели и проверяйте его в CI или при проверке релиза. Доступность в каталоге, псевдонимы и тарифные карточки меняются чаще, чем должен меняться код вашего приложения. Главная ошибка, которой следует избежать, — считать Agent API и Orchestrator API взаимозаменяемыми:
- Agent API:
https://api.perplexity.ai/v1+responses.create(). - Orchestrator API:
https://api.perplexity.ai/orchestrator/v1+chat.completions.create().
Если ваша цель — актуальный ответ с цитатами, не переходите на Chat Completions только потому, что этот клиент вам знаком. Если ваша цель — прямая миграция OpenAI Chat Completions для размещённого каталога моделей с открытыми весами, не направляйте его на базовый URL Agent. В кратком руководстве Perplexity показаны оба варианта.
Цены Perplexity AI API: рассчитывайте запрос целиком
Практичный способ спланировать бюджет для Perplexity AI API — отделить оплату токенов от оплаты инструментов или запросов. Точная тарифная сетка актуальна и зависит от модели, поэтому используйте страницу цен как входной параметр для развёртывания, а не как число, которое раз в квартал копируют на слайд.
| Компонент | Модель тарификации | Последствия для продакшена |
|---|---|---|
| Orchestrator API | Ставки за входные, выходные токены и токены чтения кэша для каждой модели; токены рассуждений оплачиваются по выходной ставке; платы за запрос нет | Оценивайте стоимость по измеренным входным, выходным и кэш-токенам. |
| Модель Agent API | Прозрачное ценообразование на основе токенов для выбранного провайдера/модели | Для каждого видимого пользователю запроса записывайте возвращённые данные об использовании и выбранную модель. |
Agent web_search |
Standard: $0.0025/вызов; Fast Search: $0.001/вызов | Делайте веб-доступ осознанным: это отдельная статья расходов. |
Agent fetch_url |
$0.0005/вызов | Ограничивайте количество загрузок URL в агентных циклах. |
| Песочница Agent | $0.03/сессия, плюс поисковые запросы SDK | Рассматривайте сессию песочницы как отдельный ресурс. |
| Search API | $5.00 за 1 000 успешных стандартных запросов; $1.00 за 1 000 запросов Fast Search | Запрос, содержащий до пяти поисковых запросов, считается одной тарифицируемой единицей успешного запроса. |
Указанные выше ставки были проверены 24 октября 2026 года. Перед установкой маржи, клиентской квоты или бюджетного оповещения ещё раз проверьте официальную страницу цен и каталог моделей Agent API.
Полезная формула планирования:
request_cost =
(input_tokens / 1,000,000 × input_rate) +
(output_tokens / 1,000,000 × output_rate) +
(cache_read_tokens / 1,000,000 × cache_read_rate) +
tool_invocations × tool_rate +
search_requests × search_request_rate
Не оценивайте стоимость исследовательского ответа только по выходным токенам. Агентные процессы могут использовать входной контекст, выходные токены/токены рассуждений и вызовы инструментов. Сохраняйте каждое из этих измерений вместе с ID вашего арендатора, названием функции, запрошенной моделью, итоговой моделью и ID ответа. Та же событийная модель делает сравнение цен AI-моделей гораздо содержательнее, чем сравнение одних лишь прейскурантных цен.
Создайте готовый к продакшену рабочий процесс Perplexity AI API
1. Сделайте выбор API явным продуктовым решением
Определите небольшой адаптер для каждого интерфейса, например perplexity_agent, perplexity_search и perplexity_orchestrator. Не скрывайте различия в их типах ответов за универсальной функцией chat(), пока не решите, что будет происходить с цитатами, результатами поиска, данными об использовании и событиями инструментов.
Для исследовательского ответа, отображаемого клиенту, адаптер должен возвращать как минимум:
answer_text, citations, response_id, status, requested_model,
served_model, input_tokens, output_tokens, tool_calls, cost, latency_ms
Для необработанного Search возвращайте результаты отдельно от любого последующего синтеза. Это сохраняет происхождение данных и позволяет менять модель написания текста, не меняя незаметно поискового провайдера.
2. Рассматривайте цитаты как данные, которые необходимо сохранять
Когда ваш запрос к Perplexity AI API использует веб-поиск, показывайте процитированные источники рядом с утверждением, которое они подтверждают. Сохраняйте возвращаемый URL источника, заголовок, если он предоставлен, и ID ответа, использованный для создания ответа. Дружелюбного ответа без проверяемых источников недостаточно для функции исследований, агента поддержки или внутреннего процесса принятия решений.
Определите свою политику до запуска:
- Требуете ли вы хотя бы один первичный источник для фактического ответа?
- Будете ли вы удалять утверждение, если ни одна цитата его не подтверждает?
- Может ли пользователь открыть процитированный URL до того, как действовать на основе ответа?
- Как долго вы храните метаданные источников и записи ответов?
3. Планируйте бюджет с учетом скользящих окон лимитов, а не одного числа «запросов в минуту»
В документации Agent API Perplexity указан общий для всей организации лимит запросов, разделяемый между вызовами Agent, опросами, операциями отмены/возобновления и скачиваниями файлов. Также в ней указаны лимиты токенов для каждой модели в скользящих окнах на минуту и час. Опросы не бесплатны: на низком тарифе опрос асинхронного запроса раз в секунду может израсходовать весь доступный лимит запросов.
Для ответов 429 соблюдайте Retry-After. Для ошибок overloaded, связанных с нехваткой мощности, применяйте экспоненциальную задержку с джиттером и используйте документированный список резервных вариантов только тогда, когда продукт может безопасно принять другую модель. Не повторяйте ошибки аутентификации, валидации или настройки квот так, как если бы они были временными. Актуальные пороги и семантику ответов смотрите в руководстве Perplexity по лимитам запросов и уровням использования.
Псевдокод для ограниченной политики повторных попыток:
for attempt in range(3):
try:
return call_perplexity()
except RateLimitError as error:
wait_seconds = retry_after_or_jittered_backoff(error, attempt)
sleep(wait_seconds)
except TransientCapacityError:
sleep(jittered_backoff(attempt))
raise ServiceTemporarilyUnavailable()
Держите число повторных попыток небольшим, используйте сквозной дедлайн и делайте резервное состояние вызывающей стороны видимым. Повторные попытки, превращающие медленный исследовательский запрос в 90-секундный индикатор загрузки, — это не надежность.
4. Логируйте достаточно данных, чтобы вместе отлаживать стоимость, качество и актуальность
Отслеживайте ID запроса, семейство эндпоинтов, модель, уровень усилий, список инструментов, время до первого токена, время завершения, параметры токенов, число вызовов инструментов, HTTP-статус, число повторных попыток и безопасную классификацию ошибок. Для ответов с цитатами отслеживайте число цитат и домены источников. Для Search отслеживайте число запросов и число результатов.
Это даст вам основания отвечать на такие вопросы, как: «Возросла ли задержка, потому что мы включили поиск?», «Какой тенант тратит средства на сессии песочницы?» и «Улучшил ли резервный вариант доступность, но снизил охват цитатами?» Более общую архитектуру смотрите в руководстве по AI API gateway и руководстве по лимитам запросов LLM.
5. Планируйте миграцию Sonar, если у вас есть устаревший код
Согласно текущим рекомендациям Perplexity по миграции, поддержка Sonar Chat Completions завершилась 27 сентября 2026 года. Для новых проектов рекомендуется Agent API; синхронные и потоковые устаревшие запросы постепенно переформулируются, а асинхронные запросы Sonar больше не поддерживаются. Если вы все еще вызываете эндпоинт Sonar, протестируйте адаптер Agent API уже сейчас, а не обнаруживайте сбой асинхронных запросов в продакшене. Прочитайте руководство по миграции.
Прямой Perplexity API или отдельный мультимодельный шлюз?
Используйте прямую интеграцию с Perplexity AI API, когда функция зависит от специфичных для Perplexity Agent, Search, цитат, уровней усилий или поведения API. Это сохраняет ясность продакшен-контракта.
Используйте отдельный мультимодельный шлюз только для моделей и эндпоинтов, которые этот шлюз в настоящее время указывает как поддерживаемые. Например, Flatkey документирует OpenAI-совместимый базовый URL https://router.flatkey.ai/v1 для своего поддерживаемого каталога и панель использования на уровне запросов. Публичный каталог моделей следует проверять в реальном времени, прежде чем предполагать доступность провайдера или модели. Начните с краткого руководства по Flatkey API.
Командам, которым нужны оба варианта, следует использовать два явных клиента:
| Требование | Рекомендуемая граница клиента |
|---|---|
| Исследования Perplexity с веб-обоснованием и цитатами | Прямой клиент Perplexity Agent/Search |
| Поддерживаемые модели, не относящиеся к Perplexity, с одним совместимым базовым URL и консолидированными средствами контроля использования | Клиент Flatkey |
| Продукту нужны оба варианта в одном рабочем процессе | Маршрутизатор на уровне приложения с типизированными адаптерами, независимыми списками разрешенных моделей и общей схемой событий наблюдаемости |
Не направляйте прямой эндпоинт Perplexity через другой сервис, если его текущая документация явно не поддерживает такой маршрут. Суть не в том, чтобы принудительно пропускать каждый вызов через один слой, а в том, чтобы сохранить возможности и поведение биллинга, на которые фактически опирается ваша функция.
Чек-лист запуска в продакшене
- [ ] Для каждой функции намеренно выбран Agent, Orchestrator, Search, Embeddings или Decisions.
- [ ] API-ключи находятся на сервере, разделены по окружениям и отсутствуют в клиентских бандлах и логах.
- [ ] Базовый URL Agent (
/v1) и базовый URL Orchestrator (/orchestrator/v1) не перепутаны. - [ ] Идентификаторы моделей и актуальные тарифные карточки проверяются при релизе.
- [ ] Веб-поиск явно включается только там, где полезна подтверждённая цитатами актуальность.
- [ ] Ответы с цитатами сохраняют метаданные источников и идентификатор ответа.
- [ ] События затрат включают параметры токенов и количество вызовов инструментов или поиска.
- [ ] Для
429соблюдаетсяRetry-After; при временных сбоях доступности используется ограниченная экспоненциальная задержка с джиттером. - [ ] Опрос выполняется с увеличением интервала либо заменяется потоковой передачей данных/повторным подключением.
- [ ] Поэтапное тестирование охватывает качество источников, задержку, стоимость, поведение при повторах и видимые пользователю запасные варианты.
Часто задаваемые вопросы о Perplexity AI API
Совместим ли Perplexity AI API с OpenAI SDK?
Да, но выберите соответствующий формат API. Agent API использует формат OpenAI Responses по адресу https://api.perplexity.ai/v1; Orchestrator API использует Chat Completions по адресу https://api.perplexity.ai/orchestrator/v1.
Выполняет ли каждый запрос к Agent API поиск в интернете и включает ли цитаты?
Нет. Perplexity документирует веб-поиск как подключаемую опцию. Добавьте уровень усилий или инструмент web_search, когда вам нужен результат, основанный на веб-источниках; сохраняйте структурированный вывод, чтобы ваше приложение могло отображать и проверять цитаты.
Сколько стоит Perplexity AI API?
Это зависит от выбранного API-интерфейса, модели, использования токенов, чтений из кэша, токенов рассуждений и инструментов. Используйте актуальную официальную тарифную карточку и измеряйте фактическое использование запросов. Запрос агента с включённым поиском имеет компоненты стоимости как токенов модели, так и инструментов.
Что делать после ошибки ограничения частоты запросов?
Соблюдайте Retry-After, ограничивайте темп новых запросов и используйте ограниченную экспоненциальную задержку с джиттером. Не выполняйте агрессивный опрос: опросы Agent API учитываются в общем лимите запросов организации.
Следующий шаг
Начните с одного узкого сценария использования в продакшене: исследовательского ответа с цитатами, функции поиска без обработки или вызова модели, совместимого с Chat Completions. Настройте инструменты мониторинга до расширения трафика. Если остальной части вашего приложения также нужны поддерживаемые модели за единым OpenAI-совместимым клиентом, ознакомьтесь с каталогом моделей Flatkey и чётко обозначьте границу его клиента.



