Agents read your site. Read them back.

Assistants pull your pages to answer a question. Search crawlers index them. Training crawlers collect them. None of that is a visitor, and none of it belongs in your visitor count.

Tinylytics sits on both sides of that. It records agent traffic separately from people, and makes your own analytics legible to the agents you work with — over MCP, over the API, in plain Markdown.

14 days free, every feature included. No credit card. Plans from $7/month. Hosted in the EU.

Agents reading your site.

A machine read your pricing page. That's worth knowing, not worth averaging in.

When ChatGPT fetches /pricing to answer someone's question, that is a real signal about your content. It is not a person who might buy something. Tinylytics writes it down as an agent visit, and your traffic chart stays honest.

Agent visits are never folded into views, unique hits, or public stats. They live on their own card, broken down by agent and by page, for whatever date range you're looking at.

AI agents

Example

295 visits

Known AI assistants and crawlers, kept separate from human views.

Agent Visits
ChatGPT-User
OpenAI · AI answers
128
GPTBot
OpenAI · Training
86
ClaudeBot
Anthropic · Training
41
PerplexityBot
Perplexity · Indexing
23
Claude-User
Anthropic · AI answers
17
Pages Visits
/pricing 94
/blog/cookie-free 61
/docs/setup 48
/ 37
/llms.txt 22
An example of the AI agents card, with made-up numbers. Yours sits on your site's dashboard, next to the human traffic.

The four kinds

Tinylytics recognises named user agents and sorts them into four buckets.

AI answers
Someone asked an assistant and it fetched your page to answer. ChatGPT-User Claude-User Perplexity-User
Indexing
Crawlers building a search index, AI-flavoured or classic. OAI-SearchBot PerplexityBot
Training
Crawlers collecting public pages for model training. GPTBot ClaudeBot Google-Extended
AI crawler
The other named bots that don't fit the first three.

The catalogue covers the agents that actually matter — OpenAI, Anthropic, Google, xAI, Perplexity, Meta, Apple, Mistral, DeepSeek, Common Crawl, and more besides.

Anonymous scrapers and bots dressed up as Chrome don't make the list. There's nothing trustworthy to categorise them by, so they get kept out of your human numbers and left at that. We'd rather show you four clean categories than five, one of which is a guess.

Honest about the hard part

Most crawlers ask for raw HTML and never run JavaScript. An embed script cannot see them. Anyone claiming otherwise is counting something else.

So report the request from your side — backend, middleware, or edge — with one call to POST /api/v1/sites/:id/agent_visits. Fire it for every request you like. Unrecognised browser user agents are ignored on that endpoint, so we decide what counts, and you keep one code path.

Don't make your visitors wait on it. Fire and forget, or push it into a background job. Analytics should never be able to slow down a page.

Read the agent traffic docs

curl -X POST https://tinylytics.app/api/v1/sites/SITE_ID/agent_visits \
  -H "Authorization: Bearer tly-fa-…" \
  -H "Content-Type: application/json" \
  -d '{
    "path": "/pricing",
    "user_agent": "…; compatible; ChatGPT-User/1.0"
  }'
One call per request, from wherever your pages are served. Needs a full-access API key.

The rules don't loosen because there's a model involved.

Agent visits are user agents doing their job in public. We record the agent, the provider, the category, and the page. There is no person in that record, because there wasn't one in the request. The rest of Tinylytics works the same way: no cookies, no fingerprinting, no stored IP addresses, hosted in Germany.

Read the privacy docs

Agents working for you.

Ask your own numbers a question.

Paste the MCP address into Claude, ChatGPT, Cursor, Grok, Claude Code, or Codex, sign in through your browser, and your agent can work with your analytics directly.

More than two dozen tools: list hits, events, agent visits, and insights; create and update sites; check uptime and content monitors; work across site groups; clear out spam. Read-only or full access, your choice at sign-in, changeable later. Every connection shows up under Account → Connections and can be revoked there in one click.

Prefer a static header? Mint a key under Account → API Access and send Authorization: Bearer tly-ro-… for read-only or tly-fa-… for full access. Same 1,000 requests per hour either way.

Set up MCP

https://tinylytics.app/mcp
The MCP address. OAuth sign-in, read-only or full access.
Your agent gets exactly the access you granted it, and not a token more.

An agent can set this up for you. It still can't be you.

An agent can open a Tinylytics trial on your behalf: one POST to /api/v1/agent_signups with your email, and you get an activation link.

Then it stops and waits. You open that link in your own browser, choose your own password, and activate. The trial starts there. The signup API never returns an API key — deliberately. There is no path through this that leaves the human out of the loop.

We wrote the instructions for that handoff as a page addressed to the agent, not to you. It's a small thing, but it says what we think this era is: agents doing the setup, people keeping the keys.

Instructions for agents

# The agent asks
POST /api/v1/agent_signups
{ "email": "[email protected]", "tos_accepted": true }

# You get a link. The agent gets no key.
201 Created
{
  "status": "pending_owner",
  "owner_activation_url": "https://tinylytics.app/…/activate",
  "mcp_url": "https://tinylytics.app/mcp"
}
Trimmed for reading. The full response is in the instructions for agents.

Documentation an agent can finish in one pass.

Every public doc page is available as Markdown, and the API describes itself. No scraping, no guessing at parameter names, no HTML to strip.

There's a pleasing loop in this: point a known crawler at /llms.txt and it shows up in your own agent visits. The instructions and the measurement are the same product.

Agents are already reading. You may as well be watching.

Start your free trial

14 days free, every feature included, no credit card. Connect an agent in a minute, or point one at the docs and let it connect itself.

14 days free

Start your free trial