MRZ Scanner - API

MRZ Scanner - API

Scan MRZ from documents (Passports, Visas and ID Cards)

PresentID MRZ Detection API localizes and recognizes Machine Readable Zone / Travel Documents (MRZ / MRTD) from a single input image.

**Features**
- You don't need to adjust the camera/image to define a Region Of Interest (ROI)
-Y High accuracy in states that MRZ lines are small, far away, blurred, partially occluded, skewed or slanted
- Support all MRZ types (Travel Documents 1/2/3, MRVA, MRVB...) - regardless of the font, content, shape, or country
- Run at less than 1 second on Core i7-6700 device
- Support IOS, Android, Windows, and Mac devices.
- Easy integration with your app.

**Rules & Restrictions**
- Send data via Base64 or an image URL or an image file.
- Image size should not exceed 8 MB.
- Also, the images should not be larger than 5000 pixels and smaller than 50 pixels.

**Use Cases**
- Digital banking app
- Online Payment apps
- NeoBanking apps

Python quick start
import requests

url = "https://mrz-scanner.p.rapidapi.com/ScanMRZ"

payload = "imageBase64=%3CREQUIRED%3E"
headers = {
'content-type': "application/x-www-form-urlencoded",
'x-rapidapi-host': "mrz-scanner.p.rapidapi.com",
'x-rapidapi-key': "f485496ab8msh2ea068a0bbe333cp179f86jsn2b4afe8962dd"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)

API Documentation

Endpoints


Send document image as a Base64 string



                                                                            
POST https://zylalabs.com/api/3964/mrz+scanner+-+api/4729/send+image+as+base64
                                                                            
                                                                        

Send image as Base64 - Endpoint Features
Object Description
imageBase64 [Required]
Test Endpoint

API EXAMPLE RESPONSE

       
                                                                                                        
                                                                                                                                                                                                                            {
	"statusCode": 200,
	"statusMessage": "MRZ information has extracted completely",
	"hasError": false,
	"data": {
		"header": {
			"type": "TD3",
			"type_label": "Passport",
			"text": "P<FRASPECIMEN<<NATACHA<<<<<<<<<<<<<<<<<<<<<<\n60RF197658FRA8407122F2007058<<<<<<<<<<<<<<06",
			"box": {
				"bottomLeftX": "24",
				"bottomLeftY": "350",
				"bottomRightX": "561",
				"bottomRightY": "396",
				"topLeftX": "24",
				"topLeftY": "350",
				"topRightX": "562",
				"topRightY": "351"
			}
		},
		"fields": {
			"surname": "SPECIMEN",
			"name": "NATACHA",
			"country": "FRA",
			"country_english": "France",
			"country_native": "Frañs",
			"country_2letters": "FR",
			"nationality": "FRA",
			"nationality_english": "France",
			"nationality_native": "Frañs",
			"nationality_2letters": "FR",
			"birth_date": "840712",
			"expiry_date": "200705",
			"sex": "F",
			"sex_label": "Female",
			"document_type": "P",
			"document_number": "60RF19765",
			"optional_data": "",
			"birth_date_hash": "2",
			"expiry_date_hash": "8",
			"document_number_hash": "8",
			"optional_data_hash": "0",
			"optional_data_2": ""
		}
	}
}
                                                                                                                                                                                                                    
                                                                                                    

Send image as Base64 - CODE SNIPPETS


curl --location --request POST 'https://zylalabs.com/api/3964/mrz+scanner+-+api/4729/send+image+as+base64?imageBase64=jhgj' --header 'Authorization: Bearer YOUR_API_KEY' 

    

Scan MRZ with public address.



                                                                            
POST https://zylalabs.com/api/3964/mrz+scanner+-+api/4730/send+image+with+url
                                                                            
                                                                        

Send image with URL - Endpoint Features
Object Description
linkFile [Required]
Test Endpoint

API EXAMPLE RESPONSE

       
                                                                                                        
                                                                                                                                                                                                                            {
	"statusCode": 200,
	"statusMessage": "MRZ information has extracted completely",
	"hasError": false,
	"data": {
		"header": {
			"type": "TD3",
			"type_label": "Passport",
			"text": "P<FRASPECIMEN<<NATACHA<<<<<<<<<<<<<<<<<<<<<<\n60RF197658FRA8407122F2007058<<<<<<<<<<<<<<06",
			"box": {
				"bottomLeftX": "24",
				"bottomLeftY": "350",
				"bottomRightX": "561",
				"bottomRightY": "396",
				"topLeftX": "24",
				"topLeftY": "350",
				"topRightX": "562",
				"topRightY": "351"
			}
		},
		"fields": {
			"surname": "SPECIMEN",
			"name": "NATACHA",
			"country": "FRA",
			"country_english": "France",
			"country_native": "Frañs",
			"country_2letters": "FR",
			"nationality": "FRA",
			"nationality_english": "France",
			"nationality_native": "Frañs",
			"nationality_2letters": "FR",
			"birth_date": "840712",
			"expiry_date": "200705",
			"sex": "F",
			"sex_label": "Female",
			"document_type": "P",
			"document_number": "60RF19765",
			"optional_data": "",
			"birth_date_hash": "2",
			"expiry_date_hash": "8",
			"document_number_hash": "8",
			"optional_data_hash": "0",
			"optional_data_2": ""
		}
	}
}
                                                                                                                                                                                                                    
                                                                                                    

Send image with URL - CODE SNIPPETS


curl --location --request POST 'https://zylalabs.com/api/3964/mrz+scanner+-+api/4730/send+image+with+url?linkFile=https://i.ibb.co/HtQzJnf/mrz2.jpg' --header 'Authorization: Bearer YOUR_API_KEY' 

    

