Skip to main content
Perplexity

Search documentation

Type to search this documentation.

On this pageOverview

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>"
}
'
title="200"
{
  "results": [
    {
      "title": "<string>",
      "url": "<string>",
      "snippet": "<string>",
      "date": "<string>",
      "last_updated": "<string>"
    }
  ],
  "id": "<string>",
  "server_time": "<string>"
}
title="422"
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>"
    }
  ]
}

The Search API returns a ranked results[] array. Each result includes title, url, snippet, and optional date and last_updated fields:

Example Response
JSON
{
  "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"
}
shellscript
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
  }' | jq

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

Successful Response

results

ApiSearchPage · object[]

required

Show child attributes

id

string

required

server_time

string | null

Was this page helpful?

⌘I

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu