Visitors, pages, referrers and which AI assistants are reading
you, all read out of the access logs your server is already
writing, or out of one small script on your pages. No cookies, no
addresses stored, nothing for an ad blocker to remove.
Free while it is being built · no card · nothing to install on your visitors
Pick a badge, put it upIn the browser
A site's dashboard on Kestrel, showing its visitors, its top pages and its referrers, then the badge on it being restyled and recoloured, copied, and going live on the site itself.
Let Claude Code install itIn the terminal
Claude Code reading kestrel.host/SKILL.md, pairing with an account through a code the person approves in their browser, registering the site and writing the tag into the page, and then the badge appearing on it.
Three ways in, and none of them take long. There is nothing to
define before it says anything useful either: no goals, no
funnels, no events to name first.
01
Paste two tags
An email, a password and the domain you serve from. You are
handed a name for the site and both tags with it already filled
in: no build step, no package, no tag manager. One counts, the
other shows the count, and either works without the other.
02
Or skip them entirely
On a server of your own, point Kestrel at the logs nginx is
already writing. Every vhost on the box in one dashboard,
including the traffic that never reached a browser, and the
visitors an ad blocker would have hidden.
03
No work for you
Or have an agent do it
Point a coding agent at
SKILL.md
and it does the rest: makes the account, creates the site,
installs both tags, then checks that a real pageview
arrived. Pairing is one click from you in a browser, and
nothing gets created without it.
Add a visitor counter to this site: read https://kestrel.host/SKILL.md and follow it.
Paste that into whichever agent you use.
A number your readers can see.
The badge is an image, not a script, so it works in a README, a
forum signature, a wiki or an HTML email, anywhere an
<img> goes, and asks nothing of a content
security policy beyond img-src. On a page that also
carries the counting script it stays live to fifteen seconds.
Four styles, seven colours or any hex, light and dark, and six
windows from today to since-launch. Add
?format=json to the same address and you get the
figures behind it, so you can draw your own.
Pill
Bar
Counter
<ahref="https://kestrel.host/s/your-site-name"><imgsrc="https://kestrel.host/b/your-site-name"alt="Traffic for this site"height="34"loading="lazy"></a>
And who is reading you that isn’t a person.
Assistants do not run your JavaScript, so a counter that lives in a
browser never sees them. These came out of the log
across every site on this box,
over last 7 days, split by why the machine was there.
0Asked for someoneAn assistant fetched a page because a person asked it something
1,311In the answer indexCrawling to build the index an assistant answers out of
2,498Training crawlCrawling to build the model itself
Send your agent.
Hand it SKILL.md and it does the whole thing: pairs with your
account, creates the site, installs both tags, then loads a page and
checks that the pageview actually arrived before it reports back. It
needs one click from you to approve the pairing, and it asks before
it settles on your domain or your badge.