Skip to content

Document fraud detection API

Document fraud detection API for PDF and Word files.

Check PDF and Word files for edits, forgery and AI-written text in two API calls. Findings and a verifiable report cost US$5.99 per document.

Start freeRead the docs

Free start: 5 image or document checks and 5,000 text characters. No card, no subscription.

At a glancefvdoc-3
Endpoints
POST /v1/files, POST /v1/analyses
Model
fvdoc-3 · FVDOC V3
Accepted files
PDF, DOCX, DOC, RTF, ODT, PPTX, TXT
Maximum size
Up to 50 MB and 100 pages
Result
Wait for it in the same request, or receive a webhook
Price
US$5.99 per document check

Last updated

What it checks

What the document check examines.

Each signal is part of the same report you get in the Console. The response field column tells you where to read it.

Signals examined by the document check and the response fields that carry them
SignalWhat is examinedResponse field
Edit history and file structureSaved revisions, changed and added pages, and how the file was put together.structure
Signatures and file recordsDigital signatures, creation and modification records, and the software named in the file.provenance
Embedded photosPhotos inside the document, each examined for AI generation and local edits.images
AI-written textA verdict for the document's text, with the AI-written passages marked by page.text
Findings and next stepThe findings behind the risk level, how strong each one is and a recommended action.findings, level, action

Request and response

Two calls and one report.

Upload the file, then create the check with the model fvdoc-3. Send Prefer: wait to hold the request until the report is ready. Documents can be queued, so a check may answer 202 with status processing. Fetch it later or receive a webhook.

RequestPOST /v1/files, POST /v1/analyses
FILE_ID=$(curl -s https://api.fileverity.com/v1/files \  -H "Authorization: Bearer $FILEVERITY_API_KEY" \  -F file=@contract.pdf | jq -r .id) curl https://api.fileverity.com/v1/analyses \  -H "Authorization: Bearer $FILEVERITY_API_KEY" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: $(uuidgen)" \  -H "Prefer: wait=60" \  -d "{\"model\": \"fvdoc-3\", \"file\": \"$FILE_ID\"}"
Response200 OK
{  "id": "an_Zc4vB7nP1sK8tL3wR6yQm2Xa",  "object": "analysis",  "created": 1793700300,  "model": "fvdoc-3-2026-11-03",  "livemode": true,  "status": "succeeded",  "file": {    "name": "contract.pdf",    "bytes": 18874368,    "format": "pdf"  },  "report_id": "FV-3PXH-6WQ2-8NDC",  "report_url": "https://fileverity.com/verify/FV-3PXH-6WQ2-8NDC",  "summary": {    "kind": "docpro",    "level": "L3",    "action": "review",    "reason": null,    "findings": [],    "pages": 12,    "images": 3,    "text": "human"  },  "result": {    "report": {      "schema": "fileverity.docpro/1",      "id": "FV-3PXH-6WQ2-8NDC"    },    "stamped_at": 1793700340  },  "error": null,  "progress": null,  "usage": {    "amount": 599,    "currency": "usd",    "funding": "balance"  },  "metadata": null,  "completed_at": 1793700341,  "expires_at": 1794305141}
The first request uploads the file and the second creates the check. The response shows a finished check.

Where it fits

Put it where a file becomes a decision.

The API returns a risk level and a recommended action. Your reviewers keep the final call.

Limits

What it does not do.

A clean result narrows a review. It does not replace one.

  • It does not read identity documents, match faces or run liveness checks. Use it next to an identity verification provider.
  • A result without findings is not proof that a document is authentic or that what it says is true.
  • It checks the file, not the facts. It cannot confirm that an amount, a payee or an issuer is correct, so keep verifying those at the source.
  • Some content cannot be examined, such as scanned pages without text or very short passages. The report states what was not examined.
  • Photos and screenshots of documents are images, not documents. Check them with the image API.

Evidence

Evidence you can keep.

Every check leaves a record you can store, share and check again later, not only a verdict.

  • Report ID

    A report ID in the form FV-XXXX-XXXX-XXXX. Store it next to your own case or customer record.

  • Fingerprints and timestamp

    SHA-256 fingerprints of the file and the report, and an RFC 3161 timestamp, are recorded with every report.

  • Public verification page

    Anyone you share the report ID with can confirm it on the verification page, without an account.

  • Files deleted, results kept

    Uploaded files are deleted after the check and never used to train models. The result stays available through the API for 7 days.

Integrate

Build it into your workflow.

Image and document checks follow the same pattern, so one integration covers both.

  • Wait for the result with Prefer: wait, or receive a signed webhook when the check finishes. Handle both a finished response and a processing response.
  • Send an Idempotency-Key on every POST request, so a retry never runs a check twice.
  • Build against fv_test_ keys first. They return fixed sample results and are never charged.
  • Failed checks are not charged. A busy service answers 503 with a retry-after header, and you retry with the same key.
  • Webhooks are signed and follow the Standard Webhooks specification.
  • Files up to 4 MB go in one multipart request. Larger files use a pre-signed upload URL, up to the model's limit.
  • Requests are limited to 120 per minute per key.

Pricing

Pay for each check.

One prepaid workspace balance covers image, document and text checks. Top up from US$19. There is no subscription and nothing renews.

API and Console prices
CheckPrice
Image checkBilled per imageUS$1.99
Document checkBilled per documentUS$5.99
Text checkBilled per 1,000 charactersUS$0.14

Text is rounded up to the next 1,000 characters for each request. Text checks need at least 100 words.

Free start

Try it before you add funds.

Your first workspace starts with 5 free image or document checks and 5,000 free text characters.

No card is needed to start. One free start per person, and a limited number per company email domain. Teammates should join through an invitation.

Frequently asked questions

How do I detect a forged PDF by API?

Upload the PDF with POST /v1/files, then create a check with POST /v1/analyses and the model fvdoc-3. The response carries findings from the file's edit history, signatures, embedded photos and text, a risk level and a recommended action, plus a report ID that anyone can verify.

Can it detect AI-generated documents?

It detects AI-written text: the check marks AI-written passages by page and says when text could not be evaluated, for example on scanned pages without text. It also examines embedded photos for AI generation. Treat the result as evidence for a review, not as proof.

Does it verify IDs or passports?

No. It does not read identity documents, match faces or run liveness checks. It examines the document file, not the person presenting it, so use it next to an identity verification provider.

How much does a document check cost?

US$5.99 per document check, paid from a prepaid workspace balance that you top up from US$19. There is no subscription. Failed checks are not charged, and test keys are never charged.

Can I try it for free, and is there a test mode?

Your first workspace starts with 5 free image or document checks and 5,000 free text characters, with no card needed. There is one free start per person and a limited number per company email domain. Keys that start with fv_test_ return fixed sample results and are never charged.

Which file formats and sizes are accepted?

Accepted formats: PDF, DOCX, DOC, RTF, ODT, PPTX, TXT. The limits are 50 MB and 100 pages per file. Files up to 4 MB go in one multipart request; larger files use a pre-signed upload URL. A JPEG, PNG or WebP photo of a document is an image check instead.

How long are files and results kept?

Uploaded files are deleted after the check. The result is kept for 7 days so you can fetch it again, and the public verification page confirms the report ID, the file fingerprint and the timestamp.

Guides

Practical guidance for review teams.

What each check establishes, where it stops and which evidence to request next.

All guides

Make your first check in minutes.

Open the Console, use your free start and send a test request. Add funds only when you are ready for live results.