Weighbridge Ticket
OCR API

Extract ticket, vehicle, material, gross, tare, and net weight from weighbridge tickets and scale slips—then validate the printed calculation automatically.

100 weighbridge ticket scans • No credit card required
POST /v1/weighbridge-ticket
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/..."}'
RESPONSE 200 OK
{
  "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 }
  }
}

Live Demo: Weighbridge Ticket OCR Scanner

No registration required. Upload a file to test the extraction.

1
Upload
2
Results

Drop files here or click to browse

JPG · PNG · WebP  ·  up to 500 files · max 4.5 MB each

No files selected
Need more testing? Create a free account to get 200 free credits (equals 100 weighbridge ticket scans).

Ticket Data Extraction

More than OCR text: a complete weighbridge record

StructOCR turns variable scale-ticket layouts into one operational schema while keeping extracted evidence separate from deterministic weight validation.

Operational Field Extraction

Read ticket, facility, parties, job, vehicle, material, timestamps, fee, operator, and notes from the visible document.

Weight Normalization

Preserve printed gross, tare, and net values while normalizing kilograms, metric tonnes, and pounds to normalized_kg.

Validation-Ready JSON

Return calculated net, printed difference, pass state, confidence, needs_review, and machine-readable review reasons.

Weighbridge OCR API key features

Gross, Tare & Net

Extract every printed weight while preserving the original text, numeric value, and unit.

Deterministic Validation

Recalculate gross minus tare in application code and compare it with the printed net weight.

Vehicle & Load Data

Capture vehicle, trailer, driver, material, customer, supplier, job, and order details.

Images & PDFs

Process Base64-encoded JPG, PNG, WebP, and PDF content through one JSON endpoint.

Stable JSON Schema

Receive consistent nested fields, normalized values, confidence, and review reasons.

Wrong-Document Rejection

Unrelated receipts and documents are marked as not_a_weighbridge_ticket.

Multiple Ticket Types

Handle quarry, disposal, grain, loading, offloading, and generic weighbridge layouts.

Review-Ready Output

Route exceptions using is_valid, confidence, needs_review, and machine-readable reasons.

Weighbridge ticket OCR workflow connecting printed ticket, vehicle, gross, tare, and net fields to structured JSON

How it works

Move from photographed ticket to reviewable operational data in four steps.

01

Base64 JSON Request

Send a complete ticket image or PDF in the img property and authenticate with the x-api-key header.

02

Ticket & Field Extraction

The model classifies the ticket family and extracts visible ticket, vehicle, material, party, job, timestamp, fee, and weight fields.

03

Normalize & Validate

Application code normalizes supported units to kilograms and checks the printed net against gross minus tare.

04

Structured Decision

Receive JSON containing the source values, normalized data, confidence, and explicit review reasons.

response.json
{
  "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

Fields you can extract

Use the normalized schema for automation while retaining raw printed weight values for review and audit workflows.

Document Type
Ticket Number
Facility & Scale ID
Supplier & Customer
Job & Order Number
Vehicle Registration
Trailer Registration
Fleet Number
Driver Name
Material & Code
Gross Weight
Tare Weight
Net Weight
Weigh-in & Weigh-out
Fee & Currency
Validation & Review Reasons

Developer SDKs

Official SDKs for Python and Node.js

Handle local file validation, Base64 encoding, authentication, and the weighbridge request while keeping your API key on the server.

Why developers use StructOCR for weighbridge tickets

A focused API contract for operational documents, with the extraction evidence and review decision kept transparent.

Faster Integration

Use one documented endpoint instead of maintaining layout-specific OCR and parsing rules.

Explicit Error Contract

Handle authentication, credit, file-size, format, and upstream errors through documented HTTP statuses.

Transparent Validation

Keep extracted evidence separate from deterministic arithmetic and downstream acceptance rules.

SDKs & Documentation

Start with Python, Node.js, or direct REST examples and a complete field reference.

Integration tutorials

Use the official SDK or a direct REST request in your existing stack.

Workflow guides

Explore specific scale-house, quarry, disposal, JSON, and validation use cases.

Ready to Build with StructOCR?

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

Frequently Asked Questions