ID Scanning API
Our ID scanning and parsing API allows you to read government issued IDs from the US and Canada inside applications in real time. Available 24/7 with a reliable backup server.

Powering ID Verification Technology
Our ID scanning API powers native and web applications around the globe, using a variety of development frameworks.






Request A Quote
API usage is based on the number of monthly scans and scales based on scan volume. Use our Quote Request Form, or give us a call at (504) 434-0222, and a representative will provide custom pricing.
Why implement digital identity verification?
In a mobile-first world consumers expect to be able to initiate and complete transactions from their phone, in a matter of seconds. Using our ID scanning and ID parsing API you can integrate robust identity verification into your application or workflows.

ID Parsing From 2D Barcode
Studies show that nearly 1 in 2 records in most CRMs contains a typo. You can completely eliminate data entry errors on identity data with ID parsing. ID parsing takes the raw information stored in the barcode and formats it for instant entry into your existing database or form. ID parsing is more accurate and reliable than optical character recognition (OCR).

Automate Signs Ups & Enrollment
Remove unnecessary paper and processes from your onboarding. Digital identity verification and ID scanning allows your customers to sign up at their own pace, and gives your team confidence in the accuracy and validity of their information.

Use our API to check IDs
We perform best-in-class 2D barcode analysis to help detect and catch suspicious IDs.

Perform Facial Recognition
Leverage our facial recognition API or SDK to add face matching to your application. Match faces in photos and video to the image on an ID.
ID Scanning API Resources

Documentation
Easy to peruse documentation to help you make the most of our SDKs and APIs.

Basic Demo
Interact with a demo that can scan and parse IDs.

API Examples
View working code and sample projects that utilize our ID Scanning API.
What fields can be returned in the API response?
We have the ability to return more than 40 fields on a scanned drivers license, including, but not limited to:

RESTful Web Service – ID 2D Barcode PD417 (string)
The RESTful API parses the information stored in the 2D barcode.
POST https://app1.idware.net/DriverLicenseParserRest.svc/Parse HTTP/1.1
Host: app1.idware.net
Content-Type: text/json
Cache-Control: no-cache
{"authKey":"[authKey]", "text" : "[base-64 encoded driver license text]"}

RESTful Web Service – Parse an image of the Back of a Drivers’ License
This RESTful API will convert the image of the back of an ID or drivers license and convert it into a string of characters for use with our parsing API.
POST https://app1.idware.net/DriverLicenseParserRest.svc/Parse HTTP/1.1
Host: app1.idware.net
Content-Type: text/json
Cache-Control: no-cache
{"authKey":"[authKey]", "text" : "[base-64 encoded driver license text]"}

RESTful Web Service to OCR an image of the Front of a Driver’s License
This RESTful API is used to perform optical character recognition (OCR) on the front of a drivers’ license. It is ideal for instances when you want to perform front/back matching on a drivers license, or in instances in which the back of the ID may not be available for parsing.
POST https://ocr.idware.net/api/ocr/recognize
Frequently Asked Questions & Samples
Pricing is based on volume. We have a low monthly minimum, which covers up to 1,000 ID scans/month.
Download C# Sample Project (Image processing using Web API)
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using RestSharp; namespace cs_rest { class Program { static void Main(string[] args) { const string authKey = ""; var client = new RestClient("https://app1.idware.net"); // Image file var imageFile = File.ReadAllBytes(@""); var data = Convert.ToBase64String(imageFile); var requestImage = new RestRequest("/DriverLicenseParserRest.svc/ParseImage", Method.POST) { RequestFormat = DataFormat.Json }; requestImage.AddHeader("Content-Type", "text / json"); requestImage.AddBody(new { authKey, data}); var responseImage = client.Execute(requestImage); var contentImage = responseImage.Content; var textFile = File.ReadAllText(@""); var text = Convert.ToBase64String(Encoding.ASCII.GetBytes(textFile)); var request = new RestRequest("/DriverLicenseParserRest.svc/Parse", Method.POST) { RequestFormat = DataFormat.Json }; request.AddBody(new { authKey, text }); request.AddHeader("Content-Type", "text / json"); var response = client.Execute(request); var content = response.Content; } } }
var request1 = new RestRequest("/DriverLicenseParserRest.svc/ValidateLicenseNumber", Method.POST) { RequestFormat = DataFormat.Json }; request1.AddBody(new { authKey, licenseNumber = "123445", jurisdictionCode = "WA", countryCode = "USA"}); request1.AddHeader("Content-Type", "text / json"); var response1 = client.Execute(request1); var content1 = response1.Content;
Validation Codes:
INVALIDNUMFORMAT – ID# does not match the format provided by the issuing state
Scan results are typically returned in less than 1 second. However, there are some variables depending on the application. If you are using our authentication tools to perform a more robust set of checks, or comprehensive fake ID detection, then results can take up to 15 seconds per scan.
The API is updated between 10 and 15 times annually based on the number of new IDs published in the year. We update the API as frequently as needed to ensure a high degree of compatibility with all North American IDs. Additionally, we are frequently adding new ID formats, such as military IDs, hunting licenses, firearm licenses, and medical marijuana cards to improve the size and breadth of our ID library.
It is a RESTful API.

Images should ideally be no more than 1500px wide, with a resolution no less than 96dpi (150dpi is recommended). JPEG compression should be no less than 15%.
ID Parsing SDKs
Would you rather embed ID scanning and parsing inside your application? Download our easy-to-use SDKs which work offline and can be used inside native applications.