> ## Documentation Index
> Fetch the complete documentation index at: https://docs.searchable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LLM Analytics Setup

> Connect your hosting platform to Searchable so we can show you which AI assistants and crawlers are visiting your site

## What this does

Searchable's LLM Analytics dashboard shows you, in near real-time, which AI assistants — ChatGPT, Claude, Perplexity, Google's AI Overviews, and the rest — are crawling your site, what pages they're hitting, and which of those crawls turn into referred users.

To do that, Searchable needs to see your inbound HTTP requests. The setup below points your hosting platform's request logs at our ingest endpoint. We classify the AI bots, drop everything else, and never store query strings or other PII.

<Info>
  Setup takes about 5 minutes. There are no agents to install and no code to change in your application.
</Info>

## Pick your platform

<CardGroup cols={2}>
  <Card title="Vercel" icon="https://mintcdn.com/searchable/_zPZ20ZQpKH7bNi_/images/vercel-logo.svg?fit=max&auto=format&n=_zPZ20ZQpKH7bNi_&q=85&s=28bce504aaaa36e835aeccad07bdb43d" href="/setup/vercel" width="24" height="24" data-path="images/vercel-logo.svg">
    One-click Log Drain. Works on Pro and Enterprise.
  </Card>

  <Card title="Cloudflare Worker" icon="cloudflare" href="/setup/cloudflare-worker">
    Edge Worker — works on any Cloudflare plan, including Free.
  </Card>

  <Card title="Cloudflare Logpush" icon="cloudflare" href="/setup/cloudflare">
    Native Logpush job — Enterprise plan only.
  </Card>

  <Card title="Amazon CloudFront" icon="aws" href="/setup/cloudfront">
    Standard Logging V2 via Firehose — any CloudFront distribution.
  </Card>

  <Card title="Netlify Edge Function" icon="https://mintcdn.com/searchable/_zPZ20ZQpKH7bNi_/images/netlify-logo.svg?fit=max&auto=format&n=_zPZ20ZQpKH7bNi_&q=85&s=2d070f58c716b68e7eae9a664af0448f" href="/setup/netlify-edge" width="24" height="24" data-path="images/netlify-logo.svg">
    Edge Function — works on every Netlify plan, including Free.
  </Card>

  <Card title="Netlify Log Drain" icon="https://mintcdn.com/searchable/_zPZ20ZQpKH7bNi_/images/netlify-logo.svg?fit=max&auto=format&n=_zPZ20ZQpKH7bNi_&q=85&s=2d070f58c716b68e7eae9a664af0448f" href="/setup/netlify-drain" width="24" height="24" data-path="images/netlify-logo.svg">
    HTTP Log Drain — Enterprise plan only.
  </Card>

  <Card title="Fastly" icon="https://mintcdn.com/searchable/_zPZ20ZQpKH7bNi_/images/fastly-logo.svg?fit=max&auto=format&n=_zPZ20ZQpKH7bNi_&q=85&s=51dc3249ee70b6a5b46f85b5249503b8" href="/setup/fastly-logs" width="24" height="24" data-path="images/fastly-logo.svg">
    Real-Time Log Streaming via HTTPS endpoint.
  </Card>

  <Card title="Akamai" icon="https://mintcdn.com/searchable/_zPZ20ZQpKH7bNi_/images/akamai-logo.svg?fit=max&auto=format&n=_zPZ20ZQpKH7bNi_&q=85&s=56862a1dd2111d83105c79a073525428" href="/setup/akamai-datastream2" width="24" height="24" data-path="images/akamai-logo.svg">
    DataStream 2 HTTPS push — any property with DataStream 2 entitled.
  </Card>

  <Card title="Google Cloud Platform" icon="google" href="/setup/gcp-logs">
    HTTPS Load Balancer / Cloud CDN logs via Pub/Sub push.
  </Card>

  <Card title="Other platforms" icon="code" href="/setup/custom">
    Custom REST API or middleware for everything else.
  </Card>
</CardGroup>

## Which one should I use?

