Stop LLM hallucinations before they reach your users.
from factivelabs import FactiveLabs client = FactiveLabs(api_key="YOUR_API_KEY") result = client.verify( content="The Earth is 4.5 billion years old. " "The Great Wall is visible from space.", mode="text" ) for claim in result.claims: print(f"{claim.verdict}: {claim.text}") # confirmed: The Earth is 4.5 billion years old. # disputed: The Great Wall is visible from space.
Three benchmarks. Three runs each. σ = 0.6%. Click any card for methodology and per-class F1.
The best academic systems score in the low-to-mid 80s. Live-web retrieval outperforms static-corpus approaches.
Benchmarked against FEVER on a balanced sample of 200 claims (100 supported, 100 refuted). After independent adjudication of ground-truth labels, the pipeline achieved 93.8% accuracy with balanced precision and recall above 94%. Across three independent runs, σ = 0.6%. Several apparent "errors" reflect cases where live-web retrieval returned more current information than the dataset's 2017-era Wikipedia ground truth.
Real claims from professional fact-checkers — not synthetic data. Tests the messy, ambiguous claims that matter in production.
A curated set of real-world claims from professional fact-checking organizations, Aug–Oct 2020. After deduplication and independent review of ground-truth labels, 433 claims were scored. The pipeline achieved 88.7% accuracy with strong refutation detection (F1 = 92.2%). Residual errors primarily reflect limited web coverage for regional sources rather than reasoning failures.
Real-world claims in realistic paragraph context — designed to mirror how misinformation appears in the wild.
128 real-world claims spanning history, science, geography, and public figures — each embedded in realistic paragraph context designed to mirror how misinformation appears in the wild. The pipeline confirms true claims at 97.4% F1 and flags false claims at 87.7% F1. Demonstrates robust performance on nuanced, context-dependent claims that trip up simpler approaches.
More than an LLM wrapper — every claim passes through five independent stages.
Every claim is evaluated against the applicable reference material: your corpus, or third-party publications and data sources.
One API call. Any format. We extract the text, find the claims, and verify them all — streamed back in real time.
Six pieces of evidence per claim. Machine-readable. Use directly in conditional logic.
Content is decomposed into precise, atomic claims before verification. The extractor balances focus and coverage so every meaningful claim is captured at the right weight, fast.
Every claim returns confirmed, disputed, or inconclusive. Machine-readable with no parsing and no ambiguity.
Each verdict includes URLs and titles of the sources used to make the determination. Built-in transparency your users can trust.
The exact passage from each source that supports or contradicts the claim. Get the evidence, not just a link.
A one-liner for compact UIs, plus a full reasoning breakdown for detail views. Choose which to display — both are included.
Long documents come back with a section map: name, word count, character offsets, and a skip recommendation for non-verifiable sections like references or appendices.
Send it all at once, stream it as it's generated, or submit in bulk.
Send the full content in a single request. Accepts any format — text, URLs, YouTube, TikTok, PDFs, audio, images. Best for articles, documents, and finished content.
POST /api/v1/verifyPush content chunk by chunk as it's generated. We detect paragraphs and start fact-checking before the content is finished. Built for LLM output streams, live transcription, and real-time captions.
POST /api/v1/verify/paragraph/streamSubmit up to 100 items in a single request. Each is processed independently and concurrently. Best for content pipelines, CMS ingestion, and bulk verification jobs.
POST /api/v1/verify/batchGet verifications in one shot, streamed as they're generated, or picked up in batch.
Send a request, get the full result when processing completes. Best for short content and simple integrations.
"stream": false, "async": falseReceive claim-by-claim results via Server-Sent Events as they're extracted and verified. Ideal for real-time UIs.
"stream": trueSubmit and receive a job ID immediately. Poll the status endpoint to check progress. Best for large documents and batch processing.
"async": trueThree steps from zero to your first verified claim.
Create a free account and generate your key. 500 free claims per month included.
Get your API key →Use our Python SDK for the fastest integration, or call the REST API directly.
Send any text to the verify endpoint and get back claims with verdicts, sources, and explanations.
Integrate fact-checking into any workflow. Fact-check a single claim at a time or submit content with hundreds of claims.
Add a verification layer to any LLM pipeline. Submit model output and get back structured evidence for every claim — before it reaches your users.
Give your AI agent the ability to verify its own output before presenting it to users. Catch hallucinations in RAG pipelines, chatbots, and copilots.
Flag disputed claims in user-generated content before it goes live. Run at ingestion time or as a batch job across your entire content library.
Verify sources and claims at scale. Process entire articles or documents and get claim-by-claim breakdowns with source citations.
Fact-check articles, press releases, and reports before publication. What takes hours manually takes seconds through the API.
Verify claims in filings, marketing materials, and regulated documents. Reduce liability by catching factual errors before they ship.
Toadstool was built on the Factive Labs API. Try it to fact-check text docs, audio, YouTube, Instagram, links, and more.
A claim is a single verifiable statement extracted from your content. For example, "The Earth is 4.5 billion years old" is one claim. A paragraph might contain 3–5 claims. The API automatically extracts and counts individual claims.
Yes. The Playground lets you test the API without creating an account. For programmatic access, create a free account to get your API key — no credit card required.
On paid plans, you'll be billed $0.01 per additional claim automatically. On the Free plan, requests will return a 402 error — upgrade to continue.
You'll receive a 429 response with a Retry-After header. Upgrade to a higher plan for increased limits.
The Toadstool app is our demonstration app — built using the FactiveLabs API.