# Shipping Container Codes API
> The ISO 6346 size-and-type codes used to identify intermodal freight containers as an API — the reference a container booking system, EDI integration or terminal operating system needs. Every shipping container is described by a 4-character code (for example 22G1 = a 20-foot general-cargo container, 45R1 = a 40-foot high-cube reefer). For each of 700+ codes the API returns a human-readable description, the container length in feet, the height in feet and the ISO group code it belongs to. Look a code up, list every code in a group, search by description (reefer, tank, open top, flat rack…), or list the whole set. Served from memory — always fast.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/containercodes-api/..."
```

## Pricing
- **Free** (Free) — 12,000 calls/Mo, 3 req/s
- **Starter** ($8/Mo) — 140,000 calls/Mo, 10 req/s
- **Pro** ($21/Mo) — 700,000 calls/Mo, 25 req/s
- **Mega** ($50/Mo) — 3,500,000 calls/Mo, 60 req/s

## Endpoints

### Lookup

#### `GET /v1/code` — Container by ISO 6346 code

**Parameters:**
- `code` (query, required, string) — ISO 6346 size-type code Example: `22G1`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/containercodes-api/v1/code?code=22G1"
```

**Response:**
```json
{
    "data": {
        "container": {
            "code": "22G1",
            "group": "22GP",
            "height_ft": 8.5,
            "length_ft": 20,
            "description": "Standard Dry"
        }
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:07.757Z",
        "request_id": "c0e305e7-dff5-4660-9c23-80c75e16b20f"
    },
    "status": "ok",
    "message": "Container code retrieved successfully",
    "success": true
}
```

### Group

#### `GET /v1/group` — All codes in an ISO group

**Parameters:**
- `group` (query, required, string) — ISO group code Example: `22GP`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/containercodes-api/v1/group?group=22GP"
```

**Response:**
```json
{
    "data": {
        "count": 69,
        "group": "22GP",
        "containers": [
            {
                "code": "1000",
                "group": "22GP",
                "height_ft": 8,
                "length_ft": 10,
                "description": "Standard Dry"
            },
            {
                "code": "10G0",
                "group": "22GP",
                "height_ft": 8,
                "length_ft": 10,
                "description": "DRY CARGO/GENERAL PURPOSE"
            },
            {
                "code": "1200",
                "group": "22GP",
                "height_ft": 8.5,
                "length_ft": 10,
                "description": "Standard Dry"
            },
            {
                "code": "12G0",
                "group": "22GP",
                "height_ft": 8.5,
                "length_ft": 10,
                "description": "DRY CARGO/GENERAL PURPOSE"
            },
            {
                "code": "2000",
                "group": "22GP",
                "height_ft": 8,
                "length_ft": 20,
                "description": "Standard Dry"
            },
            {
                "code": "2001",
                "group": "22GP",
                "height_ft": 8,
                "length_ft": 20,
                "description": "Standard Dry"
            },
            {
                "code": "2002",
                "group": "22GP",
                "height_ft": 8,
                "length_ft": 20,
          
…(truncated, see openapi.json for full schema)
```

### Search

#### `GET /v1/search` — Search container codes

**Parameters:**
- `q` (query, required, string) — Search query (min 2 chars) Example: `reefer`
- `limit` (query, optional, string) — Max results (1-200) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/containercodes-api/v1/search?q=reefer&limit=50"
```

**Response:**
```json
{
    "data": {
        "count": 5,
        "query": "reefer",
        "total": 5,
        "containers": [
            {
                "code": "22R1",
                "group": "22RT",
                "height_ft": 8.5,
                "length_ft": 20,
                "description": "Reefer"
            },
            {
                "code": "42R1",
                "group": "42RT",
                "height_ft": 8.5,
                "length_ft": 40,
                "description": "Reefer"
            },
            {
                "code": "4534",
                "group": "45RT",
                "height_ft": 9.5,
                "length_ft": 40,
                "description": "HIGHCUBE INTEGRATED REEFER"
            },
            {
                "code": "45R1",
                "group": "45RT",
                "height_ft": 9.5,
                "length_ft": 40,
                "description": "Reefer High Cube"
            },
            {
                "code": "L5R1",
                "group": "L5RT",
                "height_ft": 9.5,
                "length_ft": 45,
                "description": "45 Reefer High Cube"
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:08.011Z",
        "request_id": "ef756a2e-c1b8-4c91-890d-f35cd94a6538"
    },
    "status": "ok",
    "message": "Search results retrieved successfully",
    "success": true
}
```

### List

#### `GET /v1/list` — List all container codes

**Parameters:**
- `limit` (query, optional, string) — Page size (1-800) Example: `50`
- `offset` (query, optional, string) — Offset Example: `0`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/containercodes-api/v1/list?limit=50&offset=0"
```

**Response:**
```json
{
    "data": {
        "count": 50,
        "total": 715,
        "containers": [
            {
                "code": "1000",
                "group": "22GP",
                "height_ft": 8,
                "length_ft": 10,
                "description": "Standard Dry"
            },
            {
                "code": "10G0",
                "group": "22GP",
                "height_ft": 8,
                "length_ft": 10,
                "description": "DRY CARGO/GENERAL PURPOSE"
            },
            {
                "code": "1200",
                "group": "22GP",
                "height_ft": 8.5,
                "length_ft": 10,
                "description": "Standard Dry"
            },
            {
                "code": "12G0",
                "group": "22GP",
                "height_ft": 8.5,
                "length_ft": 10,
                "description": "DRY CARGO/GENERAL PURPOSE"
            },
            {
                "code": "12TR",
                "group": "12TR",
                "height_ft": 8,
                "length_ft": 42,
                "description": "Flatbed"
            },
            {
                "code": "2000",
                "group": "22GP",
                "height_ft": 8,
                "length_ft": 20,
                "description": "Standard Dry"
            },
            {
                "code": "2001",
                "group": "22GP",
                "height_ft": 8,
                "length_ft": 20,
                "d
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/containercodes-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "service": "containercodes-api",
        "endpoints": {
            "GET /v1/code": "Container detail by ISO 6346 size-type code (code=, e.g. 22G1).",
            "GET /v1/list": "List all container codes (limit, offset).",
            "GET /v1/meta": "This document.",
            "GET /v1/group": "All codes in an ISO group (group=, e.g. 22GP).",
            "GET /v1/search": "Search codes by description, code or group (q=, e.g. reefer)."
        },
        "description": "ISO 6346 shipping-container size-and-type codes: 4-character code, description, length (feet), height (feet) and ISO group. Look up a code, list a group, search by description, or list them all. The reference a container booking, EDI or terminal system needs. No key.",
        "total_codes": 715,
        "total_groups": 28
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:08.274Z",
        "request_id": "b729b9de-d9df-4237-8835-4cd6cb52826d"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/containercodes-api
OpenAPI spec: https://www.oanor.com/api/containercodes-api/openapi.json
