Overview Documentation API Reference Playground Pricing
Sign In Get API Key

Stop LLM hallucinations
before they reach
your users.

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

Get Free API Key Free: 500 claims/month
View Documentation
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}")
▶ Response
Confirmed "The Earth is 4.5 billion years old"
Disputed "The Great Wall is visible from space"
2 claims · 1.2s · 6 sources

The most rigorously benchmarked fact-checking API available.

Academic Benchmark
Our score on FEVER
92.7%
Accuracy
93.6%
Macro F1
94.7%
Precision
92.7%
Recall
The best academic systems score in the low-to-mid 80s. We show that live-web retrieval outperforms static-corpus approaches.
Methodology & full results
Accuracy92.7%
Macro Precision94.7%
Macro Recall92.7%
Macro F193.6%
“Supported” F192.9%
“Disputed” F194.3%
Factive’s API was benchmarked against FEVER, the standard academic dataset for automated fact-checking, on a balanced sample of 200 claims (100 supported, 100 refuted). After independent adjudication of ground truth labels — correcting for outdated or erroneous annotations in the original dataset — the pipeline achieved 92.7% accuracy with a macro F1 of 93.6% and balanced precision and recall above 92% across both verdict classes. Across three independent runs (σ = 0.6%), the pipeline demonstrated consistent performance. Several of the pipeline’s apparent “errors” reflected cases where our live-web retrieval returned more current and accurate information than the dataset’s 2017-era Wikipedia ground truth, demonstrating the advantage of real-time evidence gathering over static reference sets.
Click to flip back
Academic Benchmark
Our score on AVeriTeC
89.5%
Accuracy
87.1%
Macro F1
86.2%
Precision
88.0%
Recall
Real claims from professional fact-checkers — not synthetic data. Tests the messy, ambiguous claims that matter in production.
Methodology & full results
Accuracy89.5%
Macro Precision86.2%
Macro Recall88.0%
Macro F187.1%
“Supported” F180.3%
“Disputed” F193.8%
Factive’s API was benchmarked against AVeriTeC, a curated set of real-world claims from professional fact-checking organizations spanning August–October 2020. After deduplication of repeated claims, independent review and correction of ground truth labels, and exclusion of unevaluable entries, 440 claims were scored. All claims were temporally grounded to end-of-2020 knowledge to match the original fact-checkers’ context window. Across three independent runs, the pipeline achieved 89.5% accuracy (σ = 1.3%) with a macro F1 of 87.1%, strong refutation detection (F1 = 93.8%), and precision above 86% in both verdict classes. Unlike static-corpus benchmarks, AVeriTeC tests real-time web retrieval against real-world misinformation — the pipeline’s residual errors primarily reflect limited web coverage for regional data sources rather than reasoning failures.
Click to flip back
Internal Benchmark
Our score on WONDERS
96.1%
Accuracy
94.3%
Macro F1
95.6%
Precision
93.1%
Recall
Assembles real-world claims in realistic real-world paragraph context. Consistent performance across 3 independent runs (σ = 0.8%).
Methodology & full results
Accuracy96.1%
Macro Precision95.6%
Macro Recall93.1%
Macro F194.3%
“Confirmed” F197.8%
“Disputed” F190.8%
Factive’s API was benchmarked against the Wonders internal benchmark, a curated set of 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. Across 3 independent runs, the pipeline achieved a mean accuracy of 96.1% (range 95.3–96.9%, σ = 0.8%) with a macro F1 of 94.3%, confirming true claims at 97.8% F1 and correctly flagging false claims at 90.8% F1. With live web retrieval against naturally deceptive framing, these results demonstrate robust, repeatable performance on the kind of nuanced, context-dependent claims that trip up simpler fact-checking approaches.
Click to flip back

Not just an LLM wrapper — a multi-stage pipeline with built-in quality control

Every claim passes through five independent stages before a verdict is returned.

Categorize claim & filter non-verifiable content
Classify
Claim detection & categorization
Search the live web & assign initial verdict
Verify
Live web-search verification
Independent re-verification on uncertain results
Cross-Check
Independent re-verification
Generate structured result with sources & explanation
Summarize
Structured result returned
Detect contradictions, hallucinations & unsupported conclusions
QA Gate
Hallucination & contradiction detection
How it works
1
Classification

Each claim is categorized by domain (politics, science, health, etc.) and analyzed for verifiability. Opinions, idioms, and non-factual framing are detected and filtered out — so only real factual claims enter the verification pipeline.

2
Verification

Each claim is verified against live web sources using grounded search. The verifier retrieves current evidence, cross-references it against the claim, and assigns an initial verdict — confirmed, disputed, or inconclusive — with cited sources.

3
Cross-Check

When the primary verification is inconclusive or uncertain, an independent search engine re-verifies the claim from scratch. This prevents single-source bias and ensures uncertain claims get a second opinion before a verdict is returned.

4
Summarize

Results are delivered as structured JSON: verdict, a human-readable explanation, source URLs, and evidence snippets. Both a short summary for compact UIs and a detailed breakdown for deep dives are included in every response.

5
QA Gate

Every verdict is audited for hallucinated facts, internal contradictions between the verdict and its explanation, and conclusions unsupported by cited evidence. Flagged results are re-verified by an independent model — so only quality-checked verdicts reach your users.

Submit any content.

One API call. Any format. We extract the text, find the claims, and verify them — all streamed back in real time so your users see content instantly while fact-checking and hallucination detection runs in parallel.

Text
URLs
PDF
Word
Audio
Images
YouTube YouTube
TikTok TikTok
Instagram Instagram
X X
Reddit Reddit
ChatGPT
Perplexity Perplexity
Gemini Gemini
Claude Claude

Get back structured data.

Granular Claims

Content is decomposed into precise, atomic claims before verification. Our extraction engine 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. Use directly in conditional logic.

Source Citations

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

Source Snippets

Get 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 in every response.

Claim Positioning & Text

Every highlight region includes character offsets and the matched text itself — so you can pinpoint claims by position or simple string search. Build inline highlighting, annotations, or underlines with zero guesswork.

Corrective Text

When a claim is disputed, get back corrected text ready to swap in. Go beyond flagging errors — deliver the fix, not just the flag.

Document Sections

Long documents come back with a full section map — name, word count, character offsets, and a skip recommendation for non-verifiable sections like references or appendices. Use it to build a section picker or automatically exclude boilerplate before verification.

Choose from three input modes.

Send it all at once, stream it in 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/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

Choose from three response modes.

All at once, streamed as they come, or picked up later 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

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

Get started in 2 minutes.

Three steps from zero to your first verified claim.

1

Get your API key

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

2

Install the SDK (optional)

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

3

Verify your first claim

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

Built for production environments.

Integrate fact-checking into any workflow. Fact-check a single claim at a time or submit content with hundreds or even thousands 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. Try it out live here.

🤖

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.

See what you can build with our API.

Toadstool is a live app built entirely on our API. Fact-check all forms of media: text docs, audio, YouTube, Instagram, links, AI shares, and more.

Factive Review Mode

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 API?

The Toadstool app is our consumer product — a fact-checking app built on the same pipeline. The API gives developers and AI agents programmatic access. Same engine, different interfaces.