Passport OCR — Extract Passport Details
Upload an Indian passport image and extract passport number, name, DOB, issue/expiry date, and MRZ data automatically.
curl -X POST "https://production.deepvue.tech/v1/documents/extraction/ind_passport" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN (JWT)" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"document1": "example_string",
"document2": "example_string",
"name": "John Doe"
}'
import requests
import json
url = "https://production.deepvue.tech/v1/documents/extraction/ind_passport"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (JWT)",
"x-api-key": "YOUR_API_KEY"
}
data = {
"document1": "example_string",
"document2": "example_string",
"name": "John Doe"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://production.deepvue.tech/v1/documents/extraction/ind_passport", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (JWT)",
"x-api-key": "YOUR_API_KEY"
},
body: JSON.stringify({
"document1": "example_string",
"document2": "example_string",
"name": "John Doe"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"document1": "example_string",
"document2": "example_string",
"name": "John Doe"
}`)
req, err := http.NewRequest("POST", "https://production.deepvue.tech/v1/documents/extraction/ind_passport", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN (JWT)")
req.Header.Set("x-api-key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://production.deepvue.tech/v1/documents/extraction/ind_passport')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN (JWT)'
request['x-api-key'] = 'YOUR_API_KEY'
request.body = '{
"document1": "example_string",
"document2": "example_string",
"name": "John Doe"
}'
response = http.request(request)
puts response.body
{
"code": 200,
"transaction_id": "0ff82adf-a9d6-4495-88f7-aabeea78ddb3",
"message": "Document processed successfuly",
"data": {
"address": "B - XXX / Y STREET NO.X XXXXXX , DELHI PIN : 1100XX, DELHI, INDIA",
"date_of_birth": "1994-01-19",
"date_of_expiry": "20XX-XX-28",
"date_of_issue": "20XX-XX-29",
"district": "DELHI",
"fathers_name": "KANDPAL",
"file_number": "DL1069718453416",
"first_name": "CHANDRA SHEKHAR",
"gender": "MALE",
"id_number": "NXXXXXXX",
"is_scanned": false,
"last_name": "KANDPAL",
"mothers_name": "INDIRA KANDPAL",
"name_of_spouse": null,
"name_on_card": "CHANDRA SHEKHAR KANDPAL",
"nationality": "INDIAN",
"pincode": "1100XX",
"place_of_birth": ", DELHI",
"place_of_issue": "DELHI",
"state": "Delhi"
}
}
{
"detail": "Inactive client_id"
}
{
"detail": "Not authenticated"
}
{
"detail": "Not a valid token"
}
{
"transaction_id": "string",
"code": 422,
"message": "Empty document. Valid base64 required."
}
{
"detail": "Internal Server Error"
}
/v1/documents/extraction/ind_passport
ACCESS_TOKEN generated from the authorize endpoint. Should be included in the header as Bearer .
The CLIENT_SECRET provided to you. This header parameter is required for authentication purposes.
The media type of the request body
The main document being submitted for extraction of respective information.
The secondary document being submitted along with the primary document for extraction of respective information.
The name of the document being submitted for extraction of respective information.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token (JWT). ACCESS_TOKEN generated from the authorize endpoint. Should be included in the header as Bearer .
API Key for authentication. The CLIENT_SECRET provided to you. This header parameter is required for authentication purposes.
Body
The main document being submitted for extraction of respective information.
The secondary document being submitted along with the primary document for extraction of respective information.
The name of the document being submitted for extraction of respective information.
Responses
Overview
The Passport OCR API helps you extract details from an image of an Indian passport document in real-time. It extracts relevant fields like id_number, name, guardian_name, dob, address, and more from the image of a Passport document in the form of key-value pairs.
The API accepts either a base64-encoded string or a publicly accessible URL of the document. Upon successful processing, the API returns personal identifiers (name, first/last name, spouse name), identity numbers (passport number, file number), biographical data (date of birth, gender, nationality), family information (father's name, mother's name), location details (address, district, state, pincode, place of birth, place of issue), and document metadata (issue date, expiry date).
Last updated 4 weeks ago
Built with Documentation.AI