API
OpenAPI is served at /openapi.json. Interactive docs are at /docs on the API host. Authenticate with Authorization: Bearer.
POST /verify
curl -s -X POST "$BASE/verify" \
-H "authorization: Bearer $KEY" \
-H "content-type: application/json" \
-d '{"claim":"The Pacific Ocean is the largest ocean on Earth.","depth":"quick"}'{
"verdict": "supported",
"confidence": 0.86,
"sources": [{ "url": "https://en.wikipedia.org/wiki/Pacific_Ocean", "title": "Pacific Ocean", "snippet": "..." }],
"checked_at": "2026-10-15T17:00:00Z"
}- claim required string.
- context optional string. Public URLs inside it are fetched before search.
- depth quick, standard, or deep. Default standard.
- verdict supported, refuted, or unverifiable.
Other routes
- POST /keys issues one free key. Body may include a label.
- GET /usage with the bearer key returns this month’s count.
- GET /health reports the operator, currency, and that Stripe is not live.
- GET /signup, /privacy, and /terms are the public pages.
Limits
1,000 successful calls per key each calendar month, then HTTP 429. A short per-key rate limit also returns 429. Each key has 100 successful calls a day. A separate ceiling of 2,000 successful calls a day covers every key together, so one key cannot block the others. Prices are CAD $0.001, $0.0025, and $0.005. Stripe accepts test keys only.