perplexity/sonar-pro
Note: Sonar Pro pricing includes Perplexity search pricing. See details here
For enterpri...
vision
MODALITIES
→
INPUT PRICE
$3
OUTPUT PRICE
$15
CONTEXT
200K
RELEASED
Mar 7, 2025
| Provider | Chat | |||
|---|---|---|---|---|
| $3 | $15 | 99.0% |
Capabilities
Input modalities
imagetext
Output modalities
text
Features
frequency_penaltymax_tokenspresence_penaltytemperaturetop_ktop_pweb_search_options
1
Get API Key
Create an API key from the Keys page, then set it as an environment variable:
export ONLIST_API_KEY=sk-...2
Make your first request
Endpoints
POST
https://onlist.io/v1/chat/completionsOpenAI Chat Completions format
Request Headers
Authorization:Bearer $ONLIST_API_KEY
Content-Type:application/json
Model:perplexity/sonar-pro
POST
https://onlist.io/v1/responsesOpenAI Responses format
Request Headers
Authorization:Bearer $ONLIST_API_KEY
Content-Type:application/json
Model:perplexity/sonar-pro
POST
https://onlist.io/v1/messagesAnthropic Messages format
Request Headers
Authorization:Bearer $ONLIST_API_KEY
Content-Type:application/json
Model:perplexity/sonar-pro
Code samples
curl https://onlist.io/v1/chat/completions \
-H "Authorization: Bearer $ONLIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "perplexity/sonar-pro",
"messages": [
{
"role": "user",
"content": "Explain quantum entanglement in one paragraph."
}
]
}'Replace $ONLIST_API_KEY with the API key from your Keys page.
Authentication
All requests must include an Authorization: Bearer <TOKEN> header. Generate keys from the Keys page; keys can be scoped to specific models, groups, IP ranges, and rate limits.
3
Enable streaming
Add "stream": true to receive partial responses as server-sent events in real time.
Streaming example
curl https://onlist.io/v1/chat/completions \
-H "Authorization: Bearer $ONLIST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "perplexity/sonar-pro",
"messages": [
{
"role": "user",
"content": "Write a haiku about recursion."
}
],
"stream": true
}'Supported parameters
| Name | Type | Description |
|---|---|---|
frequency_penalty | number | Penalizes new tokens based on their existing frequency in the text (-2.0 to 2.0). |
max_tokens | integer | Maximum number of tokens to generate in the completion. |
presence_penalty | number | Penalizes new tokens based on whether they appear in the text so far (-2.0 to 2.0). |
temperature | number | Sampling temperature between 0 and 2. Higher values make output more random. |
top_k | integer | Limits token selection to the k most likely candidates at each step. |
top_p | number | Nucleus sampling. The model considers tokens with top_p probability mass. |
web_search_options |
These are the request parameters this model accepts. Parameter semantics follow the OpenAI Chat Completions specification.