Beta Feature — This guide covers the Infer Number
API, currently
in beta. The API is stable for production use, but features may expand based
on feedback.
Already using the Terminal49 Dashboard?
You’ve seen this feature in action — when you enter a number, we auto-suggest
the carrier. Now this same intelligence is available via API.
Why SCAC Matters
To track a shipment or container, Terminal49 needs to know which shipping line to ask (also called the vessel-operating common carrier (VOCC)). The SCAC (Standard Carrier Alpha Code) we use here is the shipping line SCAC for tracking — i.e., the carrier operating the move we’re querying for events and shipment data.| You Have | You Need | The Challenge |
|---|---|---|
Bill of Lading: MAEU123456789 | Shipping line SCAC (VOCC SCAC) | Many MBOLs do not include a prefix, and even when they do, it may not reliably identify the shipping line you need for tracking. |
Container: WHLU1234560 | Shipping line SCAC (VOCC SCAC) | The container owner code / leasing company is not always the carrier moving it, so the prefix alone is not enough. |
Booking: 987654321 | Shipping line SCAC (VOCC SCAC) | Booking formats vary widely and often contain no carrier identifier. |
Without the correct shipping line SCAC (VOCC SCAC), your tracking request can fail even if the
number is valid. The Infer API predicts the shipping line SCAC + number type to
increase the likelihood your tracking request succeeds.
How the Infer API Helps
Submit any tracking number, and the API returns:- The predicted shipping line (SCAC) — so you don’t have to guess
- The number type — container, bill of lading, or booking
- Validation results — catches typos and invalid formats before you submit
You submit a tracking number
Just the number — no need to specify the shipping line or type
We analyze the pattern
Our system uses machine learning and historical data from millions of
shipments to predict the shipping line.
You get the SCAC and confidence score
Use high-confidence results automatically, or prompt users to confirm
Create a successful tracking request
With the right SCAC, your tracking request is far more likely to succeed
Examples by Number Type
- Container Number
- Bill of Lading
- Booking Number
Container numbers follow the ISO 6346 format. While the first three letters (owner code) often indicate the owner, the container might be moved by a different shipping line (VOCC).Our system analyzes the number against tens of millions of historical records to predict which shipping line is moving the container.Example Input: What to do next:
MSCU1234567Understanding the Response
Decision Types Explained
Decision Types Explained
The
decision field tells you how confident the prediction is and what action to take:| Decision | When it’s used | What to do |
|---|---|---|
auto_select | Confidence ≥ 95% | ✅ Safe to use automatically without user confirmation |
needs_confirmation | Confidence 70-95% | ⚠️ Show suggestion, ask user to confirm |
no_prediction | Confidence < 70% or unknown | ❌ User must select carrier manually |
Validation Fields
Validation Fields
The API validates numbers before returning predictions:
| Field | Description |
|---|---|
is_valid | true if format is valid, false if invalid, null if unknown |
check_digit_passed | For containers: ISO 6346 check digit verification |
reason | If invalid, explains why (e.g., “Invalid check digit”) |
Invalid numbers may still return a carrier prediction, but you should validate
the format before creating a tracking request.
Full Response Schema
Full Response Schema
| Field | Type | Description |
|---|---|---|
number_type | string | Detected type: container, bill_of_lading, or booking |
shipping_line.decision | string | Confidence level for the prediction |
shipping_line.selected | object | Best match: scac, name, confidence |
shipping_line.candidates | array | All possible matches, ranked by confidence |
Integration Guide
For developers implementing this API, here are code examples in different languages:- JavaScript
- Python
- cURL
Rate Limits
| Setting | Value |
|---|---|
| Requests per minute | 200 |
| Rate limit header | Retry-After (seconds) |
What’s Next?
Infer Number API Reference
Full API specification with request/response schemas and try it in the
playground
Create a Tracking Request
Use the detected SCAC to start tracking your shipment
Supported Carriers
See which carriers we support and their data availability
Tracking Request Lifecycle
Learn what happens after you submit a tracking request