{
  "@context": "https://schema.org",
  "@type": "Article",
  "schema_version": "1.1",
  "content_item_id": "platform-perplexity.en",
  "translation_group_id": "platform-perplexity",
  "locale": "en",
  "type": "platform",
  "section": "platforms",
  "slug": "perplexity",
  "title": "Perplexity",
  "description": "How to read Perplexity crawl, search, and citation signals without turning access into a guarantee.",
  "direct_answer": "Perplexity documents a crawler called PerplexityBot, but a request from that bot proves only that a page was delivered. It does not prove that the document entered an index, was retrieved for a particular question, appeared in an answer, or produced a visit. Technical access, retrieval, citation, and referral therefore need separate measurements.",
  "sections": [
    {
      "heading": "What is documented",
      "paragraphs": [
        "Perplexity's official page describes rules for its web crawlers and connects them to how the service obtains web pages. That gives us a useful boundary: we can verify the agent name, request, and server response, but not the internal order of the index or model.",
        "This profile does not turn documentation into a growth promise. Any visibility claim should point to an observation with a date, prompt, and archived answer."
      ],
      "source_ids": [
        "perplexity-bots"
      ]
    },
    {
      "heading": "PerplexityBot and Perplexity-User",
      "paragraphs": [
        "Do not merge automated crawling with a user request. PerplexityBot is an agent identifier to verify in logs; Perplexity-User refers to a separate access category described in the documentation. Neither string means that a particular visitor read your page.",
        "Keep the User-Agent, IP verification, URL, response code, and timestamp. A name in the User-Agent alone is not proof of authenticity."
      ],
      "source_ids": [
        "perplexity-bots"
      ]
    },
    {
      "heading": "Technical access",
      "paragraphs": [
        "Start with robots.txt, DNS, TLS, redirects, authentication, and the final HTML. For each page, record whether an allowed crawler can receive a 200 response and see the main text without executing JavaScript.",
        "Access is necessary for observability, but it is not a selection condition. Hidden data, incorrect canonicals, and temporary failures can break the chain after a single successful request."
      ],
      "source_ids": [
        "perplexity-bots"
      ]
    },
    {
      "heading": "Crawling is not indexing",
      "paragraphs": [
        "A server-log line answers ‘who requested this URL and what did it receive?’ It does not answer whether the document was retained, which version was chosen, or whether it will be found for a question. These levels must not be collapsed into one metric.",
        "For change analysis, compare page snapshots, publication dates, and server responses, not only crawler-request counts."
      ],
      "source_ids": [
        "perplexity-bots"
      ]
    },
    {
      "heading": "Retrieval for a question",
      "paragraphs": [
        "Retrieval is the event in which a system obtains material in the context of a particular question. An outside observer usually cannot see the complete candidate set or reconstruct the selection reason from one answer.",
        "Test a stable prompt set and archive the exact answer with its links. Change one variable at a time; otherwise prompt effects cannot be separated from platform effects."
      ],
      "source_ids": [
        "perplexity-bots"
      ]
    },
    {
      "heading": "Citation and referral",
      "paragraphs": [
        "A citation is a source link or source display in a particular answer. A referral is a visit recorded after that link is followed. An unlinked mention, a domain link, and a user visit are three different outcomes with different evidentiary strength.",
        "Store the URL, answer excerpt, date, and link type in an observation record. Do not call a visit proof that the model used that exact paragraph."
      ],
      "source_ids": [
        "perplexity-bots"
      ]
    },
    {
      "heading": "How to read logs",
      "paragraphs": [
        "Separate verified PerplexityBot requests, ordinary users, and unknown automation. Reverse-DNS and official-range checks reduce misclassification, but do not reveal what the service did with fetched data.",
        "Aggregate pages by URL and period: status, bytes, latency, error share, and repeat requests. Retain raw IP data minimally and for a limited period."
      ],
      "source_ids": [
        "perplexity-bots"
      ]
    },
    {
      "heading": "A workable measurement model",
      "paragraphs": [
        "Build a funnel: access → observed crawl → suspected retrieval → displayed citation → referral. The first two layers can be supported by your logs; the later layers require archived answers and analytics and remain sampled.",
        "Publish the denominator, period, language, prompt set, and limitations. Treat any content-preparation effect as a hypothesis until a repeated controlled experiment supports it."
      ],
      "source_ids": [
        "perplexity-bots"
      ]
    }
  ],
  "published_at": "2026-09-11",
  "modified_at": "2026-09-11",
  "data_through": "2026-09-11",
  "next_review_at": "2026-10-11",
  "author": "GeoAeoAle Editorial",
  "origin": "editorial",
  "publisher": "GeoAeoAle Editorial",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "canonical_url": "https://geoaeoale.com/en/platforms/perplexity/",
  "claims": [
    {
      "claim_id": "perplexity-bot-scope",
      "text": "Perplexity's official documentation describes PerplexityBot as a distinct web agent and does not promise a particular result or citation.",
      "status": "observed",
      "confidence": "high",
      "source_ids": [
        "perplexity-bots"
      ],
      "publication_status": "public",
      "confidentiality": "public"
    },
    {
      "claim_id": "perplexity-measurement-boundary",
      "text": "A bot request, a displayed source, and a user referral are different observable events.",
      "status": "inference",
      "confidence": "medium",
      "source_ids": [
        "perplexity-bots"
      ],
      "publication_status": "public",
      "confidentiality": "public"
    }
  ],
  "sources": [
    {
      "source_id": "perplexity-bots",
      "canonical_url": "https://docs.perplexity.ai/docs/resources/perplexity-crawlers",
      "title": "Perplexity crawlers",
      "publisher": "Perplexity Docs",
      "source_type": "official",
      "locale": "en",
      "published_at": null,
      "checked_at": "2026-09-11",
      "sha256": "75930d803650ae046c37ed3529840f7cbf1a6599c1bf2e41cc70bf83cc5b6470",
      "license": "Source terms apply",
      "visibility": "public"
    }
  ],
  "related_slugs": [
    "crawler",
    "retrieval"
  ],
  "limitations": [
    "The source describes crawler rules, but does not disclose crawl completeness, indexing algorithms, candidate selection, ranking, or citation probability. Interfaces and policies may change; repeat observations with their dates."
  ],
  "corrections": []
}