Citation & Claim Verification API

SearchPipe is a web search API and MCP server for developers building AI agents. Every result ships with verifiable evidence — span-level quotes, claim verdicts, and source authority — not just links. The verification endpoint turns that pipeline into a single call: send a claim, get back a four-label verdict with the evidence that decides it.

Early access — The verification API is rolling out per deployment — a disabled deployment answers 404, pricing and quotas may change before general availability, and there is no uptime SLA yet. Failed pipeline runs are refunded automatically; an inconclusive verdict is a valid deliverable, not an error.

Response contract

The response contract is stable: every verdict carries a machine-readable reason_code from a fixed whitelist, and every evidence item carries a verbatim quote span — never a free-form generated explanation.

Verdict labels

Four-label verdict scale returned in the verdict field
verdictMeaning
supportedFetched evidence whose text explicitly supports the claim.
partialThe evidence supports part of the claim, or the support is weak.
unsupportedReachable evidence does not support the claim — catches misattributed or hallucinated citations.
inconclusiveNo verdict possible: fetch failures, paywalls or insufficient checkable evidence. A valid deliverable, billed like any other verdict.

reason_code whitelist

Machine-readable reasons returned in the reason_code field
reason_codeMeaning
doi_matchThe claim resolved to a DOI that points to a real paper.
title_matchThe claim matched a known paper title (fuzzy).
quote_span_foundA verbatim span supporting the claim was located in a fetched source.
no_supporting_evidenceSources were reachable but none of them supports the claim.
fetch_failedCandidate sources could not be fetched.
paywallCandidate sources sit behind a paywall.
low_authorityOnly low-authority sources were available, so confidence stays low.
conflicting_evidenceThe evidence points in more than one direction.

Request fields

POST /verify request body (application/json)
FieldTypeDescription
claimstring · requiredThe claim (statement or citation) to verify — max 2000 characters.
modestring · default autoEvidence route: paper (DOI/arXiv), web, or auto — a DOI or arXiv signal picks the paper route.
evidence_urlsstring[] · optionalUp to 5 caller-supplied citations to verify; URLs are SSRF-checked.
max_evidenceinteger · default 5Maximum number of evidence items to return (1-10).

Response fields

200 response body
FieldTypeDescription
verdictstringOne of supported, partial, unsupported, inconclusive (table above).
confidencenumber0-1 confidence in the verdict.
reason_codestringMachine-readable reason from the whitelist above — template phrases, never free-form text.
evidencesarrayEvidence items, each with url, title, source_tier (official/press/academic/preprint/community/unknown), quote, span_start, span_end, per_evidence_verdict, confidence and url_health (status_code, redirected, wayback_snapshot, fetched_at).
timingobjectPer-stage wall time in seconds (v_prepare, v_evidence, v_judge, v_health).

Example

One call: send a claim, read the verdict.

curl -X POST https://searchpipe.tech/verify \
  -H "Authorization: Bearer sp-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"claim": "Attention Is All You Need introduced the transformer architecture"}'

Successful calls return 200 with the verdict payload. Pipeline failures return 503 and are refunded automatically; input moderation rejections return 400 without a charge; a deployment with the endpoint switched off answers 404.

Verification FAQ

What does an inconclusive verdict mean?

inconclusive means the pipeline could not determine whether the evidence supports the claim — the candidate sources could not be fetched, sit behind a paywall, or did not contain enough checkable material. It is a first-class deliverable, not an error: an honest cannot-verify answer is billed like any other verdict, while a pipeline failure returns 503 and is refunded automatically.

Why does a verification take 5-15 seconds?

Each call runs a real evidence pipeline: candidate retrieval, full-text fetching, sentence-boundary span alignment and a consistency check over the quotes. That is inherently slower than a plain web search, and a verification is capped at 30 seconds. Results are not cached, because a verdict depends on the live state of the cited pages.

How is this different from a URL health check?

A URL health check only reports transport facts about a link: status code, redirects and whether an archived snapshot exists. Verification answers a different question — does the cited source actually support the claim? Each evidence item carries url_health as one field, but the verdict comes from span-level quote matching and source authority, not from reachability.

What are the limitations during early access?

The endpoint is gated per deployment and a disabled deployment answers 404. Billing is per request, and an inconclusive verdict is still a deliverable, so it is not refunded. The paper route (claims with a DOI or arXiv signal) is the most mature path today; the general web route keeps improving. There is no uptime SLA during early access — pricing and quotas can change before general availability.