DigiLocker Fetch
Overview
India’s government-endorsed digital locker for securely storing and sharing documents. Logs the user into DigiLocker via phone, PIN and OTP, then returns verified Aadhaar attributes.
- ID:
india-digilocker-aadhaar - Type: eID (app)
- Verification Type: Presentation
- Regions: Asia
- Countries: IN
- Adoption: 690,000,000
- URL: https://www.digilocker.gov.in
Integration with Trinsic
The DigiLocker Fetch verification is integrated into Trinsic's identity acceptance network allowing businesses to verify users against the government system of record in India.
- Permission required: Yes. Contact the Trinsic team to request access to this provider.
- Cost: Contact the Trinsic team.
User Flow
The user is required to log into their DigiLocker account using their phone number, PIN and a one time passcode. By doing so, the user consents to sharing their data with the service which returns the verified data to the relying party. To see a demo of this flow, watch this video.
Direct API Requirements
Direct API is not a requirement.You can integrate with this provider using the Hosted UI instead, with no additional integration requirements on your end.
What your integration must support in order to use this provider with the Direct Provider Sessions API.
- Supports Direct Provider Sessions: ✅
- Launch Method:
LaunchBrowser— Send the user's browser (via redirect, popup, or new tab) to the given URL. - Collection Method:
CaptureRedirect— The user is redirected back to your app with aresultsAccessKeyupon completion. - Results May Be Delayed Post-Redirect: The results of a verification with this provider may not be available immediately upon user redirect back to your application.
Outputs
Normalized AttributesThese attributes form part of our normalized model, a standardized set used across providers. Trinsic normalizes this for you and lets you know when a property is available for each provider.
| Field | Availability | Notes |
|---|---|---|
person.fullName | Always | - |
person.dateOfBirth | Always | - |
person.sex | Always | - |
person.address.line1 | Sometimes | If available |
person.address.line2 | Sometimes | If available |
person.address.line3 | Sometimes | If available |
person.address.city | Always | - |
person.address.subdivision | Always | - |
person.address.postalCode | Always | - |
person.address.country | Always | - |
document.number | Always | - |
attachments.documentPortrait | Always | - |
| Field | Optional | Description | Example Values |
|---|---|---|---|
documentType | Yes | The document type from which the identity data was retrieved. | ADHAR |
timestamp | Yes | The timestamp when the signed document was generated and verified. | 2025-06-01T20:43:54.472+05:30 |
timeToLive | Yes | The validity expiration timestamp for the verification document. | 2026-06-01T20:43:54 |
aadhaarNumberLastFour | Yes | The Aadhaar number (UID) value for the individual. This is only the last four digits of the Aadhaar number. | 1234 |
claims.name | Yes | The full name. | Rajesh Kumar |
claims.dateOfBirth | Yes | The date of birth. The format is YYYY-MM-DD. | 1943-08-15 |
claims.gender | Yes | The gender of the individual. Possible values: - M (Male) - F (Female) - T (Transgender) | M |
claims.address.careOf | Yes | The address's care-of field. This indicates that mail should be delivered to an individual through another person or entity who is a known resident at the address. | S/O: Priya Kumari |
claims.address.country | Yes | The address's country. This is usually formatted as an alpha-2 country code, but localized output may instead contain the country name as written on the document. | IN |
claims.address.district | Yes | The address's district. | Ahmedabad |
claims.address.house | Yes | The identifier for the house address. | 12 |
claims.address.location | Yes | The location or locality that helps identify where the address is within a city. | Navrangpura |
claims.address.landmark | Yes | A landmark near the address. | Near City Mall |
claims.address.postalCode | Yes | The address's postal code. | 226010 |
claims.address.postOffice | Yes | The address's post office. | Navrangpura |
claims.address.state | Yes | The address's state or union territory. | Gujarat |
claims.address.street | Yes | The address's street name. | Mahatma Gandhi Road |
claims.address.subdistrict | Yes | The address's subdistrict. | Vejalpur |
claims.address.villageTownCity | Yes | The address's village/town/city. | Ahmedabad |
localizedClaims.language.languageCode | Yes | The language code for the localized claims. | 05 |
localizedClaims.language.languageName | No | The language name for the localized claims. This is Trinsic mapping the language from the code. The mapping comes from the spec, however, the code may not always reflect with the actual language used in the localized claims. Use this as a reference. Possible values: - Assamese (01) - Bengali (02) - Gujarati (05) - Hindi (06) - Kannada (07) - Malayalam (11) - Manipuri (12) - Marathi (13) - Oriya (15) - Punjabi (16) - Tamil (20) - Telugu (21) - Urdu (22) | Gujarati |
localizedClaims.name | Yes | The full name. | રાજેશ કુમાર |
localizedClaims.address.careOf | Yes | The address's care-of field. This indicates that mail should be delivered to an individual through another person or entity who is a known resident at the address. | પિતા: પ્રિયા કુમારી |
localizedClaims.address.country | Yes | The address's country. This is usually formatted as an alpha-2 country code, but localized output may instead contain the country name as written on the document. | ભારત |
localizedClaims.address.district | Yes | The address's district. | અમદાવાદ |
localizedClaims.address.house | Yes | The identifier for the house address. | 12 |
localizedClaims.address.location | Yes | The location or locality that helps identify where the address is within a city. | નવરંગપુરા |
localizedClaims.address.landmark | Yes | A landmark near the address. | સિટી મોલ પાસે |
localizedClaims.address.postalCode | Yes | The address's postal code. | 226010 |
localizedClaims.address.postOffice | Yes | The address's post office. | નવરંગપુરા |
localizedClaims.address.state | Yes | The address's state or union territory. | ગુજરાત |
localizedClaims.address.street | Yes | The address's street name. | મહાત્મા ગાંધી રોડ |
localizedClaims.address.subdistrict | Yes | The address's subdistrict. | વેજલપુર |
localizedClaims.address.villageTownCity | Yes | The address's village/town/city. | અમદાવાદ |
documentSignatureValidated | Yes | Whether our own validation of the Aadhaar document signature and certificate chain succeeded. When the signed document (e.g. Digilocker XML) is available, we validate it using the standard CCA/SafeScrypt chain. When the document is not returned, the signature cannot be validated and this is false. Some providers (e.g. Signzy) also supply a separate DSC validation indicator in the webhook payload; that is independent of this flag, which reflects only our validation. | true |
Frequently Asked Questions
What if a user does not have an account with DigiLocker?
Anyone registered with Aadhaar can create a DigiLocker account on the fly during the verification flow, they will just need to complete a couple additional steps.
How can a user sign in to DigiLocker?
Users can sign in with their mobile number, username, or via another identifier like Aadhaar number.
Is the PIN required?
The user can select “PIN less authentication” within the DigiLocker interface to skip the PIN. The interface is fully controlled by DigiLocker, so we’re not able to control what they choose.
Can we change the language on the Digilocker consent screen?
At this time we cannot change the language on the consent screen. If a relying party has an entity in India, they could get registered and then their name could be displayed within the Digilocker consent screen.
Which documents can be fetched from DigiLocker through this integration?
Right now our integration supports the e-Aadhaar card. We plan to support PAN card and Driving License in the future.
Can users sign in to DigiLocker with Jan Parichay or ePramaan?
These options are currently not supported in our DigiLocker integration. Jan Parichay is a government single sign-on (SSO) system used by citizens and government users. ePramaan is a government authentication framework, primarily used for legacy or department-linked government accounts. Users should choose one of the three sign in methods (mobile number, username or their Aadhaar number.
Updated 20 days ago
