v1 · production · 99.9% uptime

Fact-check in
real-time with
one API call.

Stop LLM hallucinations before they reach your users.

POST /api/v1/verify
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.
Benchmarks

Measured, not claimed.

Three benchmarks. Three runs each. σ = 0.6%. Click any card for methodology and per-class F1.

Academic Benchmark
FEVER
93.8% accuracy
95.0%Macro F1
96.3%Precision
94.0%Recall

The best academic systems score in the low-to-mid 80s. Live-web retrieval outperforms static-corpus approaches.

Methodology & full results
FEVER
Accuracy93.8%
Macro Precision96.3%
Macro Recall94.0%
Macro F195.0%
"Supported" F195.1%
"Disputed" F194.8%

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.

↩ Click to flip back
Academic Benchmark
AVeriTeC
88.7% accuracy
87.5%Macro F1
86.6%Precision
88.9%Recall

Real claims from professional fact-checkers — not synthetic data. Tests the messy, ambiguous claims that matter in production.

Methodology & full results
AVeriTeC
Accuracy88.7%
Macro Precision86.6%
Macro Recall88.9%
Macro F187.5%
"Supported" F182.7%
"Disputed" F192.2%

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.

↩ Click to flip back
Internal Benchmark
Wonders
95.7% accuracy
92.6%Macro F1
96.3%Precision
89.7%Recall

Real-world claims in realistic paragraph context — designed to mirror how misinformation appears in the wild.

Methodology & full results
WONDERS
Accuracy95.7%
Macro Precision96.3%
Macro Recall89.7%
Macro F192.6%
"Confirmed" F197.4%
"Disputed" F187.7%

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.

↩ Click to flip back
Pipeline

A multi-stage verification pipeline
with built-in quality gates.

More than an LLM wrapper — every claim passes through five independent stages.

Classify
Detect & categorize claims
Verify
Live web & private sources
Cross-check
Independent re-verification
Summarize
Structured result
QA gate
Contradiction detection
Sources

Verify claims against independent
sources — or your own content.

Every claim is evaluated against the applicable reference material: your corpus, or third-party publications and data sources.

Your knowledge base Your policies Your product docs Your research
Inputs

Submit any content.

One API call. Any format. We extract the text, find the claims, and verify them all — streamed back in real time.

text
urls
PDFpdf
DOCword
audio
images
YouTubeyoutube
TikToktiktok
Instagraminstagram
Xx
ChatGPTchatgpt
Geminigemini
Response

Get back structured data.

Six pieces of evidence per claim. Machine-readable. Use directly in conditional logic.

Granular claims

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.

Verdicts

Every claim returns confirmed, disputed, or inconclusive. Machine-readable with no parsing and no ambiguity.

Source citations

Each verdict includes URLs and titles of the sources used to make the determination. Built-in transparency your users can trust.

Source snippets

The exact passage from each source that supports or contradicts the claim. Get the evidence, not just a link.

Short & detailed explanations

A one-liner for compact UIs, plus a full reasoning breakdown for detail views. Choose which to display — both are included.

Document sections

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.

Input modes

Three ways to send content.

Send it all at once, stream it as it's generated, or submit in bulk.

Complete Default

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/verify

Streaming Real-time

Push 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/stream

Batch Bulk

Submit 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/batch
Response modes

Three ways to receive results.

Get verifications in one shot, streamed as they're generated, or picked up in batch.

Synchronous Default

Send a request, get the full result when processing completes. Best for short content and simple integrations.

"stream": false, "async": false

Streaming SSE

Receive claim-by-claim results via Server-Sent Events as they're extracted and verified. Ideal for real-time UIs.

"stream": true

Async Polling

Submit and receive a job ID immediately. Poll the status endpoint to check progress. Best for large documents and batch processing.

"async": true
Quickstart

Get started in 2 minutes.

Three steps from zero to your first verified claim.

01

Get your API key

Create a free account and generate your key. 500 free claims per month included.

Get your API key →
02

Install the SDK (optional)

Use our Python SDK for the fastest integration, or call the REST API directly.

03

Verify your first claim

Send any text to the verify endpoint and get back claims with verdicts, sources, and explanations.

Use cases

Built for production environments.

Integrate fact-checking into any workflow. Fact-check a single claim at a time or submit content with hundreds of claims.

AI safety & hallucination detection

Add a verification layer to any LLM pipeline. Submit model output and get back structured evidence for every claim — before it reaches your users.

AI agents & copilots

Give your AI agent the ability to verify its own output before presenting it to users. Catch hallucinations in RAG pipelines, chatbots, and copilots.

Content moderation

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.

Research & journalism

Verify sources and claims at scale. Process entire articles or documents and get claim-by-claim breakdowns with source citations.

Publishing & editorial

Fact-check articles, press releases, and reports before publication. What takes hours manually takes seconds through the API.

Compliance & legal

Verify claims in filings, marketing materials, and regulated documents. Reduce liability by catching factual errors before they ship.

Built on the API

See what you can build with the Factive Labs API.

Toadstool was built on the Factive Labs API. Try it to fact-check text docs, audio, YouTube, Instagram, links, and more.

Toadstool home
FAQ

Frequently asked questions.

What counts as a "claim"?

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.

Can I try the API before signing up?

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.

What happens if I exceed my monthly credits?

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.

What happens if I hit the rate limit?

You'll receive a 429 response with a Retry-After header. Upgrade to a higher plan for increased limits.

How is the Toadstool app different from the FactiveLabs API?

The Toadstool app is our demonstration app — built using the FactiveLabs API.