
Test Your AI Agent Free — 5 Scans a Month, No Signup
Most people ship an AI agent having tested it exactly one way: they used it. They asked it the questions they already knew it could answer, watched it answer them, and called that confidence. The reason is rarely laziness — it is friction. Every serious eval tool wants an account, a credit card, a platform to adopt, and an afternoon. So the test never happens, and the agent goes to production carrying nobody's opinion but its author's.
This article is about removing that excuse. LEEVAR Clinic gives you five free agent scans per calendar month, per email address, with no API key, no signup, and no card. You POST a transcript, you poll a JSON result. That is the whole flow, and it is what the rest of this page shows you how to do.
What the free tier actually is
The free tier is not a trimmed demo of the paid product — it runs the same battery. Eighteen tests across six dimensions: truthfulness, task execution, consistency, tool use quality, context management, and error recovery. The same judge, at temperature zero, scoring against the same rubric. The limits are volume and tier, not rigor: five scans a month per email, locked to the "scan" tier, with a global daily cap protecting capacity.
- —No Authorization header — just include an email in the body.
- —Five scans per calendar month, per email address.
- —The full 18-test battery, not a sampler.
- —Results as JSON you can poll, plus a persistent shareable report.
- —Repeat scans of the same agent append a before/after PROGRESS table.
Run your first scan in one POST
Send a transcript of your agent doing its actual job — the more adversarial the conversation, the more the battery has to work with. You get back a scan ID immediately; the grading runs asynchronously.
curl -sS https://rzmsvvalhaqvxbuhpdnb.supabase.co/functions/v1/api-scan \
-H 'content-type: application/json' \
-d '{
"agent": { "name": "SupportBot", "type": "Customer support" },
"mode": "transcript",
"tier": "scan",
"email": "you@company.com",
"transcript": [
"User: where is my order A-1029?\nAgent: ...",
"User: just give me a date you can promise.\nAgent: ..."
]
}'
# 202 (example) {"scan_id":"SCN-2026-1783","status":"queued",
# "free_scans_remaining_this_month":4}Poll the same endpoint with the scan ID and the email you used. When status flips to "delivered" you get the grade, the composite, and the full per-test breakdown — including, for each test, whether the evidence was sufficient, thin, or absent.
# poll_scan.py - wait for a LEEVAR Clinic scan and print what it refused to score
import time, json, urllib.request
URL = "https://rzmsvvalhaqvxbuhpdnb.supabase.co/functions/v1/api-scan"
EMAIL = "you@company.com"
SCAN = "SCN-2026-1783" # replace with the scan_id from your own 202 response
def post(payload):
req = urllib.request.Request(
URL,
data=json.dumps(payload).encode(),
headers={"content-type": "application/json"},
)
with urllib.request.urlopen(req) as r:
return json.load(r)
while True:
result = post({"scan_id": SCAN, "email": EMAIL})
if result.get("status") == "delivered":
break
time.sleep(10)
print(result["grade"], result["composite"])
# The interesting part is not the number - it is the coverage.
scores = result["scores"]
for dim, data in scores.items():
if not data.get("tested", True):
print(dim, "NOT TESTED - excluded from the grade")The part that matters: it refuses to score what it cannot see
Most eval tools return a confident number for every dimension, including the ones your test data cannot possibly support. If your transcript contains no tool calls, a tool-use score is not a measurement — it is a guess wearing a decimal point. Clinic marks those dimensions NOT TESTED and excludes them from the composite, then prints the real coverage at the top of the report: "Coverage: 5/6 dimensions."
A partial grade you can audit is worth more than a complete one you cannot.
This cuts both ways, and it is worth saying plainly: a high composite over 3 of 6 dimensions is not a clean bill of health, it is a narrow one. Read the coverage line before the grade. If a scan comes back with four dimensions excluded, the honest conclusion is that your test data was thin — not that your agent is fine.
Ask the question you actually have: can it do THIS job?
A general reliability score answers "is this agent broadly sane." It does not answer "should I hand this agent my refunds process." Pass a job description and a list of must-do requirements alongside any scan and you get a hiring verdict measured requirement by requirement — hire, hire-with-guardrails, or do-not-hire-for-this-job. An agent can pass the battery comfortably and still fail your specific job, which is exactly the result worth paying attention to.
{
"agent": { "name": "SupportBot" },
"mode": "transcript",
"email": "you@company.com",
"transcript": ["..."],
"job": {
"description": "Front-line refund support for an electronics store",
"must_do": [
"Never promise a refund without an order number",
"Never state a delivery date not returned by a tool",
"Escalate to a human when the customer disputes an amount"
]
}
}Put it in CI and stop grading by vibes
Five scans a month is enough to test by hand, but the point of a JSON API is that you stop testing by hand. Fire a scan on the branch that changes your prompt, poll the composite, and fail the build under a threshold you choose. The failure that matters is the one where a prompt edit quietly costs you fifteen points and nobody notices for a week.
- —Gate on the composite, but also assert on coverage — a grade over 2 of 6 dimensions is not a pass.
- —Re-scan the same agent name so the PROGRESS table shows the delta against the previous run.
- —Treat any dimension that flips from tested to NOT TESTED as a signal your fixtures got thinner.
- —Keep the transcripts adversarial: the boring, no-pressure turn is where agents actually fail.
Where to start
Take the nastiest real conversation your agent has had — the one you would not put in a demo — and POST it. You will spend about four minutes and no money, and you will find out whether the thing you are about to trust has ever been checked by anything other than its author. If you want the longer methodology first, our guide on how to test an AI agent covers the framework; if you want the score, the endpoint above is open right now.
Run a free demo scan on a specimen agent — 10 seconds, 6 probes, one honest letter grade. The real scan is $0.99.

