Perplexity Sonar API

Real-time web-connected search with accurate citations and customizable sources for up-to-date AI search integration in production apps.

PerplexityResearch & Search127K contextProprietary Endpoint

About Perplexity Sonar

Real-time web-connected search with accurate citations and customizable sources for up-to-date AI search integration in production apps.

web search

Perplexity Sonar specs

Model ID
perplexity-sonar
Provider
Perplexity
Category
Research & Search
Context window
127K tokens
Input
text, image, document
Output
text
Endpoints
POST /v1/chat/completions
POST /v1/responses
POST /v1/messages
POST /v1/search

Perplexity Sonar API pricing

Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.

Type
Spec
Rate
Input
per 1M prompt tokens
$2.40
Output
per 1M generated tokens
$2.40
Base Fee (Low Context)
per request
$0.012
Base Fee (Medium Context)
per request
$0.019
Base Fee (High Context)
per request
$0.029
Compare on the full pricing page

How to call the Perplexity Sonar API

Perplexity Sonar serves the OpenAI-compatible Chat Completions API. Point any OpenAI SDK at https://api.empiriolabs.ai/v1 with your EmpirioLabs API key and use the model id perplexity-sonar. Get an API key from the EmpirioLabs dashboard.

cURL
curl https://api.empiriolabs.ai/v1/chat/completions \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "perplexity-sonar",
    "messages": [
      {"role": "user", "content": "Write a haiku about the ocean."}
    ]
  }'
Python (OpenAI SDK)
from openai import OpenAI

client = OpenAI(
    base_url="https://api.empiriolabs.ai/v1",
    api_key="YOUR_EMPIRIOLABS_API_KEY",
)

response = client.chat.completions.create(
    model="perplexity-sonar",
    messages=[{"role": "user", "content": "Write a haiku about the ocean."}],
)
print(response.choices[0].message.content)
Full Perplexity Sonar API reference

Perplexity Sonar API parameters

Request parameters supported by the Perplexity Sonar API on EmpirioLabs. Defaults apply when a field is omitted.

ParameterTypeDefaultRange / valuesDescription
temperaturenumber0.20 to 2Sampling temperature. 0 = deterministic, 2 = maximum randomness.
top_pnumber0.90 to 1Nucleus sampling probability mass. Lower = more focused.
max_tokensnumber10241 to 32768Maximum tokens in the response.
search_context_sizeenummediumlow, medium, highHigher context gives better answers but increases the base fee per request.
search_modeenumdefaultdefault, academic, secFilter search results by source type. Academic = scholarly papers, SEC = financial filings.
search_domain_filterstring--Comma-separated list of domains (allow with no prefix, deny with leading -)
search_language_filterstring--Comma-separated ISO 639-1 codes (2 letters). Max 10.
search_after_datestring--Use YYYY-MM-DD. Only include sources after this date.
search_before_datestring--Use YYYY-MM-DD. Only include sources before this date.
search_recency_filterenumnonenone, hour, day, week, month, yearRelative time filter. Cannot be combined with specific dates.
last_updated_after_filterstring--Use YYYY-MM-DD. Only include sources after this date.
last_updated_before_filterstring--Use YYYY-MM-DD. Only include sources before this date.
countrystring--Two-letter ISO 3166-1 code (e.g. US, GB) for biasing results to a country.
regionstring--State or province name for location bias.
8 more parameters in the docs

Perplexity Sonar API: common questions

How much does the Perplexity Sonar API cost?

On EmpirioLabs, Perplexity Sonar is billed pay as you go: Input $2.40 per 1M prompt tokens; Output $2.40 per 1M generated tokens; Base Fee (Low Context) $0.012 per request. The live rate card on this page always matches what the API charges.

What is the context window of Perplexity Sonar?

Perplexity Sonar supports a 127K-token context window.

Is the Perplexity Sonar API OpenAI-compatible?

Yes. Perplexity Sonar serves the OpenAI-compatible Chat Completions API, so existing OpenAI SDKs work by pointing base_url at https://api.empiriolabs.ai/v1 and setting the model id to perplexity-sonar.

Can I try Perplexity Sonar in the browser before integrating?

Yes. The EmpirioLabs playground runs Perplexity Sonar in the browser with the same parameters the API exposes, so you can test prompts before writing code.

How do I get a Perplexity Sonar API key?

Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.

Ready to use better endpoints?

Explore our models, or contact us about business inquiries, custom deployments, or anything else.