Commercial Van VIN OCR for Upfit and Delivery Fleets

Where the VIN is on a commercial van, how to photograph it so it reads reliably, and how to extract it with a VIN OCR API.

Where to Find the VIN on a Commercial Van

Cargo and passenger vans carry the VIN on the windshield plate and driver-side door-jamb label; upfitted vans often add a second-stage manufacturer label.

Capture and Extract It Reliably

Separate the original VIN from upfitter labels so the right identifier reaches the fleet record. Then send the photo to the VIN OCR API, which returns the VIN and the surface it was read from. Test with the free VIN scanner.

Where This Fits

  • Delivery fleet onboarding: Replace manual transcription of 17-character identifiers with a photo.
  • Upfit work orders: Attach the extracted VIN and its source surface to the record for audit.
  • Lease returns: Send low-confidence reads to a review queue instead of saving them.
Need more testing? Create a free account to get 200 free credits (equals 200 VIN scans).

Python Example

Send the image as Base64 JSON and read the VIN fields.

Prerequisite: Python 3.9+, `pip install requests`, and a STRUCTOCR_API_KEY

PYTHON EXAMPLE
import base64
import os
import requests

with open("vin.jpg", "rb") as image_file:
    image = base64.b64encode(image_file.read()).decode("ascii")

response = requests.post(
    "https://api.structocr.com/v1/vin",
    headers={"x-api-key": os.environ["STRUCTOCR_API_KEY"]},
    json={"img": image},
    timeout=30,
)
response.raise_for_status()
data = response.json()["data"]
print("vin:", data.get("vin"))
print("confidence:", data.get("confidence"))
print("carrier_type:", data.get("carrier_type"))

Technical Specs

  • •Endpoint: POST https://api.structocr.com/v1/vin
  • •Authentication: x-api-key request header
  • •Inputs: JPG, PNG, or WebP as Base64 JSON; maximum 4.5MB
  • •Price: 1 credit per successful request; failed requests are not billed
  • •Free trial: 200 free credits on sign-up, no credit card required
  • •Output: vin, confidence, and carrier_type

Key Features

  • •Works on many surfaces: Plates, stamped metal, labels, documents, and screens.
  • •Confidence returned: Route low-confidence results to review.
  • •Per-success billing: You pay 1 credit only when a VIN is returned.
  • •Server-side key: Keep your API key on the backend, not in mobile apps.

Sample VIN Response

Illustrative response using the Wikipedia sample VIN. The API returns the VIN as read; decoding happens in a separate step.

{
  "success": true,
  "data": {
    "vin": "1M8GDM9AXKP042788",
    "confidence": "High",
    "carrier_type": "metal_plate"
  }
}

Frequently Asked Questions

Where is the VIN on a commercial van?

Cargo and passenger vans carry the VIN on the windshield plate and driver-side door-jamb label; upfitted vans often add a second-stage manufacturer label.

How do I get a clean photo?

Separate the original VIN from upfitter labels so the right identifier reaches the fleet record.

Can the API decode the vehicle details?

It returns the VIN. Use a VIN decoding service for manufacturer, model, and year.

You May Also Like

Related tutorials, platform guides, and comparisons

Tutorial

Python VIN OCR API

Tutorial: How to use the StructOCR Python SDK to extract data from VIN (Vehicle Identification Number)s. Upload an image for a free test! Includes code samples and JSON schema.

Python · VIN
Tutorial

VIN OCR API Pricing and Cost per Scan

What VIN OCR costs with StructOCR: 1 credit per successful scan, prepaid credits that never expire, and no charge for failed requests.

VIN
Tutorial

Chevrolet VIN Location and VIN OCR API

Where to find the VIN on a Chevrolet, what its first characters mean, and how to read it from a photo with an API and decode the model year.

VIN
Tutorial

Semi-Truck and Tractor VIN OCR API

Where the VIN is on a semi-truck, how to photograph it so it reads reliably, and how to extract it with a VIN OCR API.

VIN
Tutorial

Reading Pre-1981 Classic Car VINs and Serial Numbers

Where the VIN is on a classic car (pre-1981), how to photograph it so it reads reliably, and how to extract it with a VIN OCR API.

VIN
Tutorial

Jaguar VIN Location and VIN OCR API

Where to find the VIN on a Jaguar, what its first characters mean, and how to read it from a photo with an API and decode the model year.

VIN
Tutorial

C# VIN OCR API

Upload an image for a free test! Tutorial: How to use the StructOCR C# Client to extract data from VIN (Vehicle Identification Number)s. Includes code samples and JSON schema.

C# · VIN
Tutorial

Java VIN OCR API

Tutorial: How to use the StructOCR Java Client to extract data from VINs. Upload an image for a free test! Includes code samples and JSON schema.

Java · VIN
Tutorial

Go VIN OCR API

Upload an image for a free test! Tutorial: How to use the StructOCR Go Client to extract data from VIN (Vehicle Identification Number)s. Includes code samples and JSON schema.

Go · VIN
Tutorial

Connecticut Driver License & ID Card PDF417 API

Decode the PDF417 barcode on Connecticut driver licenses and state ID cards into AAMVA JSON, with document_kind to tell licenses from ID cards.

Driver License

Technical Comparisons & Integrations

Explore platform integrations and competitive analysis

From tutorial to production in 5 minutes.

You've seen the code. Now get your API key, grab your 200 free credits, and see it work with your own images. No credit card required.

Instant Access Cancel Anytime No Credit Card