Send image as a file to API



                                                                            
POST https://zylalabs.com/api/3964/mrz+scanner+-+api/4731/send+image+by+file++multipart+formdata
                                                                            
                                                                        

Send image by file Multipart FormData - Endpoint Features
Object Description
Request Body [Required] File Binary
Test Endpoint

API EXAMPLE RESPONSE

       
                                                                                                        
                                                                                                                                                                                                                            {
	"statusCode": 200,
	"statusMessage": "MRZ information has extracted completely",
	"hasError": false,
	"data": {
		"header": {
			"type": "TD3",
			"type_label": "Passport",
			"text": "P<FRASPECIMEN<<NATACHA<<<<<<<<<<<<<<<<<<<<<<\n60RF197658FRA8407122F2007058<<<<<<<<<<<<<<06",
			"box": {
				"bottomLeftX": "24",
				"bottomLeftY": "350",
				"bottomRightX": "561",
				"bottomRightY": "396",
				"topLeftX": "24",
				"topLeftY": "350",
				"topRightX": "562",
				"topRightY": "351"
			}
		},
		"fields": {
			"surname": "SPECIMEN",
			"name": "NATACHA",
			"country": "FRA",
			"country_english": "France",
			"country_native": "Frañs",
			"country_2letters": "FR",
			"nationality": "FRA",
			"nationality_english": "France",
			"nationality_native": "Frañs",
			"nationality_2letters": "FR",
			"birth_date": "840712",
			"expiry_date": "200705",
			"sex": "F",
			"sex_label": "Female",
			"document_type": "P",
			"document_number": "60RF19765",
			"optional_data": "",
			"birth_date_hash": "2",
			"expiry_date_hash": "8",
			"document_number_hash": "8",
			"optional_data_hash": "0",
			"optional_data_2": ""
		}
	}
}
                                                                                                                                                                                                                    
                                                                                                    

Send image by file Multipart FormData - CODE SNIPPETS


    curl --location 'https://zylalabs.com/api/3964/mrz+scanner+-+api/4731/send+image+by+file++multipart+formdata' \
    --header 'Content-Type: application/json' \ 
    --form 'image=@"FILE_PATH"'


API Access Key & Authentication

After signing up, every developer is assigned a personal API access key, a unique combination of letters and digits provided to access to our API endpoint. To authenticate with the MRZ Scanner - API REST API, simply include your bearer token in the Authorization header.

Headers

Header Description
Authorization [Required] Should be Bearer access_key. See "Your API Access Key" above when you are subscribed.

Simple Transparent Pricing

No long term commitments. One click upgrade/downgrade or cancellation. No questions asked.

🚀 Enterprise
Starts at $ 10,000/Year

  • Custom Volume
  • Dedicated account manager
  • Service-level agreement (SLA)

Customer favorite features

  • ✔︎ Only Pay for Successful Requests
  • ✔︎ Free 7-Day Trial
  • ✔︎ Multi-Language Support
  • ✔︎ One API Key, All APIs.
  • ✔︎ Intuitive Dashboard
  • ✔︎ Comprehensive Error Handling
  • ✔︎ Developer-Friendly Docs
  • ✔︎ Postman Integration
  • ✔︎ Secure HTTPS Connections
  • ✔︎ Reliable Uptime

An MRZ document scanning service (Passports, Visas and ID Cards)

Fast and accurate extraction of data from MRZs. Support for multiple document types including passports, visas, and various national ID cards. Integration capability with existing systems for seamless data verification.

The API primarily uses the POST method, where you can send images of documents, and it returns the parsed MRZ data in a structured json format.

We prioritize data security by implementing industry-standard security measures such as SSL/TLS encryption for all data transmissions. We ensure that all data is handled and processed securely to maintain confidentiality and integrity.

400 Bad Request: Indicates an issue with the input data (e.g., corrupted or unclear images). 401 Unauthorized: Occurs if your API key is missing or invalid. 500 Internal exception

Zyla API Hub is, in other words, an API MarketPlace. An all-in-one solution for your developing needs. You will be accessing our extended list of APIs with only your user. Also, you won't need to worry about storing API keys, only one API key for all our products is needed.

Prices are listed in USD. We accept all major debit and credit cards. Our payment system uses the latest security technology and is powered by Stripe, one of the world’s most reliable payment companies. If you have any trouble with paying by card, just contact us at [email protected]

Sometimes depending on the bank's fraud protection settings, a bank will decline the validation charge we make when we attempt to be sure a card is valid. We recommend first contacting your bank to see if they are blocking our charges. If more help is needed, please contact [email protected] and our team will investigate further

Prices are based on a recurring monthly subscription depending on the plan selected — plus overage fees applied when a developer exceeds a plan’s quota limits. In this example, you'll see the base plan amount as well as a quota limit of API requests. Be sure to notice the overage fee because you will be charged for each additional request.

Zyla API Hub works on a recurring monthly subscription system. Your billing cycle will start the day you purchase one of the paid plans, and it will renew the same day of the next month. So be aware to cancel your subscription beforehand if you want to avoid future charges.

Just go to the pricing page of that API and select the plan that you want to upgrade to. You will only be charged the full amount of that plan, but you will be enjoying the features that the plan offers right away.

Yes, absolutely. If you want to cancel your plan, simply go to your account and cancel on the Billing page. Upgrades, downgrades, and cancellations are immediate.

You can contact us through our chat channel to receive immediate assistance. We are always online from 9 am to 6 pm (GMT+1). If you reach us after that time, we will be in contact when we are back. Also you can contact us via email to [email protected]

 Service Level
100%
 Response Time
597ms

Category:


Related APIs