# Perplexity-User: User Agent for Perplexity Page Fetches

> Perplexity-User fetches pages when a user asks Perplexity a question and generally ignores robots.txt. User agent, IP list and server blocking.

Perplexity-User is the user agent that Perplexity uses when a person asks Perplexity a question and it opens a web page to answer. It is not a crawler, and Perplexity says that it generally ignores robots.txt. If you want to stop these requests, block them on your server or firewall.

## What Perplexity-User does

The [crawler documentation](https://docs.perplexity.ai/guides/bots) says that Perplexity-User supports user actions. When a user asks a question, the agent can visit a web page, and the answer can include a link to that page.

The documentation states that Perplexity-User is not used for web crawling. It also states that Perplexity-User does not collect content to train AI foundation models.

## User-agent string

A user agent is the client name in the User-Agent HTTP header. Perplexity gives this full string:

```
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)
```

The IP addresses of Perplexity-User are at [perplexity.com/perplexity-user.json](https://www.perplexity.com/perplexity-user.json).

## Perplexity-User and robots.txt

robots.txt is a text file at the site root with rules for crawlers. The documentation says: "Since a user requested the fetch, this fetcher generally ignores robots.txt rules."

A `Perplexity-User` group in robots.txt does no harm, but the documentation does not promise that the fetcher obeys it. The robots.txt token for the search crawler is a different one, described in the [PerplexityBot guide](/ai-crawler-bot/perplexitybot/), and it does not control user fetches.

## Block Perplexity-User on the server

If you must stop these requests, block them on your web server or firewall. You can match the token `Perplexity-User`, the IP addresses in `perplexity-user.json`, or both. This nginx example returns HTTP 403 for the token:

```nginx
if ($http_user_agent ~* "Perplexity-User") {
    return 403;
}
```

Put the example in the `server` block of your site configuration, then reload nginx.

After a block, Perplexity cannot open your pages when a user asks about them.

## Allow Perplexity-User through a firewall

A web application firewall (WAF) filters HTTP requests before they reach your site. The documentation says that a WAF can block these requests. Its Cloudflare and AWS WAF steps match the `Perplexity-User` user agent and the IP ranges in `perplexity-user.json` together, with an Allow action.

## Verify requests

Anyone can copy a user-agent string. Perplexity publishes an IP list for this agent, not a reverse DNS name. If a request has `Perplexity-User` in the user agent, make sure that its IP address is in [perplexity-user.json](https://www.perplexity.com/perplexity-user.json). The list changes, so download it again at regular intervals.

## Reports of undeclared crawling

On August 4, 2025, Cloudflare [reported](https://blog.cloudflare.com/perplexity-is-using-stealth-undeclared-crawlers-to-evade-website-no-crawl-directives/) that Perplexity fetched pages with undeclared user agents after sites blocked its declared bots. According to Cloudflare, these requests used a generic Chrome on macOS user agent. Cloudflare removed Perplexity from its verified bots list and added the traffic to its managed rule for AI crawlers.

Perplexity disputed the report and said that the bot Cloudflare named was not its own ([CyberScoop](https://cyberscoop.com/perplexity-blocks-on-crawlers-cloudflare/)). A user-agent rule only stops requests that use the declared name.

For the product behind this agent, see the [Perplexity AI guide](/ai-search-engine/perplexity-ai/).

---

[View the canonical page](https://aichatwatch.com/ai-crawler-bot/perplexity-user/) · [Browse llms.txt](https://aichatwatch.com/llms.txt)
