JDM Import Chassis Number and VIN OCR
Where the VIN is on a jdm import, 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 JDM Import
Vehicles built for the Japanese domestic market usually carry a chassis (frame) number instead of a 17-character VIN, and an importing country may assign a VIN later.
Capture and Extract It Reliably
Capture both the original chassis number and any assigned VIN, and record which is which. 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
- Import compliance paperwork: Replace manual transcription of 17-character identifiers with a photo.
- Export certificate matching: Attach the extracted VIN and its source surface to the record for audit.
- Dealer stock intake: Send low-confidence reads to a review queue instead of saving them.
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
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 jdm import?
Vehicles built for the Japanese domestic market usually carry a chassis (frame) number instead of a 17-character VIN, and an importing country may assign a VIN later.
How do I get a clean photo?
Capture both the original chassis number and any assigned VIN, and record which is which.
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
Rental Fleet VIN Capture at Check-Out and Return
Where the VIN is on a rental fleet, how to photograph it so it reads reliably, and how to extract it with a VIN OCR API.
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.
Tesla VIN Location and VIN OCR API
Where to find the VIN on a Tesla, what its first characters mean, and how to read it from a photo with an API and decode the model year.
MINI VIN Location and VIN OCR API
Where to find the VIN on a MINI, what its first characters mean, and how to read it from a photo with an API and decode the model year.
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.
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.
RV and Motorhome VIN OCR API
Where the VIN is on a rv and motorhome, how to photograph it so it reads reliably, and how to extract it with a VIN OCR API.
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.
Node.js VIN OCR API
Tutorial: How to use the StructOCR Node.js SDK to extract data from VINs. Upload an image for a free test! Includes code samples and JSON schema.
Jeep VIN Location and VIN OCR API
Where to find the VIN on a Jeep, what its first characters mean, and how to read it from a photo with an API and decode the model year.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Add VIN OCR to Your v0 App in 5 Minutes
Step-by-step guide to integrating the StructOCR VIN scanner API into a v0 by Vercel app. Build automotive and fleet tools with zero backend.
VIN Barcode Scanner vs. VIN OCR API: Which is Better for Mobile Apps?
Deciding between local VIN barcode scanners and cloud-based VIN OCR API for your mobile app? Learn why OCR is the required fallback for damaged or chassis-stamped VINs.
Apple Vision Framework / ML Kit vs. StructOCR VIN API
Why generic on-device text recognition frameworks fail at decoding VINs, and when to switch to a specialized automotive API.
Add VIN OCR to Your Bolt.new App in 5 Minutes
Step-by-step guide to integrating the StructOCR VIN scanner API into a Bolt.new app. Build automotive and fleet tools right in your browser.
Add VIN OCR using Cursor in 5 Minutes
Step-by-step guide to integrating the StructOCR VIN scanner API using the Cursor AI code editor. Build automotive and fleet tools rapidly.
Add VIN OCR to Your Lovable.dev App in 5 Minutes
Step-by-step guide to integrating the StructOCR VIN scanner API into a Lovable.dev app. Build automotive and fleet tools with zero backend required.
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.