US DMV Title VIN Extraction API
Automate vehicle title transfers and loan origination. Accurately extract the 17-character VIN from highly variable US DMV Titles, effortlessly bypassing state-specific security backgrounds and faded dot-matrix prints.

The Variability of 50 State Titles
Digitizing US Certificates of Title (often called 'pink slips') presents a massive standardization problem. Each of the 50 states uses a completely different document layout. More critically, these official documents are printed on colored security paper with complex guilloche watermarks to prevent forgery. To make matters worse, many state DMVs still utilize legacy dot-matrix printers, resulting in broken, faded, or misaligned characters. Traditional template-based OCR engines break constantly due to layout changes and background noise. For a deeper dive into how our API handles unstructured official forms, see our core OCR product capabilities.
StructOCR: Template-Free & Security Paper Ready
StructOCR completely eliminates the need to map templates for 50 different states. Powered by our flagship Automotive VIN OCR API, it semantically searches the entire document for the core vehicle identifier. The neural network applies advanced frequency filtering to neutralize the colored anti-counterfeit backgrounds. It intelligently reconstructs the disjointed dots of legacy printers, applying strict ISO 3779 validation to ensure the extracted string is a perfect, 17-character VIN ready for compliance checks.
Live Demo: VIN Barcode Scanner
No registration required. Upload a file to test the extraction.
Drop files here or click to browse
JPG · PNG · WebP · up to 500 files · max 4.5 MB each
Ready to use this in production? Get 20 free API calls — no credit card needed.
Get 20 Free API Calls →Core Industry Applications
Auto Lending & Title Loans
Accelerate loan origination by allowing borrowers to upload a photo of their title, instantly verifying the asset against NMVTIS databases. Get 20 free credits to test your own documents.To streamline your vehicle intake process without any integration, try capturing data effortlessly with our free VIN barcode scanner directly from your browser.
Dealership F&I Offices
Finance and Insurance managers can instantly digitize trade-in titles, eliminating manual data entry errors that delay state registration transfers.
Insurance Total Loss Processing
Automate the intake of branded or salvage titles when processing total loss claims, ensuring the correct vehicle is retired.
Wholesale Auction Intake
Auction houses can rapidly process incoming inventory by scanning titles in bulk, mapping the extracted VIN to the physical vehicle.
Technical Specs
- Dot-Matrix Reconstruction: Specifically trained to connect faded, broken characters typical of legacy DMV printers
- Validation: Built-in ISO 3779 rules & Length constraint (strictly 17 chars)
- Latency: < 1.2s per document via API
- Data Privacy: Zero data retention (SOC2 Compliant)
Key Features
- Template-Free Architecture: Works universally across all 50 US state title layouts without manual mapping.
- Security Paper Neutralization: Filters out complex colored backgrounds and anti-forgery watermarks.
- Format Support: Accepts raw Base64 or Data URIs (JPG, PNG, WebP up to 4.5MB).
Integration & AI Prompts
Call the endpoint directly via our REST API, or copy the prompt below into Cursor, Lovable, or v0 to instantly generate your frontend application.
import requests
import base64
# 💰 Save 30%+ vs competitors. Get 20 free credits instantly:
# 👉 https://structocr.com/register
# 1. Prepare Base64 Image
with open("us_dmv_title.jpg", "rb") as image_file:
base64_image = base64.b64encode(image_file.read()).decode('utf-8')
url = "https://api.structocr.com/v1/vin"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"img": base64_image
}
try:
print("Scanning US DMV Title...")
response = requests.post(url, headers=headers, json=payload)
result = response.json()
if result.get('success'):
data = result['data']
print("✅ Extraction Successful!")
print(f"VIN: {data.get('vin')}")
print(f"Confidence: {data.get('confidence')}")
print(f"Carrier Type: {data.get('carrier_type')}")
else:
print(f"❌ Extraction Failed: {result.get('error')} - {result.get('message')}")
except Exception as e:
print(f"An error occurred: {e}")Standardized JSON Output
The API returns a clean, structured payload containing the validated 17-character VIN, structural confidence, and identifies the carrier as a document.
{
"success": true,
"data": {
"vin": "1G1RC6E45BU123456",
"confidence": "High",
"carrier_type": "document"
}
}Frequently Asked Questions
Do I need to tell the API which state the title is from?
No. StructOCR is completely template-agnostic. It semantically searches the document for the ISO 3779 structural signature, regardless of whether it's a California, Texas, or Florida title.
Can it read the VIN if the title was printed on an old dot-matrix printer?
Yes. Our deep learning models are trained to recognize and reconstruct 'broken' or disjointed characters commonly produced by legacy DMV impact printers.
Does the API extract the owner's name or address?
This specific endpoint is highly optimized for extracting the 17-character VIN. It intentionally ignores PII (Personally Identifiable Information) like names and addresses to maintain high speed and SOC2 compliance.
Explore More Automotive VIN OCR Solutions
Universal VIN OCR API Solution
Our flagship API for automated vehicle identification. Works across windshields, documents, and physical plates with 99% accuracy.
Arabic Vehicle Registration VIN OCR
Extract 17-character VINs (Chassis Numbers) from Arabic registration cards. High-accuracy OCR featuring ISO 3779 validation and auto-correction.
Window-Mounted Auction Sticker VIN OCR
Extract 17-character VINs from inventory tags placed behind vehicle windshields. High-accuracy OCR that ignores massive lot numbers and filters out glass reflections.
Auto Auction Sticker VIN OCR
Extract 17-character VINs from auto auction windshield stickers and dealership inventory tags. High-accuracy OCR that ignores lot numbers and barcode noise.
Precise Data Extraction and Seamless
Integration with AI-powered OCR API.
Empower your solutions with automated data extraction by
integrating best-in class StructOCR via API seamlessly.
No credit card required • Full API access included