Skip to main content
POST
Reference example
Ask a question that needs more than one search pass and get a written answer with citations. Same request and response shape as post_perplexity_sonar — model (required, sonar-pro) and messages in, choices[0].message.content, citations, search_results[] and usage out. Measured at about 10 seconds, roughly three times sonar, at the same flat per-request rate. Use it for questions with several parts or follow-ups. For a single lookup sonar answers in a third of the time at the same price; when the difficulty is reasoning rather than retrieval, post_perplexity_sonar_reasoning_pro shows its working.

Example

First time? Point any MCP client at https://mcp.aisa.one/mcp — Claude Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client opens a browser, you click Allow once, and there is no key to paste. Your agent then reaches every endpoint through five tools: search, list_categories and get_details are free, use and batch_use are billed per call. Setup per client is in Connect via MCP; the live tool list and what each call costs are on aisa.one/mcp.
Set this endpoint up in your agent →

Cost and request rules

Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.
  • Default request reference estimate (USD): 0.11273
  • Cost contract: response_usd
  • Published reference multiplier: 1.0
  • Settlement evidence source: response_body

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
model
enum<string>
required

The Sonar model to use.

Available options:
sonar,
sonar-pro,
sonar-reasoning-pro,
sonar-deep-research
messages
object[]
required

A list of messages comprising the conversation so far.

max_tokens
integer

The maximum number of tokens to generate in the response.

temperature
number
default:0.2

Sampling temperature between 0 and 2. Lower values make output more focused and deterministic.

Required range: 0 <= x <= 2
top_p
number
default:0.9

Nucleus sampling parameter. The model considers tokens with top_p probability mass.

Required range: 0 <= x <= 1
top_k
integer
default:0

The number of tokens to keep for top-k filtering.

Required range: 0 <= x <= 2048
stream
boolean
default:false

Whether to stream the response using server-sent events.

search_context
enum<string>
default:low

Controls how much search context to use. Affects per-request cost.

Available options:
low,
medium,
high
frequency_penalty
number
default:1

Penalizes new tokens based on their existing frequency in the text so far. Positive values decrease the likelihood of repeating the same line verbatim.

Required range: 0 <= x <= 2
presence_penalty
number
default:0

Penalizes new tokens based on whether they appear in the text so far. Positive values increase the likelihood of talking about new topics.

Required range: -2 <= x <= 2
return_citations
boolean
default:true

Whether to return citations and search results in the response.

search_recency_filter
enum<string>

Filter search results by recency.

Available options:
month,
week,
day,
hour
search_domain_filter
string[]

Limit search to specific domains.

Response

Successful response with AI answer and citations

id
string

Unique identifier for the completion.

model
string

The model used for the completion.

object
string
Example:

"chat.completion"

created
integer

Unix timestamp of when the completion was created.

choices
object[]
citations
string[]

List of source URLs referenced in the answer.

search_results
object[]

Detailed search results with titles, snippets, and URLs.

usage
object