Open source · No AI inside · Bring your own agent

Analytics your agent can read, act on, and learn from.

Private web analytics with Search Console and Bing data. One self-hosted binary. Add a site with one prompt. Ask over MCP. Measure every change your agent makes.

Checkend is not released yet. See the status.

Add a site

Copy one prompt. Your agent does the rest.

  1. Type the domain in Checkend.
  2. Copy the prompt into Claude Code, Cursor or any coding agent.
  3. Watch the first event arrive live.
The web UI shows the first event live
Install prompt · example.com
Add Checkend analytics to this project.

Site: example.com
Checkend server: https://stats.example.com
Install token: ce_inst_•••••• (expires in 24 hours)
The install token can only check the install of example.com
and send a test event. It cannot read the analytics.

1. Find the framework and the root layout.
2. Add this tag to the <head>:
   <script defer data-site="example.com"
     src="https://stats.example.com/js/script.js"></script>
3. Add goal events for the signup and purchase forms.
4. Optional: add the first-party proxy route.
5. Deploy, open a page of example.com, then run:
   ce sites verify example.com

Built for agents. Checked by people.

Install

Your agent adds sites and goals with one pasted prompt. The install token can only check its own site.

Read

"Which pages lost signups this month?" Answers come with the data date, the sample size and the previous period.

Act and learn

Your agent records each change. Checkend measures the result and keeps it, so that the next agent run knows what worked.

The closed loop

Checkend is the memory of your agent.

Agents do not remember between runs. Checkend keeps what each agent tried on each site, and what the numbers did next.

  1. Finding

    A rule finds a fact with numbers. For example: a page in position 8 to 20 with many impressions.

  2. Change

    Your agent claims the finding, makes a change and records it as an annotation.

  3. Outcome

    Checkend compares 14 days before and after with a significance test: worked, no clear change, got worse, or too few to compare.

  4. Memory

    The brief gives the next agent run the open findings, the recent changes and their outcomes.

The Agent work page of Checkend: a queue of open findings by priority, each with a Copy as prompt button, and the measured results of earlier changes.
Agent work: the queue of findings for your agents, and the results of their changes. Example data from a local demo server.
Checked by people

Every number shows its date and its sample size.

The dashboard says what changed in plain sentences. Agent changes and releases show on the chart, so you see what happened after each one.

The site dashboard of Checkend: a summary sentence, visitors, page views, conversions and revenue, and a chart of visitors per day with agent changes and releases marked.
The site dashboard, with agent changes and releases on the chart. Example data from a local demo server.
All your sites · example data

One page for every site you own.

Last 30 days vs previous
SiteVisitorsConversionsTop finding
example.com48,210 +6%612 −9%Low CTR on /pricing
docs.example.com22,940 +14%—3 pages in striking distance
example.org6,104 −18%88 −21%Content decay on /guides

The numbers are an example. Search Console and Bing queries show next to visits and conversions, and Checkend keeps the search history after the 16 months of Google.

Bring your own agent

Four ways in. One set of numbers.

MCP, the CLI and the REST API use one query core, so each interface gives the same answer. Claude, ChatGPT, Cursor, Codex or a local model: any client works.

MCP

Ask in your agent

Give the client the URL of the server. You approve the access in the browser with a passkey.

https://stats.example.com/mcp
tools: query, get_brief, get_findings,
       update_finding, annotate, …
CLI

ce, for terminals and CI

Readable output on a terminal. On a pipe, one JSON value and clear exit codes.

ce brief example.com
ce findings claim <id>
ce annotate example.com "New title on /pricing" \
  --finding <id>
REST

A documented API

The web UI uses the same API. The OpenAPI document comes from the code.

curl -H "Authorization: Bearer ce_…" \
  https://stats.example.com/v1/brief?site=example.com
Webhooks

Wake your agent up

Signed webhooks tell a scheduled agent about new findings, changes and reports.

finding.created   finding.updated
annotation.created   report.ready
One product, four modules

Analytics first. The rest is coming.

All modules will share one timeline, one query core, one MCP server and one CLI. Analytics is the first module.

First module

Analytics

Private web analytics, goals and revenue, Search Console and Bing, web vitals and AI crawler hits.

Coming

Errors

Planned: error tracking through the Checkend SDK. One SDK and one key for all modules. Move from another tool with one line.

Coming

Uptime

Planned: endpoint checks from many regions.

Coming

Logs

Planned: log ingest, archive and search.

Privacy is a setting, not a promise.

Select a mode for each site. The dashboard tells you what each mode collects.

Standard: no cookies. A visitor hash with a salt that Checkend deletes each day. Country and region only.

Checkend never stores an IP address. Do Not Track and Global Privacy Control use strict mode.

One binary on one server.

curl -fsSL [INSTALL_URL] | sh

Automatic TLS, backups, data retention and a disk guard. No database server to run. Your data stays on your server.

Self-host Checkend
No AI inside

Checkend calculates facts. Your agent does the thinking.

Privacy. Data goes to an AI provider only when your own agent asks for it.

No keys, no token bills. Checkend has no model, no model keys and no model calls.

No lock-in. Use any agent that speaks MCP, runs a CLI or calls HTTP.

Trust. Checkend cannot invent a number.

Your agents change the site. Checkend measures if it worked.