Skip to content

VAARHAFT API (v2.6.0)

API for image and document verification.

Send us your files in a ZIP archive through a request like below, and we verify them for you. You can give us images (like JPEG, PNG, WEBP, HEIC, ...) or PDF documents - we extract relevant items like embedded images or document scans automatically.

You will get back a response where we detail exactly what the results of our different analyses are - and if your file is suspicious.

The results are packaged in a clean, structured JSON response like below, that is easy to understand, read and integrate. Additionally, depending on the results, we may send you one or multiple ZIP attachments containing additional results or indicators, like heatmaps that show you where your files have been edited.

We can even generate an evaluation report for you, which shows you everything we found in an intuitive way, that everyone, even without technical knowledge, can understand.



Upload limits:

  • Per request: max. 40 files / 40 items, ZIP archive up to 50 MB (up to 10 MB as direct upload; 10-50 MB via the presigned S3 upload flow, see POST /v2/getUploadUrl). Items extracted from PDF files count towards the item limit.

  • Per image - analysis targets: 50 megapixels / 20 MB. Images above these targets are not rejected: they are automatically downscaled and/or re-encoded server-side (aspect ratio preserved) and then analysed. What was changed is reported per item in image_normalization.

  • Per image - hard limits: 250 megapixels / 50 MB. Images above these limits are not analysed; they are kept in the response as an item with suspicion_level: "-" and irrelevance_reason: "too_large".

  • Supported formats: jpg, jpeg, png, tif, tiff, webp, heic, pdf.



Good to know:

  • Every result carries a traffic light suspicion_level - on request, file and item level. Next to Green, Yellow and Red there is a fourth, neutral state - (grey): we could not make a statement for that object, for example because its input quality was insufficient or because it was not relevant for the analysis (a logo, a letterhead, ...).

  • Which analyses run for you is part of your configuration. Sections belonging to features you do not have enabled are either empty (enabled: false) or omitted from the response entirely - never assume a fixed set of keys, always read defensively.

  • Large images are handled for you: images above our analysis targets are automatically reduced server-side instead of being rejected, and we tell you what we did (see image_normalization and the upload limits above).



One more thing:

If you're using Python (v3.9 or higher), the easiest way to integrate our API is through our SDK - just run pip install vaarhaft-fraudscanner and you're good to go! (more info here)

Download OpenAPI description
Languages
Servers
https://api.vaarhaft.com