<AccordionGroup>
  <Accordion title="I host on Vercel">
    Use **[Vercel Log Drain](/setup/vercel)**. It's the most direct path — Vercel streams request logs to Searchable with one entry in your project settings. No code changes.
  </Accordion>

  <Accordion title="I'm on Cloudflare (any plan)">
    Use the **[Cloudflare Worker](/setup/cloudflare-worker)**. It works on every Cloudflare plan including Free, and the Free tier easily covers \~100k requests/day. The Worker forwards AI-bot traffic to Searchable from the edge — no latency added to real users.
  </Accordion>

  <Accordion title="I'm on Cloudflare Enterprise">
    You can use either path. **[Cloudflare Logpush](/setup/cloudflare)** is the most "native" option — Cloudflare batches and ships logs directly with no Worker involved. If you'd rather avoid the Enterprise-only Logpush feature, the **[Worker](/setup/cloudflare-worker)** path works on Enterprise too.
  </Accordion>

  <Accordion title="I'm on Amazon CloudFront">
    Use **[Amazon CloudFront → Firehose](/setup/cloudfront)**. CloudFront's free Standard Logging V2 feature ships records to Amazon Data Firehose, which forwards them to Searchable. Works on any CloudFront distribution — you only pay for the Firehose ingestion.
  </Accordion>

  <Accordion title="I host on Netlify">
    Use the **[Netlify Edge Function](/setup/netlify-edge)** on any plan (including Free), or **[Netlify Log Drain](/setup/netlify-drain)** if you're on the Enterprise plan. The Edge Function path runs at Netlify's edge with no added latency for real users.
  </Accordion>

  <Accordion title="I host on Fastly">
    Use **[Fastly Real-Time Log Streaming](/setup/fastly-logs)**. Configure an HTTPS Logging endpoint inside the Fastly UI — no code changes — and Fastly streams request logs to Searchable.
  </Accordion>

  <Accordion title="I'm on Akamai">
    Use **[Akamai DataStream 2](/setup/akamai-datastream2)**. Create a DataStream 2 stream in Akamai Control Center, pick the property fronting your domain, and point it at Searchable's HTTPS endpoint. Requires the DataStream 2 product on your Akamai contract — your account team can confirm if it's enabled.
  </Accordion>

  <Accordion title="I host on Google Cloud Platform">
    Use **[Google Cloud → Pub/Sub push](/setup/gcp-logs)**. Cloud Logging captures every HTTPS Load Balancer or Cloud CDN request; a Pub/Sub topic with a push subscription forwards those logs to Searchable.
  </Accordion>

  <Accordion title="I'm somewhere else (other platforms, custom)">
    Use the **[custom integration](/setup/custom)**. Searchable accepts a small REST POST from your application middleware or any platform that can ship structured request logs.
  </Accordion>
</AccordionGroup>

## What gets sent to Searchable

For each request that matches an AI-bot user agent, we receive:

* HTTP method, path, and host (no query strings)
* User agent
* Referer
* Country code (geo-IP, no precise location)
* Response status and bytes
* Timestamp

That's it. Query strings, request bodies, response bodies, headers other than `User-Agent` / `Referer`, and full IP addresses are never sent.

## Verifying the connection

After completing setup, return to **LLM Analytics → Setup** in your Searchable dashboard. The status strip at the bottom updates as events arrive:

1. **Waiting for first event** — your platform hasn't sent anything yet. AI bots typically hit any indexed site within a few hours.
2. **Connected** — events are flowing. The strip shows the count from the last 24 hours.

If the status doesn't update within a few hours, see the troubleshooting section in the platform-specific guide you followed.

## Next steps

<CardGroup cols={2}>
  <Card title="Add a domain" icon="globe" href="/getting-started/creating-your-project">
    LLM Analytics is scoped to your project's primary domain.
  </Card>

  <Card title="Connect Search Console" icon="google" href="/integrations/google-search-console">
    Layer in keyword data so you can correlate AI crawls with search demand.
  </Card>
</CardGroup>
