Track how often Claude, ChatGPT and Perplexity read your site—for free. And the best part? The data is accessible via API, MCP, or a CLI.
Free forever · One script tag · MCP, CLI and API included
Every visit, named, verified, and sorted by why.
Lettervisit checks each visit against the vendor's published IP ranges, so a scraper calling itself ClaudeBot is labelled a fake. Then it files the real ones by the reason they came.
Answering a user
Someone asked Claude or ChatGPT a question and it opened your page to answer. The closest thing to a human visit, and the one to watch.
Search index
Building the index an assistant searches before it answers. If these stop coming, you stop being cited.
Training crawl
Collecting pages for the next model. Slow, broad, and the one most robots.txt rules are written for.
Browser agent
An agent driving a real browser: clicking, filling forms, comparing plans. It runs your JavaScript, so the script sees it directly.
Two minutes to install. Then ask.
The script catches agents that drive a browser. One line at the edge catches the ones that never run JavaScript. Both report to the same place.
- 1
Paste the script
One tag in your <head>. It sees browser agents like ChatGPT agent and Comet.
- 2
Add one line at the edge
Crawlers and fetchers read your HTML and leave. The middleware logs them on the way in, without slowing the response.
// middleware.ts export { middleware } from "lettervisit/next";
- 3
Ask your agent
Open the dashboard, or skip it: query every visit from Claude, Cursor or a terminal.
$ npx lettervisit visits --agent claude --since 7d
Free. Not a trial.
No card, no seat limits, no feature held back for a paid tier.
- Every AI agent, verified against vendor IP ranges
- Script tag plus edge middleware
- Live feed and dashboard
- Remote MCP server
- CLI with --json on every command
- REST API and per-site keys
- Unlimited sites and teammates
- Your data exports any time
Questions, answered.
Can a script tag really see AI agents?
Some of them. Agents that drive a real browser, like ChatGPT agent or Comet, run your JavaScript, so the script sees them. Crawlers and fetchers like ClaudeBot or ChatGPT-User only read the HTML, which is why Lettervisit also ships a one-line middleware for the edge. Install both and you see both.
How do you know a visit is really from Claude or ChatGPT?
A user-agent string is easy to fake. Lettervisit checks each crawler and fetcher against the IP ranges its vendor publishes, and labels a visit verified only when they match. Browser agents run on ordinary machines and can't be checked that way, so they are marked detected instead.
Does it slow my site down?
No. The script loads deferred, after your page, and the middleware records the request without waiting on a response, so nothing sits between a visitor and your HTML.
Does it track my human visitors?
Lettervisit is for agents. It doesn't build profiles of people or set advertising cookies, and it keeps working next to the analytics you already run.
What can I do with the MCP server?
Ask questions in plain language from Claude, ChatGPT, Cursor or any MCP client: which pages an agent read, what changed this week, which vendor stopped visiting. The same answers are in the CLI and the API if you'd rather script it.
Why is it free?
Lettervisit is made by The Letter Company, which builds tools for being found and chosen by AI agents. Knowing which agents visit is the first step for everyone, so we don't charge for it.
Meet your other audience.
They're already reading your pricing page. Install Lettervisit in two minutes and find out who they are, what they read, and who sent them. Free.
Get the free script →