BIC Bureau International des Conteneurs 3-Letter Owner Prefix Spec
Verify 3-letter BIC owner prefixes for shipping lines, container leasing companies, and rail operators. This specification documents the exact field layout, checksum rules, and validation behavior so your integration matches ISO 6346 / BIC Container Prefix Coding without reading the source standard.
⚡ Live BIC Bureau International des Conteneurs 3-Letter Owner Prefix Spec Interactive Workbench
Test real-time validation and schema parsing for BIC Bureau International des Conteneurs 3-Letter Owner Prefix Spec directly in your browser. Runs in sub-5ms with zero setup.
{
"status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Quick Summary: Verify 3-letter BIC owner prefixes for shipping lines, container leasing companies, and rail operators. Validates strictly against ISO 6346 / BIC Container Prefix Coding with sub-5ms in-memory response times.
Specification & Structural Breakdown
Technical Summary: Validates strictly against ISO 6346 / BIC Container Prefix Coding. Payloads are parsed in memory and return clean, typed JSON in milliseconds with zero data logged.
The first 3 letters of any ISO 6346 container number identify the owner or principal operator registered globally with the BIC in Paris.
| BIC Prefix | Operator Name | Headquarters |
|---|---|---|
| MSK | Maersk Line | Denmark |
| MSC | Mediterranean Shipping Company | Switzerland |
| CMA | CMA CGM Group | France |
| COSU | COSCO Shipping Lines | China |
| HLX | Hapag-Lloyd | Germany |
| ONE | Ocean Network Express | Singapore/Japan |
Parsed JSON Response Model
The edge microservice transforms input payloads into strongly-typed hierarchical JSON envelopes with sub-5ms latency:
{
"ownerCode": "MSK",
"operator": "Maersk Line",
"registered": true
}
Copy-Paste Integration Code (6 Languages)
Integrate BIC Bureau International des Conteneurs 3-Letter Owner Prefix Spec directly into your production application with native, zero-dependency code snippets in cURL, Node.js, Python, Go, C#, and a ready-to-paste Claude prompt. Get a free API key → (no credit card required):
curl --request POST \
--url "https://api.stanzaapi.com/container-validator/api/v1/container/validate" \
--header "Content-Type: application/json" \
--header "x-api-key: YOUR_API_KEY" \
--data '{
"containerNumber": "CSQU3054383",
"sizeTypeCode": "45G1"
}'const response = await fetch("https://api.stanzaapi.com/container-validator/api/v1/container/validate", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.API_KEY || "YOUR_API_KEY"
},
body: JSON.stringify({
"containerNumber": "CSQU3054383",
"sizeTypeCode": "45G1"
})
});
const data = await response.json();
console.log(data);import requests
import json
url = "https://api.stanzaapi.com/container-validator/api/v1/container/validate"
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
}
payload = {
"containerNumber": "CSQU3054383",
"sizeTypeCode": "45G1"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
url := "https://api.stanzaapi.com/container-validator/api/v1/container/validate"
payload := []byte(`{"containerNumber":"CSQU3054383","sizeTypeCode":"45G1"}`)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Add("Content-Type", "application/json")
req.Header.Add("x-api-key", os.Getenv("API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("API_KEY") ?? "YOUR_API_KEY");
var json = @"{""containerNumber"":""CSQU3054383"",""sizeTypeCode"":""45G1""}";
var payload = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.stanzaapi.com/container-validator/api/v1/container/validate", payload);
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}Integrate the StanzaAPI container-validator micro-API.
Endpoint: POST https://api.stanzaapi.com/container-validator/api/v1/container/validate
Auth header: x-api-key: YOUR_API_KEY
Content-Type: application/json
Request body:
{
"containerNumber": "CSQU3054383",
"sizeTypeCode": "45G1"
}
Rules:
- Send the request with a 2-second timeout.
- Parse the standard envelope { success, data, meta: { latency_ms, version } }.
- On failure, read { success: false, error, code } and branch on the code.
- Do not retry 4xx responses; surface the error code to the caller.
- Treat invalid-but-well-formed payloads as HTTP 200 with data.valid === false.Frequently Asked Questions & Technical Notes
Yes, international shipping containers must carry a registered 3-letter BIC code to enter customs ports.
Related ISO 6346 Container & Chassis Check-Digit Validator API Formats
Explore sibling specifications and standards in the same developer cluster:
ISO 6346 Modulo-11 Shipping Container Check Digit Formula & Step-by-Step
Step-by-step Modulo-11 check digit calculation for 11-character intermodal container numbers.
View Format →ISO 6346 4-Character Container Size and Type Code Directory
Decode ISO 6346 4-character size and type codes into precise metric and imperial dimensions and cargo types.
View Format →ISO 6346 Equipment Category Identifiers (U, J, Z)
Understand the 4th position equipment category identifier letters (U, J, Z) in container numbers.
View Format →Complementary Enterprise APIs
Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols:
GS1 2027 Barcode & QR Decoder →
Decode SSCC-18 pallet tags, serial logistics identifiers, and GS1 Digital Link URIs.
IATA Cargo & Air Waybill Validator →
Validate 11-digit AWB prefixes and airline codes for multimodal air-sea freight.
EU CBAM Carbon Importer Reporting →
Calculate emissions embedded in imported goods transported across global maritime lanes.