The ID Verification API allows you to verify identity documents by submitting images of the document’s front and back sides (when applicable). This API extracts and validates document information, performs authenticity checks, and returns structured data from the document.
Image requirements (read carefully)
Full document visibility: The image must not be cropped. All four corners of the document must be clearly visible, with some margin around the edges. If corners are cut off or the frame is too tight, the API is highly likely to reject the request—even when the text in the image looks perfectly clear.
File size: Send images strictly larger than 250 KB per file so resolution stays high enough for reliable extraction and checks. For faster processing, keep each file ideally under 1 MB when you can. The hard limit per file remains 5 MB (see front_image / back_image).
Documentation Index
Fetch the complete documentation index at: https://docs.didit.me/llms.txt
Use this file to discover all available pages before exploring further.
Front side image of the identity document. Framing: do not crop—show the entire document with all four corners visible and margin around the edges; cropped corners commonly cause declines even if text is sharp. Size: file must be > 250 KB (required resolution); < 1 MB per image is recommended for faster processing. Allowed formats: JPEG, PNG, WebP, TIFF, PDF. Maximum file size: 5 MB.
Back side image of the identity document, required for dual-sided documents like ID cards. Same rules as front_image: uncropped full document, four corners + margin, > 250 KB (ideally < 1 MB). Allowed formats: JPEG, PNG, WebP, TIFF, PDF. Maximum file size: 5 MB.
Whether or not to perform document liveness to make sure the imaged is not a screened copy, or portrait replacement.
Minimum age required. Users under this age will be declined. Must be between 1-120.
1 <= x <= 120Action to take when the expiration date is not detected. Must be one of NO_ACTION or DECLINE.
NO_ACTION, DECLINE Action to take when MRZ reading fails because the MRZ has been tampered, or there is some occlusions that does not allow to read it properly. Must be one of NO_ACTION or DECLINE.
NO_ACTION, DECLINE Action to take when the extracted data in the VIZ (Visual Inspection Zone) is not consistent with the MRZ data, indicating signs of data tampering. Must be one of NO_ACTION or DECLINE.
NO_ACTION, DECLINE Preferred character set to use when the document carries names, address, or place of birth in multiple scripts (e.g. a Kyrgyz ID with both Latin and Cyrillic surname fields). Controls which script populates the top-level response fields (first_name, last_name, full_name, address, place_of_birth); the opposite script is exposed inside extra_fields with suffix _non_latin (when this is latin) or _latin (when this is non_latin). Alternate-script keys are only emitted when the OCR actually extracts a real value in the opposite script. If this is latin but the document contains only non-Latin text, Didit transliterates the extracted values and exposes _latin keys as a fallback. Must be one of latin or non_latin.
latin, non_latin Whether to save this API request. If true, then it will appear on the Manual Checks section in the Business Console.
A unique identifier for the vendor or user, such as a UUID or email. This field enables proper session tracking and user data aggregation across multiple verification sessions.