Overview
verify_claim_against_source
$0.05 USDC
MCP: verify_claim_against_source
SDK: verifyClaimAgainstSource()
Checks whether a public source supports, contradicts, or does not address a specific factual claim.
POST /v1/verify-claim-against-source
POST /x402/v1/verify-claim-against-source
When an agent should use it
- Check whether a source addresses a claim before citing it.
- Attach source-grounded snippets to an agent-generated research answer.
- Route unsupported claims to a human review or additional source search step.
Input fields
Schema ref: #/components/schemas/VerifyClaimAgainstSourceInput
| Field | Required | Type | Description |
claim |
required |
string |
Specific factual claim to compare against the source page. Keep it narrow enough to verify against one source. |
sourceUrl |
required |
string |
Public HTTP or HTTPS source URL used as evidence for the claim. SSRF protections apply before fetching. |
maxSnippets |
optional |
integer |
Maximum number of evidence snippets to return. Claim verification allows 1 to 8; commerce extraction allows 1 to 10. |
Output fields
Schema ref: #/components/schemas/VerifyClaimAgainstSourceOutput
| Field | Required | Type | Description |
verdict |
required |
string |
Claim-check result. Allowed values: supported, contradicted, not_addressed, or unclear. |
confidence |
required |
number |
Number from 0 to 1 expressing how strongly the extracted signals support the result. Lower confidence means the caller should treat the output as tentative or seek review. |
reason |
required |
string |
Short explanation for the verdict using source-grounded evidence. |
supportingSnippets |
required |
array |
Evidence snippets from the source page that informed the verdict. Empty array means no useful snippet was found. |
source |
required |
object |
Fetched source metadata including requested URL, final URL, page title, and content hash. |
curl example
curl -s https://primitive402.dev/v1/verify-claim-against-source \
-H 'content-type: application/json' \
-d '{
"claim": "Example Domain is for illustrative examples.",
"sourceUrl": "https://example.com",
"maxSnippets": 4
}' | jq
TypeScript SDK example
import { createNano402Client } from "@nano402/api/sdk";
const client = createNano402Client({
baseUrl: "https://primitive402.dev"
});
const result = await client.verifyClaimAgainstSource({
"claim": "Example Domain is for illustrative examples.",
"sourceUrl": "https://example.com",
"maxSnippets": 4
});
console.log(result);
Example response snippet
{
"verdict": "supported",
"confidence": 0.81,
"supportingSnippets": [
"Source-grounded evidence..."
]
}
Safety notes
- The verdict is a source-grounded baseline, not a legal, scientific, or factual guarantee.
- URL fetching uses SSRF protection before retrieval.
- Source snippets may omit relevant context outside the fetched and truncated content.
Common errors
400 invalid_request: request body failed validation.
402 payment_required: the x402 route was called without a valid payment header.
429: rate limit exceeded.
500 internal_error: unexpected server error.