Verify API Reference

Fact-check any claim with AI-powered evidence gathering, multi-source verification, and confidence scoring. Get a verdict — verified, disputed, false, or unverifiable — in under 30 seconds.

Live — agent-verify is available now. Create a project to get your API key.

🔑 Base URL: https://api.agenttool.dev · All endpoints require Authorization: Bearer YOUR_API_KEY

How it works: Claims are parsed into search queries → evidence gathered from web, Wikipedia, and authoritative sources → LLM judge evaluates evidence → confidence scored with heuristics → verdict returned with sources.

POST /v1/verify

Verify a single factual claim. The pipeline gathers multi-source evidence, runs an LLM judge, and returns a verdict with confidence score and cited sources.

🔒 Bearer token required

Request Body

FieldTypeRequiredDescription
claim string required The factual claim to verify. Max 2,000 characters. e.g. "The Eiffel Tower is 330 metres tall."
context string optional Additional context that helps interpret the claim (e.g. conversation history, agent task description). Max 2,000 characters.
domain string optional Claim domain — improves evidence sourcing. One of: finance, legal, medical, science, general. Auto-detected if omitted.
curl
curl -X POST https://api.agenttool.dev/v1/verify \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "claim": "The Eiffel Tower is 330 metres tall.",
    "domain": "general"
  }'
SDK
const result = await at.verify.check(
  "The Eiffel Tower is 330 metres tall.",
  { domain: "general" }
)
// result.verdict  → "verified" | "disputed" | "false" | "unverifiable"
// result.confidence → 0.0 – 1.0

Response · 200

JSON
{
  "claim": "The Eiffel Tower is 330 metres tall.",
  "verdict": "verified",
  "confidence": 0.91,
  "evidence": {
    "supporting": [
      {
        "source": "wikipedia",
        "url": "https://en.wikipedia.org/wiki/Eiffel_Tower",
        "title": "Eiffel Tower — Wikipedia",
        "snippet": "The Eiffel Tower is 330 m (1,083 ft) tall...",
        "reliability": 0.85,
        "position": "supports"
      }
    ],
    "contradicting": [],
    "neutral": []
  },
  "sources": [
    {
      "url": "https://en.wikipedia.org/wiki/Eiffel_Tower",
      "title": "Eiffel Tower — Wikipedia",
      "reliability": 0.85
    }
  ],
  "caveats": ["Height includes the broadcast antenna added in 1957."],
  "processing_ms": 4820
}

Response Fields

FieldTypeDescription
verdict string See Verdicts below.
confidence number Confidence score 0.0–1.0. Above 0.75 is high confidence.
evidence.supporting array Sources that support the claim, each with url, snippet, reliability.
evidence.contradicting array Sources that contradict the claim.
caveats array Nuances, edge cases, or time-sensitivity notes.
processing_ms number Total pipeline duration in milliseconds.
POST /v1/verify/batch

Verify up to 10 claims in a single request. Claims are processed in parallel. Useful for fact-checking agent-generated reports, validating research summaries, or screening multiple assertions at once.

🔒 Bearer token required

Request Body

FieldTypeRequiredDescription
claims array required Array of 1–10 claim objects. Each has claim (required), context (optional), domain (optional).
curl
curl -X POST https://api.agenttool.dev/v1/verify/batch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "claims": [
      { "claim": "The Eiffel Tower is 330 metres tall.", "domain": "general" },
      { "claim": "Bitcoin was created in 2009.", "domain": "finance" },
      { "claim": "Water boils at 90°C at sea level.", "domain": "science" }
    ]
  }'
SDK
const results = await at.verify.batch([
  { claim: "The Eiffel Tower is 330 metres tall." },
  { claim: "Bitcoin was created in 2009.", domain: "finance" },
  { claim: "Water boils at 90°C at sea level.", domain: "science" }
])
// Returns array of VerificationResult — same shape as single verify

Response · 200

Returns an array of VerificationResult objects in the same order as the input claims. Each result has the same shape as the single verify endpoint.

Parallel processing: All claims in a batch are verified concurrently. Latency is bounded by the slowest claim, not the sum. A batch of 10 claims takes roughly the same time as 1.

400 · Validation Error

The claims array is empty or contains more than 10 items.

Verdicts

VerdictMeaningTypical confidence
verified Multiple reliable sources confirm the claim. 0.70 – 0.99
disputed Sources conflict — some support, some contradict. Requires human review. 0.30 – 0.70
false Multiple reliable sources contradict the claim. 0.01 – 0.40
unverifiable Insufficient evidence found, or claim is opinion/prediction. Confidence returned as 0. 0.00

Use Cases

🔍
Research Validation

Automatically fact-check claims in agent-generated research reports before surfacing them to users. Flag disputed or false findings for human review.

🤖
Hallucination Guard

Run LLM outputs through verify before using them downstream. Catch confident-sounding fabrications before they propagate through your agent pipeline.

📊
Data Quality Gates

Gate data pipelines on verified facts. Only pass claims with verdict == "verified" and confidence > 0.8 to downstream systems.

⚖️
Domain Specialisation

Use domain hints (finance, legal, medical, science) for better evidence sourcing. Finance claims check market data; medical claims prioritise clinical literature.

Error Reference

400 · Bad Request

Claim is empty, exceeds 2,000 characters, or batch array is empty/too large (>10 items).

401 · Unauthorized

Missing or invalid API key.

429 · Rate Limited

Too many requests. Verification is rate-limited per plan.

⏱️ Timeout behaviour: If evidence gathering exceeds 25 seconds, the pipeline returns verdict: "unverifiable" with a caveat rather than erroring. You always get a response.