Operational Field Extraction
Read ticket, facility, parties, job, vehicle, material, timestamps, fee, operator, and notes from the visible document.
Extract ticket, vehicle, material, gross, tare, and net weight from weighbridge tickets and scale slips—then validate the printed calculation automatically.
curl -X POST \
https://api.structocr.com/v1/weighbridge-ticket \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"img":"data:image/jpeg;base64,/9j/..."}'{
"success": true,
"data": {
"ticket_number": "1042",
"vehicle": { "registration": "AB12 CDE" },
"weights": {
"gross": { "value": 25330, "unit": "kg" },
"tare": { "value": 6770, "unit": "kg" },
"net": { "value": 18560, "unit": "kg" }
},
"validation": { "weight_check_passed": true }
}
}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
Ticket Data Extraction
StructOCR turns variable scale-ticket layouts into one operational schema while keeping extracted evidence separate from deterministic weight validation.
Read ticket, facility, parties, job, vehicle, material, timestamps, fee, operator, and notes from the visible document.
Preserve printed gross, tare, and net values while normalizing kilograms, metric tonnes, and pounds to normalized_kg.
Return calculated net, printed difference, pass state, confidence, needs_review, and machine-readable review reasons.
Extract every printed weight while preserving the original text, numeric value, and unit.
Recalculate gross minus tare in application code and compare it with the printed net weight.
Capture vehicle, trailer, driver, material, customer, supplier, job, and order details.
Process Base64-encoded JPG, PNG, WebP, and PDF content through one JSON endpoint.
Receive consistent nested fields, normalized values, confidence, and review reasons.
Unrelated receipts and documents are marked as not_a_weighbridge_ticket.
Handle quarry, disposal, grain, loading, offloading, and generic weighbridge layouts.
Route exceptions using is_valid, confidence, needs_review, and machine-readable reasons.

Move from photographed ticket to reviewable operational data in four steps.
Send a complete ticket image or PDF in the img property and authenticate with the x-api-key header.
The model classifies the ticket family and extracts visible ticket, vehicle, material, party, job, timestamp, fee, and weight fields.
Application code normalizes supported units to kilograms and checks the printed net against gross minus tare.
Receive JSON containing the source values, normalized data, confidence, and explicit review reasons.
{
"success": true,
"data": {
"document_type": "generic_weighbridge_ticket",
"ticket_number": "1042",
"facility": { "name": "North Yard Scale", "scale_id": "2" },
"parties": { "customer": "Example Customer" },
"job": { "job_number": "JOB-88" },
"vehicle": { "registration": "AB12 CDE" },
"material": { "description": "Recycled aggregate", "code": "RA20" },
"weights": {
"gross": { "value": 25330, "unit": "kg", "normalized_kg": 25330 },
"tare": { "value": 6770, "unit": "kg", "normalized_kg": 6770 },
"net": { "value": 18560, "unit": "kg", "normalized_kg": 18560 }
},
"confidence": "high",
"is_valid": true,
"validation": {
"calculated_net_kg": 18560,
"difference_kg": 0,
"weight_check_passed": true,
"needs_review": false,
"review_reasons": []
}
}
}Data Output
Use the normalized schema for automation while retaining raw printed weight values for review and audit workflows.
Developer SDKs
Handle local file validation, Base64 encoding, authentication, and the weighbridge request while keeping your API key on the server.
Python, FastAPI, Django, and Flask
pip install --upgrade structocrView Python SDK documentation Node.js, TypeScript, Express, and Next.js
npm install structocrView Node.js SDK documentation A focused API contract for operational documents, with the extraction evidence and review decision kept transparent.
Use one documented endpoint instead of maintaining layout-specific OCR and parsing rules.
Handle authentication, credit, file-size, format, and upstream errors through documented HTTP statuses.
Keep extracted evidence separate from deterministic arithmetic and downstream acceptance rules.
Start with Python, Node.js, or direct REST examples and a complete field reference.
Use the official SDK or a direct REST request in your existing stack.
Explore specific scale-house, quarry, disposal, JSON, and validation use cases.
Get your API key in under a minute. New users receive 200 free credits to test Passport, VIN, License Plate, Container, Receipt, HIN, Driver License, ID Card, Vehicle Registration, Weighbridge Ticket, ATM Cassette and Invoice OCR APIs.
✓ No credit card required · ✓ Instant API key · ✓ Full API access