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.
What this does
Fastly’s Real-Time Log Streaming ships request log records to a destination of your choosing in near-real-time. We point that stream at Searchable’s tracker endpoint, classify the AI bots, and drop everything else. No code changes — all configuration happens inside your Fastly service.No code changes. All configuration is done inside the Fastly UI.
Prerequisites
A Fastly account on any paid plan (HTTPS Logging is available on all paid plans)
Admin or Engineer-level access to the Fastly service you want to instrument
A Searchable project with your domain confirmed
Setup
Generate an integration token in Searchable
- Open your Searchable dashboard
- Go to Agent Analytics → Setup
- Pick Fastly as your crawler source
- Click Generate token
sa_… and won’t be shown again. You can always generate a new one if you lose it.Create an HTTPS logging endpoint in Fastly
In the Fastly UI, navigate to your service:Service → Logging → HTTPS → Create endpointThis creates a new draft version of your service config; you’ll activate it at the end.
Configure the endpoint
Fill in these fields:
| Field | Value |
|---|---|
| Name | Searchable Agent Analytics (or any label you prefer) |
| URL | https://searchable-tracker.searchable.workers.dev/v1/fastly-logs |
| Method | POST |
| Content type | application/json |
| Log format version | 2 |
| Custom header name | Authorization |
| Custom header value | Bearer <your-sa_-token> |
| Log format | (paste the template below) |
Paste the log format template verbatim
Paste this into the Log format field exactly as-is. Do not edit any of the
%{...}V tokens — they are Fastly VCL substitutions that we depend on for correct request attribution and deduplication:Verifying the connection
In Searchable:- Go to Agent Analytics → Setup
- Look at the Fastly card status
- Click Check if it still shows “Waiting for first event”
| Status | What it means |
|---|---|
| Waiting for first event | The endpoint is configured but no AI bot has hit your site yet. Typical wait is a few hours for sites that are already indexed. |
| Connected | Events are arriving. The card shows the count from the last 24 hours. |
Geo enrichment
country, region, and city arrive from Fastly’s edge geo lookups (client.geo.*). If geo lookups aren’t enabled on your service (the default is on for paid plans), those fields will arrive empty — everything else still works, and the integration counts as healthy. You can enable geo at Service → Settings → Geolocation.
Troubleshooting
Searchable shows 401 errors or the card stays 'Not connected'
Searchable shows 401 errors or the card stays 'Not connected'
The Authorization header is missing or wrong.
- Make sure you added a custom header named exactly
Authorization - The value must be
Bearerfollowed by the fullsa_…token, with one space and no quotes - If you’ve recently revoked the token in Searchable, generate a new one and update the endpoint
Fastly reports delivery errors or 400 responses
Fastly reports delivery errors or 400 responses
The log format is likely wrong.
- Confirm Log format version is set to 2, not 1 — version 1 wraps each record in a different shape that our endpoint doesn’t accept
- Confirm the log format template was pasted exactly, including all
%{...}Vtokens. Do not remove any token, even if it looks redundant - Confirm the Content type is
application/json
Events look deduplicated incorrectly (e.g. many requests collapse to one row)
Events look deduplicated incorrectly (e.g. many requests collapse to one row)
fastly_request_id is being populated with a non-unique value.- Confirm the template uses
%{req.xid}V(not%{req.http.Fastly-SOA-ID}Vor any other header) req.xidis auto-populated by Fastly on every request and requires no special VCL setup — if it’s empty in your logs, contact Fastly support
Status stays on 'Waiting for first event' for more than 24 hours
Status stays on 'Waiting for first event' for more than 24 hours
A few possible causes:
- The new service version was never activated — go to Service → Versions and confirm the version containing the HTTPS endpoint is currently Active
- Your domain in Searchable doesn’t match the site served by Fastly (check Agent Analytics → Setup → Confirm your domain)
- The endpoint is configured but no AI bot has visited yet — try visiting your site with a known AI user agent (e.g.
Mozilla/5.0 (compatible; GPTBot/1.0)) to trigger a test event
Removing the integration
To stop sending traffic to Searchable:- Fastly → Service → Logging → HTTPS → delete the endpoint and activate a new service version
- Searchable → Agent Analytics → Setup → Tokens → revoke the token
401).
Next steps
See the data
Open Agent Analytics to see which assistants are crawling your site.
Add Search Console
Correlate AI crawls with search demand.