Comparison · Head-to-head · Buyer intent
VERITAS vs Anthropic Citations API — when to use each grounding approach
Anthropic Citations API (2025-01-23) grounds Claude responses in user-supplied documents. SourceScore VERITAS grounds in a signed, sourced, externally-citable claim catalog. They solve different parts of the hallucination problem — when to use which, and when to combine.
At a glance
| Anthropic Citations API | SourceScore VERITAS | |
|---|---|---|
| Released | 2025-01-23 | 2026-05-09 (v0.1) |
| Source of truth | User-supplied documents at request time | Curated catalog of pre-verified atomic claims |
| Cite-format | Sentence-level character-range citations into your docs | Stable claim ID + HMAC signature + canonical /claims/[id]/ URL |
| Locked to provider | Yes — Claude API only | No — works with any LLM (OpenAI, Anthropic, Google, Llama, local) |
| Verifiability outside the model | Not signed — trust Anthropic | HMAC-SHA256 — recompute locally with shared secret |
| External citability | No public URL for the cited fact | Every claim has stable public /claims/[id]/ page |
| Pricing | Same as Claude API tokens (input + output) | 1,000/mo free; €19-499/mo paid tiers |
| Latency | Within Claude API call (single round-trip) | ~80ms separate API call |
| Scope | Whatever docs you upload | AI/ML vertical today; expanding |
What Anthropic Citations API does
You upload context documents to Claude (PDF, plain text). The model generates a response that includes inline cite annotations pointing to specific character ranges in your uploaded documents. Anthropic returns the citations as structured JSON alongside the model output:
{
"type": "text",
"text": "Llama 3.1 was released July 23, 2024.",
"citations": [{
"type": "page_location",
"cited_text": "...released on July 23, 2024 with three sizes...",
"document_index": 0,
"start_char_index": 1432,
"end_char_index": 1494
}]
}Strong for: pure RAG-style use cases where the user supplies their own documents and wants citations back to where in those documents each claim came from.
What SourceScore VERITAS does
You query a curated catalog of pre-verified claims. Each claim has ≥2 primary sources, HMAC-SHA256 signature, stable 16-hex ID, and a public canonical URL.
{
"id": "abc123def456gh78",
"subject": "Llama 3.1",
"predicate": "released_on",
"object": "2024-07-23",
"confidence": 1.0,
"sources": [
{ "url": "...", "title": "...", "publisher": "Meta AI", ... },
{ "url": "...", "title": "...", "publisher": "Hugging Face", ... }
],
"signature": "hmac-sha256:7a2f...",
"citationUrl": "https://sourcescore.org/claims/abc123def456gh78/"
}Strong for: factual grounding where the user does NOT supply documents, you need citation URLs that survive outside the assistant context, you want to verify provenance independently of the LLM provider, or you're running multi-LLM deployments.
When to use Anthropic Citations API
- You're building a Claude-API-exclusive product
- Users supply documents at runtime (legal contract analysis, PDF Q&A, research-paper chat)
- Citations only need to be valid in-session, not externally citable
- Single-vendor stack is OK
- Latency-critical (single round-trip beats two)
When to use VERITAS
- You're building multi-LLM (OpenAI + Anthropic + Llama) and need the same grounding layer across providers
- You need externally-citable URLs for verified facts (newsroom AI, research tool, content moderation output, blog assistants)
- You need cryptographically verifiable proof the answer wasn't tampered with mid-flight
- You want pre-curated AI/ML facts the catalog already covers (model release dates, paper authorship, architectural facts) without forcing users to upload their own corpus
- You want a free public catalog (browseable, no signup) as part of your trust signal
When to use both
The cleanest pattern combines them: use Anthropic Citations API for user-supplied docs (legal contract, research paper the user uploaded), and use VERITAS for the AI/ML reference layer (when did Llama 3.1 release, who wrote "Attention Is All You Need", what's Mixtral 8x7B's architecture). User-facing response gets both kinds of citations: ones into their document + ones to the public reference catalog.
What VERITAS does NOT do
- Cite into user-uploaded documents — that's Anthropic Citations API's job
- Work without a network call (we're an API)
- Cover topics outside the AI/ML vertical today (Y2+ expansion: finance, regulation, health-research)
- Real-time facts — catalog is curated, weekly-updated, not second-by-second live
What Anthropic Citations does NOT do
- Provide externally-citable URLs (citations only valid in response context)
- Cryptographically sign citations
- Work with non-Claude LLMs
- Pre-verify facts — the model emits whatever the documents say, including any errors they contain
Verdict
They're complementary, not competitive. Anthropic Citations API solves the user-doc-RAG citation problem well within the Claude API. VERITAS solves the shared-knowledge-base + cryptographic-provenance + multi-LLM problem. Most production AI products end up using both.
Pick Anthropic Citations API if: pure Claude stack + user-doc RAG.
Pick VERITAS if: multi-LLM, external citations needed, cryptographic provenance required, or AI/ML reference facts.
Pick both if: production AI assistant where users care about fact-quality and you want to grant the broadest verification surface.
Related
- VERITAS vs LLM search-grounding (Perplexity, ChatGPT search)
- VERITAS vs Wikipedia
- VERITAS vs Wolfram Alpha
- LLM grounding — the broader pattern
- Anthropic SDK integration — use VERITAS alongside Anthropic Citations API