Agents read your site. Read them back.

Something has changed about who fetches your pages. Assistants pull them 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 it makes your own analytics legible to the agents you actually work with — over MCP, over the API, in plain Markdown. Privacy-first on both counts. One site or four hundred.

14 days, every feature, no credit card.

Plans from $7/month. Hosted in the EU. No cookies, no fingerprinting, no exceptions.

Agent traffic

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.

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 Tinylytics gives you the other half: 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 →

MCP

Ask your own numbers a question.

Tinylytics runs an MCP server at https://tinylytics.app/mcp. Paste that URL 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.

Your agent gets exactly the access you granted it, and not a token more.

Set up MCP →

Agent signup

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 →

Machine-readable docs

Documentation an agent can finish in one pass.

Every public doc page is available as Markdown. The index lives at /llms.txt, the whole corpus at /llms-full.txt, and any single page is one .md away — /docs/api.md, /docs/mcp.md, and so on.

For code, /api/v1 returns a discovery document and /api/v1/openapi.json returns an OpenAPI 3.1 spec. 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.

Open llms.txt

Insights

A daily read on what your numbers are doing.

Turn Insights on and Tinylytics writes you a short report each night: a summary, the signals it picked up, traffic patterns, your best performing content, and two or three things worth doing about it. It lands at 1:00 AM in your own timezone, in the app and optionally in your inbox. Run a portfolio and you can have the grouped digest instead.

Only aggregated counts leave the building. No IP addresses, no visitor hashes, no user agents. It runs on paid model APIs where your data is not used for training, and it is opt-in — nothing is sent anywhere until you switch it on.

You can also just ask. Ask opens a short-lived chat about your own sites from the account overview, scoped read-only to your data and nothing else.

How Insights work →

Privacy

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

No tracking cookies for your visitors. No fingerprinting. No cross-site identifier. No IP address stored on a hit — it's used in the moment for a country lookup and a salted, rotating, one-way hash, then it's gone. Country code only: no city, no region, no coordinates. User agents are purged from hits after four weeks.

Everything is hosted in Germany, GDPR-first by construction rather than by disclaimer. Nothing is sold, and there is no second business model hiding behind the first one.

What that means for agent data

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.

Read the privacy docs →

Any size

One blog, or every domain you own.

Tinylytics was built to stay legible whether you're watching one site or a few hundred. Group sites into a portfolio and read them as one. Slice a large site into segments by path. Query the lot over MCP in a single conversation, or over the API on a schedule.

Same script, same privacy rules, same clean separation between people and agents, at whatever scale you happen to operate.

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

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

Questions from a human are welcome too.

Start Free Trial
Tinylytics logo

Try Tinylytics Free

14-day free trial, all features included · No credit card required.

Start Free Trial
Cancel anytime