Text and document verification · REST + hosted MCP

Documents in.
Answers your agents can act on.

Detect AI writing, fact-check citations and verify documents. Every result comes with its evidence — on the web, over REST, or as a hosted MCP server.

Run a sampleDocumentation7 days · 200 credits · no card

Two sample results. An AI-text check on a cover letter: probability of machine writing 0.91, three phrases highlighted as the tells. A reference check on a report: 12 of 14 citations resolve, two to review, one of them a dead DOI.

Used by researchers and advisory teams

The primitive

Turn a document into evidence an agent can use.

Send a PDF or an image and get back a risk band, the signals that fired, and the evidence behind each one. The same inspection runs over REST or the hosted MCP server.

Verify a document
I
Submit a document

One endpoint, no SDK. Send a PDF or image as multipart or base64. Autonomous agents connect over MCP instead.

POST /v1/warrants
II
Read the signal, not a score

Two orthogonal axes — how authentic it looks, and how fully we could read it — plus per-signal evidence. No opaque 0–100.

risk_band×coverage
III
A human decides — or an agent

Branch on the recommended action, show your reviewer the evidence, record the verdict. Every result has a permalink and an audit-ready PDF.

permalink · report.pdf
Our stance

Never a bare score.

A number nobody can inspect is a decision nobody can defend — not to a customer, not to a regulator, not to the person you just declined.

Evidence travels with the answer

The phrases that drove it, the arithmetic that failed, the URL that would not resolve. Enough to put in a file note.

It abstains

A form, a table or an unreadable scan comes back as not applicable — never as a confident percentage.

Nothing is kept

The text tools are stateless — what you send is assessed and not stored. Verification and fact-check results are kept for their permalinks, and say so.

{
  "matched": 7,
  "matches": [
    { "title": "Road resurfacing program 2026-27",
      "buyer": "A NSW regional council",
      "score": 82,
      "why": ["civil works", "traffic management"],
      "gaps": ["ISO 45001 certification"] }
  ],
  "coverage": { "sources_total": 14, "sources_empty": [] }
}
Outcome · 01

What work can we actually bid for?

Open Australian and New Zealand government tenders, free to browse and to save as a weekly alert. Ranked against what your website says you do, with the gaps named — fit, not odds of winning.

Find tenders
Outcome · 02

Was this written by a machine?

A probability with the specific phrases that drove it, anchored in the text you sent. Style, not authorship — and it abstains when the text does not read as prose: forms, tables, numbers.

Check some text
PASTE OR UPLOADAI text check
Free with Google sign-in94.7% detection · measured ↗Abstains rather than guesses
Try:
{
  "summary": {
    "headline": "12/14 citations resolve (1 via archive), 2 not found, 0 mis-attributed; 0 claims contradicted, 0 math issues -> review 2.",
    "references_truncated": false },
  "references": [
    { "url": "https://doi.org/10.1000/okafor-2021",
      "type": "paper", "status": "dead" },
    { "url": "https://example.org/chen-2023",
      "type": "web", "status": "live", "http": 200 }
  ],
  "claims": [
    { "url": "https://example.org/chen-2023",
      "verdict": "supports" }
  ]
}
Outcome · 03

Do these sources exist?

Each citation — up to 64 a document — is fetched and comes back as live, archived, dead or unreachable, with the URL and the reason; in deep mode the claims are then judged against the sources that resolved. A bot wall and an invented source both fail, and only one of them is fraud.

Check a report
Outcome · 04

What do these pages actually say?

Fields and tables as structured values, each traced back to the page and the words they came from. Run the fictional sample or your own document — the same extraction over REST or the hosted MCP server.

Extract from a document

The sample is fictional, runs no model and costs no credits. Real documents are processed statelessly and are not retained by extraction.

Run the sample to see a real API response with values grounded back to page coordinates.

For agents

Your agent asks.
Stipple answers.

Every check is an MCP tool as well as an endpoint, so an agent calls it natively and gets the evidence back in the same turn. It can tell you why it stopped, not just that it did.

Agent: Three PDFs arrived. Genuine? Complete?

  → check_pack(scheme="lending_prequal", urls=[...])
      complete: false · missing: ["bank_statement"]

  → verify_document(url="payslip.pdf")
      risk_band: "high" · net pay off

Agent: Two problems — no bank statement, and the
       payslip is off by $500. Flagging for review.
Who uses it

Teams who act on what someone else wrote.

Editors & publishers

Submissions that read machine-written, and citations that have to actually exist.

Researchers & legal teams

Reports whose sources must resolve and support the claim before anyone relies on them.

Lenders

Payslips and statements whose numbers have to reconcile before money moves.

Procurement & bid teams

Open tenders ranked against what the company actually does, and the gaps named before the bid is written.

All use cases

For anyone using AI for serious research, Stipple adds an important verification layer between “AI found this” and “I’m confident enough to use this.”

I was using ChatGPT Research to prepare academic material and had gathered a large number of citations and sources. The challenge was knowing whether every citation genuinely supported the claims being made.

I ran the research through Stipple’s Citation Verification and Source Attribution tools, and it immediately surfaced gaps I would have otherwise had to find manually — weak source matches, missing attribution, and claims that needed stronger evidence.

It gave me a much clearer view of what I could trust and what needed another look. What would have taken hours of manual checking became a much faster and more structured process.

Adjunct Professor, UNSW
Measured, not asserted

Every figure has a method behind it.

Including the direction most vendors leave out, and the checks we have not benchmarked yet — which we say rather than estimate.

Send it.
See why.

Free 7-day trial with 200 credits. No card.

curl -X POST https://www.stipple.sh/v1/verify-references -d '{"url": "…/report.pdf"}'

Add Stp-Sandbox: true to any REST call and the tool returns a deterministic, labelled fixture — wire up the whole integration before you spend a credit.