Search the Web
POST
/
search
Search the Web
curl --request POST \
--url https://api.perplexity.ai/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>"
}
'{
"results": [
{
"title": "<string>",
"url": "<string>",
"snippet": "<string>",
"date": "<string>",
"last_updated": "<string>"
}
],
"id": "<string>",
"server_time": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Response Shape
Section titled “Response Shape”The Search API returns a ranked results[] array. Each result includes title, url, snippet, and optional date and last_updated fields:
Example Response
{
"results": [
{
"title": "Example Article Title",
"url": "https://example.com/article",
"snippet": "A short excerpt from the article relevant to the query...",
"date": "2025-01-23",
"last_updated": "2025-09-25"
},
{
"title": "Another Relevant Source",
"url": "https://example.org/source",
"snippet": "Another excerpt showing the structured result format.",
"date": "2024-11-15",
"last_updated": "2025-08-12"
},
{
"title": "Third Result",
"url": "https://example.net/page",
"snippet": "A third result demonstrating the ranked array structure.",
"date": "2024-09-10",
"last_updated": "2025-07-03"
}
],
"id": "e38104d5-6bd7-4d82-bc4e-0a21179d1f77"
}Direct Call
Section titled “Direct Call”curl -X POST 'https://api.perplexity.ai/search' \
-H 'Authorization: Bearer $PERPLEXITY_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"query": "latest AI developments",
"max_results": 3
}' | jqAuthorizations
Section titled “Authorizations”Authorization
string
header
required
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
application/json
query
required
Search query (required)
country
string
ISO 3166-1 alpha-2 country code
Required string length: 2
max_results
integer
default:10
Maximum number of results. Values above 20 require search_type=people. Supports up to 20 for web search and up to 50 for people search.
Required range: 1 <= x <= 50
search_type
enum<string>
default:web
Search type - "web" for general web search, "fast" for lower-latency, lower-cost web search, "people" for people search. max_results above 20 is only supported for people search.
Available options:
web,
fast,
people
search_context_size
string
Controls how much content is extracted from result pages.
low— short passages most relevant to the query.medium— a balanced amount of content per document.high(default) — detailed content relevant to the query.
Omit when using max_tokens or max_tokens_per_page.
max_tokens
integer
Maximum total webpage content tokens to return across all search results
Required range: 1 <= x <= 1000000
max_tokens_per_page
integer
Maximum webpage content tokens to extract from each result page
Required range: 1 <= x <= 1000000
search_language_filter
string[]
ISO 639-1 language codes (2-character max)
Maximum array length: 20
Required string length: 2
search_domain_filter
string[]
Limit search results to specific domains (max 20)
Maximum array length: 20
Maximum string length: 253
last_updated_after_filter
string
Return results updated after this date (MM/DD/YYYY)
last_updated_before_filter
string
Return results updated before this date (MM/DD/YYYY)
search_after_date_filter
string
Return results published after this date (MM/DD/YYYY)
search_before_date_filter
string
Return results published before this date (MM/DD/YYYY)
search_recency_filter
enum<string>
Filter by publication recency (hour/day/week/month/year)
Available options:
hour,
day,
week,
month,
year
Response
Section titled “Response”Successful Response
results
ApiSearchPage · object[]
required
Show child attributes
id
string
required
server_time
string | null
Was this page helpful?
⌘I