Home

Vessel Schedules API

version 1

API for port-to-port sailing schedules. Returns every carrier sailing between two ports for up to 8 weeks ahead, with vessel, voyage, terminals, transshipments and cutoffs.

OpenAPI Specification

Get started with your API integration in just a few minutes. The OpenAPI specification provides a complete overview of all available endpoints, request parameters, authentication methods, and response formats, allowing you to easily explore, test, and interact with the API.

General information

Vessel Schedules API is organized around REST.
The API uses predictable resource-based URLs, accepts query string parameters, returns responses in JSON format, and relies on standard HTTP methods, status codes, and authentication mechanisms.

API endpoint#

1https://api.qubictron.com/vessel-schedules/v1

All endpoints are only accessible via HTTPS and are located at api.qubictron.com

Freshness#

Schedules for a port pair are refreshed at most every 12 hours. metadata.updated_at says when the data was taken, metadata.cache_expires until when it is considered fresh. If the schedule source is temporarily unavailable, the last known schedule is returned; such an answer has cache_expires in the past.

Times#

All sailing times and cutoffs are port-local ISO 8601 with the port's UTC offset (2026-10-11T00:00:00+08:00). Metadata times are UTC.

Errors#

Always read success and status_code from the response body; do not rely on the HTTP status alone. See HTTP Response Codes.

Sailings between two ports

get/port-to-port

Returns sailings departing from pol within the window [etd, etd + weeks * 7 days] (both days included), sorted by departure time. A sailing belongs to the day it departs in its own port's local time. The window cannot extend beyond 8 weeks from today; the window actually served is returned in data.period.

Headers

Content-Typeapplication/json

Query Parameters
  • polREQUIREDstring

    Port of loading, UN/LOCODE. Case-insensitive.

    Example:CNSHA

    Match pattern:^[A-Za-z]{2}[A-Za-z0-9]{3}$

  • podREQUIREDstring

    Port of discharge, UN/LOCODE. Case-insensitive.

    Example:USLGB

    Match pattern:^[A-Za-z]{2}[A-Za-z0-9]{3}$

  • etdOptionalstring

    First departure day of the window. Default: today (UTC). A date in the past is treated as today; a date more than 8 weeks ahead returns OUT_OF_HORIZON.

    Example:2026-10-11

  • weeksOptionalinteger

    Window length in weeks.

    >= 1<= 8

    Default:4

  • carrierOptionalstring

    Only this carrier, by SCAC. Case-insensitive.

    Example:EGLV

    Match pattern:^[A-Za-z]{2,4}$

  • directOptionalboolean

    true — direct sailings only, false — sailings with transshipment only. Omit for both.

Response example

SUCCESS. Also returned when no sailings match (sailings is empty) and when the last known schedule is served because the source is unavailable (cache_expires in the past).

1{
2  "success": true,
3  "status_code": "SUCCESS",
4  "metadata": {
5    "updated_at": "2026-10-10T18:55:26Z",
6    "cache_expires": "2026-10-11T06:55:26Z"
7  },
8  "data": {
9    "lane": {
10      "pol": "CNSHA",
11      "pod": "USLGB"
12    },
13    "period": {
14      "from": "2026-10-11",
15      "to": "2026-10-18"
16    },
17    "sailings": [
18      {
19        "carrier": {
20          "scac": "EGLV",
21          "name": "Evergreen"
22        },
23        "service": "CPS",
24        "vessel": {
25          "name": "EVER LAUREL",
26          "imo": "9595474",
27          "mmsi": "566673000"
28        },
29        "voyage": "1241-080E",
30        "pol": {
31          "code": "CNSHA",
32          "name": "SHANGHAI",
33          "terminal": "YANGSHAN PHASE 4 (Shangdong)",
34          "etd": "2026-10-11T00:00:00+08:00",
35          "etd_planned": "2026-10-11T00:00:00+08:00"
36        },
37        "pod": {
38          "code": "USLGB",
39          "name": "LONG BEACH,CA",
40          "terminal": null,
41          "eta": "2026-10-26T00:00:00-07:00",
42          "eta_planned": "2026-10-26T00:00:00-07:00"
43        },
44        "transit_days": 15,
45        "direct": false,
46        "transshipments": [
47          {
48            "port": {
49              "code": "USLAX",
50              "name": "LOS ANGELES,CA"
51            },
52            "terminal": null,
53            "mode": "rail",
54            "service": null,
55            "vessel": {
56              "name": null,
57              "imo": null,
58              "mmsi": null
59            },
60            "voyage": null,
61            "eta": "2026-10-26T00:00:00-07:00",
62            "etd": "2026-10-26T00:00:00-07:00"
63          }
64        ],
65        "cutoffs": {
66          "cy": "2026-10-09T12:00:00+08:00",
67          "si": null,
68          "vgm": "2026-10-09T12:00:00+08:00",
69          "booking": null
70        },
71        "shared_with": [
72          {
73            "scac": "CMDU",
74            "service": "HBB"
75          },
76          {
77            "scac": "COSU",
78            "service": "AAC2"
79          },
80          {
81            "scac": "OOLU",
82            "service": "PCN3"
83          }
84        ]
85      },
86      {
87        "carrier": {
88          "scac": "EGLV",
89          "name": "Evergreen"
90        },
91        "service": "PCC1",
92        "vessel": {
93          "name": "OOCL BERLIN",
94          "imo": "9622605",
95          "mmsi": "477203100"
96        },
97        "voyage": "061E",
98        "pol": {
99          "code": "CNSHA",
100          "name": "SHANGHAI",
101          "terminal": "YANGSHAN PHASE 4 (Shangdong)",
102          "etd": "2026-10-12T00:00:00+08:00",
103          "etd_planned": "2026-10-13T00:00:00+08:00"
104        },
105        "pod": {
106          "code": "USLGB",
107          "name": "LONG BEACH,CA",
108          "terminal": "Long Beach Container Terminal , LLC",
109          "eta": "2026-10-26T00:00:00-07:00",
110          "eta_planned": "2026-10-26T00:00:00-07:00"
111        },
112        "transit_days": 13,
113        "direct": true,
114        "transshipments": [],
115        "cutoffs": {
116          "cy": "2026-10-10T12:00:00+08:00",
117          "si": null,
118          "vgm": "2026-10-10T12:00:00+08:00",
119          "booking": null
120        },
121        "shared_with": [
122          {
123            "scac": "CMDU",
124            "service": "HIXP"
125          },
126          {
127            "scac": "COSU",
128            "service": "AAC4"
129          },
130          {
131            "scac": "OOLU",
132            "service": "PCC1"
133          }
134        ]
135      }
136    ]
137  }
138}

Qubictron 2026—Contact us