Monitor Perplexity Responses
Perplexity
Extract Perplexity
Extract structured data from Perplexity AI about your brand, products, or any topic across various regions
POST
Monitor Perplexity Responses
Overview
The Perplexity endpoint extracts structured data from Perplexity AI with real-time web sources. Beyond basic text responses, it automatically detects and extracts data objects including shopping products, media content, travel information, and location data based on query intent.Web search enabledThis endpoint uses Perplexity’s default interface, which always performs web searches for all requests to provide real-time information with source citations.
- Shopping queries: Product information, pricing, and shopping cards
- Travel queries: Hotel listings and places
- Media queries: Videos and images related to the search
- General queries: Standard web search with sources and citations
Request parameters
Uses common parameters. Endpoint-specific options:include.rawResponse(boolean): Include raw streaming response events. Defaults tofalse
Response objects
The response includes the following sections. See each subpage for the full schema and examples.| Section | Description |
|---|---|
| Sources | Source citations referenced in the response |
| Shopping cards | Product cards with pricing, ratings, and offers |
| Media | Videos and images relevant to the query |
| Travel and places | Hotels and places when travel intent is detected |
Response schema
Includes common response fields plus:Core response fields
| Field | Type | Description |
|---|---|---|
result.text | string | Perplexity’s response text |
result.html | string | Response formatted in HTML (included when include.html is true) |
result.sources | array | Array of sources referenced in the response |
result.markdown | string | Response formatted in Markdown (included when include.markdown is true) |
result.rawResponse | array | Array of Perplexity’s streamed response events (included when include.rawResponse is true) |
result.shopping_cards | array | Shopping cards when shopping intent detected |
result.videos | array | Videos relevant to the query |
result.images | array | Images relevant to the query |
result.hotels | array | Hotels when travel intent detected |
result.places | array | Places when location intent detected |
Additional response data
| Field | Type | Description |
|---|---|---|
result.related_queries | array | Suggested follow-up search queries |
result.search_model_queries | array | Internal search queries (fan-outs) used to generate response |
| Field | Type | Description |
|---|---|---|
query | string | Actual search query used |
engine | string | Search engine type (“web”, etc.) |
limit | number | Result limit (typically 8) |
Common questions
I’m getting 500 errors on certain prompts. What’s happening?
Perplexity occasionally classifies certain queries as “personal search” (queries with location context, first-person phrasing, or user-specific intent) and returns a 500 error. Mitigations:- Remove in-prompt location injections — use the
countryrequest parameter instead of writing location into the prompt. - Append
"This is not a personal search."to affected prompts (reduces but does not eliminate failures; may slightly affect response quality). - Build retry logic: Perplexity already retries internally 5–10 times, so persistent 500s after retries indicate a genuine personal-search classification.
How common are Perplexity shopping cards?
result.shopping_cards appear in fewer than 1 in 1,000 Perplexity responses (approximately 0.1% as of May 2026, compared to ~3.5% for ChatGPT and ~11% for Copilot). Do not build a workflow that depends on Perplexity returning shopping data.
I see [cite ] text in the response. Is that a bug?
No. Approximately 1% of Perplexity responses contain [cite ] placeholder text in result.text and result.markdown. This is an upstream Perplexity behavior — the platform occasionally emits a citation marker that doesn’t resolve to a URL. Strip or ignore [cite ] tokens in your post-processing.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Request parameters for monitoring Perplexity responses
The prompt to send to Perplexity
Required string length:
1 - 10000Example:
"What are the best laptops for programming?"
Country/region code for localized response
Example:
"US"
Optional flags for including additional response formats
State code for sub-country geo-targeting (e.g., "CA"). Only valid with country "US".
Required string length:
2Pattern:
^[A-Z]{2}$Example:
"CA"