The world-class ID parsing engine TokenWorks has maintained for 20 years, now available as a simple API.
Sign up on idscanner.com and get instant access.
Drop the service into your app, website, or kiosk.
Send an ID scan or photo and get back clean, structured data right away.
*Fields not present on the barcode return as empty strings with no nulls or missing keys.
TokenWorks updates the parsing engine as IDs change, so your data stays clean and accurate year after year.
Our algorithms flag barcodes that are poorly formatted or don't comply with official ID standards — common signs of a fraudulent document.
We continuously refine detection as new fake-ID patterns appear across North America.
The parsing engine reads a fake ID exactly the way it reads a real one — a well-made counterfeit returns the same clean, structured fields as a genuine document. Parsing tells you what the barcode says; it can’t tell you whether the ID is real. That’s what Barcode Detective is for.
Turn on the optional Barcode Detective add-on and every ID is checked against official formatting standards and our proprietary verification rules — the precise structural details that genuine state and provincial IDs follow and that fake IDs so often get wrong. Hundreds of data points are analyzed in an instant, and each barcode is checked against a shared national database of 500,000+ confirmed fakes that grows with every scan.
Checks each barcode against official ID formatting standards and our proprietary rules to flag the anomalies counterfeiters miss.
Every scan is checked against a shared national database of confirmed fake IDs, getting smarter over time.
Green for a recognized valid format, yellow for unclassified or previously failed, red for a known fake pattern.
Use Image Decode to let your users snap a photo of their license and auto-fill registration, onboarding, or checkout forms.
Connect a hardware scanner and get structured fields back in an instant.
Verify identity at account opening. Auto-populate forms and reduce manual data-entry errors across KYC, account provisioning, and enrollment flows.
Extract date of birth and expiration date to confirm age at point of sale for alcohol, tobacco, cannabis, and age-restricted entertainment.
| Code | Meaning |
|---|---|
| 200 | Success — parsed fields returned. |
| 400 | Malformed request (bad hex, missing image). |
| 401 | Token missing, invalid, or expired. |
| 403 | Your plan doesn't include this endpoint. |
| 415 | Wrong Content-Type for the endpoint. |
| 422 | Request received but barcode couldn't be parsed. No quota consumed. |
| 429 | Rate limit hit. Response body tells you which window. |
| 500 | Server error — our ops team is notified. No quota consumed. |
*Every error response includes an error_message field so you can surface a useful message to your own users.
Your API token is a 256-bit key encoded as a 44-character base64 string. Every request is authenticated via a Bearer token in the Authorization header over HTTPS. There are no secondary keys, client secrets, or OAuth flows. One token, one header.
No. If a request fails server-side as bad hex data, an unreadable image, or an internal error, the quota counter is rolled back. Only requests that return a 200 OK with parsed data consume your allowance.
No. The Cloud Parsing API is a standard REST API. Any language or tool that can make an HTTP POST request can integrate, no SDKs, no dependencies, no packages to maintain.
The API parses PDF417 barcodes, which is the standard symbology used on U.S. driver’s licenses and state-issued identification cards.
JPEG and PNG. For best results, make sure the barcode fills most of the frame, use even and diffuse lighting, hold the camera roughly perpendicular to the ID, and aim for at least 1,000 pixels on the long edge.
It comes back as an empty string. The response is always the same, every field is included in every response, so your code never has to handle missing keys or null values.
A JSON object containing an ascii field (the raw decoded payload for debugging) and a fields object with 25 structured values including name, date of birth, address, license number, expiration date, physical descriptors, Real ID status, and more.
Tell us about your project and we'll get you set up with API access.