In short. Perplexity records fetch failures in the snippet field of fetch_url results, while the URL and title remain part of the content item.
Definition: Perplexity's Agent API places the result of a
fetch_urlrequest in afetch_url_resultsitem. When a requested URL cannot be fully fetched or extracted, its content item'ssnippetcontains an explicit failure marker that describes the known reason.
Key facts
- Perplexity describes
fetch_urlas a tool that fetches and extracts content from specific URLs during an Agent API request in its Fetch URL Content documentation. - A fetched content item contains the requested URL, the page title and an extracted snippet, according to the same documentation.
- A failed content item contains an explicit marker in
snippet; the marker can describe an HTTP client error, a robots-policy block or rate limiting. - If the upstream fetch returns no item for a requested URL, the API adds an item whose snippet includes
no_result_returned. - Perplexity says to treat these markers as unavailable content rather than page text. The API schema requires
url,titleandsnippeton eachUrlContentobject in its Agent API reference.
Where does the marker appear?
The marker appears inside the snippet property of a content item in the contents array. The response container is typed as fetch_url_results. The API reference describes the streaming equivalent as a response.reasoning.fetch_url_results event containing fetched URL contents, and it uses the same UrlContent shape for the non-streaming output item.
The documented response shape is:
{
"output": [
{
"type": "fetch_url_results",
"contents": [
{
"url": "https://example.com/report",
"title": "Example Report",
"snippet": "Extracted content from the fetched page."
}
]
}
]
}
For a failed request, keep the item associated with its url and inspect snippet before passing text to an answer-generation step. A marker is an outcome description. A successful item supplies extracted page text.
Which failures are documented?
The Perplexity fetch documentation describes the tool as best-effort. It names HTTP client errors, robots-policy blocks and rate limiting as examples of known reasons. It also gives no_result_returned for the case where no upstream result arrives.
Access-controlled pages are handled as a separate case. Perplexity says that fetch_url does not bypass paywalls or login walls. The corresponding content item contains a failure marker explaining that the origin rejected the request and may require credentials or a non-GET method.
Timeouts and unreachable URLs produce a corresponding content item with the available reason. A URL that redirects can still succeed when the destination is fetchable, and the returned url remains the URL that was requested. Non-HTML content is processed as whatever text the server returns. PDFs, binary downloads and anti-bot challenge pages can therefore produce limited or unrelated extracted content, which is a content-quality issue distinct from an explicit failure marker.
What should an integration check?
Read the type, contents, url, title and snippet fields. The API reference defines snippet as the fetched content snippet and makes url, title and snippet required on UrlContent. A parser can therefore preserve the item even when the snippet is a failure marker, while excluding that marker from page-text input.
The tool accepts absolute http:// and https:// URLs. Its max_urls setting controls the maximum number fetched per call, and the API schema allows a value from 1 to 10. Longer fetched pages may be truncated when extracted into snippets for model context.
Related terms
FAQ
What literal marker does Perplexity document?
The documented literal marker is no_result_returned, used when the upstream fetch returns no item for the requested URL. The page also describes markers for other reasons without publishing a complete literal string for each one.
Does a failed item still have a URL?
The UrlContent schema requires url, title and snippet. Preserve the URL and title while treating a failure marker in the snippet as unavailable content.
What happens after a redirect?
Perplexity follows a redirect when the destination can be fetched, while the returned url reflects the URL requested by the caller. The final destination is therefore not substituted into that field.
Sources
Check how a page reads to answer engines. Open the GEO score analyzer