Container tracking API – Overview
Sinay’s Container tracking API allows you to track your shipments by retrieving your container location, eta events, and many more shipment details.
Sinay retrieves information from the shipping line, and transmits it in a standard format so that you don’t have to. We retrieve the vessel position via satellite AIS to give you access to your container location.
Brand New Container Tracking V2 API
What’s New:
Container Tracking API V2 is now available and replaces Container Tracking API v1.
Where V1 API had all information contained in 4 general endpoints (location, eta, status, events), V2 has all container tracking details centralized in one single endpoint as well as enhanced tracking details.
If you are using container tracking V1, here are the changes you need to make to switch to V2.
- Location is now available in the “Location” endpoint, which contains latitude, longitude as well as point of interest name, country, and timezone.
- Status is now available in the Container response, which also contains the sealine name, shipment status, and last update timestamp
- ETA is now available as a “date” field included in Container > Events, Route, and AIS responses. If the date is in the past, then the date is not estimated and is actual.
- Events are now available in the Container response which contains enhanced tracking details.
Added Data:
- Added AIS data
- Route details
- Sealines, voyage number, facilities, time zone
Authentication and Headers
Sinay ETAC API uses the same API Framework as all the other Sinay APIs. Authorization is completed via an API key added to the API request header.
To know more about Sinay APIs authorization and headers, follow: General Documentation.
Call frequency recommendation
Shipping lines usually update their data every 12 to 24h. Therefore, we recommend updating every day the data retrieved via the endpoints /events /eta and /status.
Vessel location does change much faster, and our satellite AIS data is refreshed at least every 30min. Therefore, we recommend updating data retrieved via our /location endpoint every 3 to 6 hours.
Shipping Line Coverage
Sinay’s Container Tracking API covers the following shipping lines:
Shipping lines | SCAC Code |
AC Container Line | ALRB |
Admiral Container Lines | ADMU |
Aladin Express | ALXP |
Alianca | ANRM |
Allalouf Shipping Line | ALLF |
Altun Logistics | ALKU |
AMASS | AMIG |
American President Lines (APL) | APLU |
Arkas | ARKU |
Asyad Line | ASLU |
Atlantic Container Line (ACL) | ACLU |
Australia National Line (ANL) | ANNU |
Avana Global FZCO (BALAJI) | BLJU |
BAL Container Line | BURU |
Bee Logistics Corp | BELC |
BLPL Singapore | BLZU |
Blue Anchor America Line | BANQ |
Blue Water Lines (BWL) | BWLU |
Blue World Line | BWLE |
BMC Line Shipping | BMSU |
BNSF Logistics | BNLS |
Camellia Line | CAKU |
Cargo-Partner | CPNU |
Carpenters Shipping | MBFU |
China United Lines | CULU |
CK Line | CKLU |
CMA CGM | CMDU |
CNC (Cheng Lie Navigation) | 11DX |
Containerships | CSHP |
Cordelia Container Shipping Line | CSYU |
COSCO | COSU |
Cosiarma S.p.A. | CRAU |
Crane Worldwide Logistics | MLCW |
Crowley Maritime | CMCU, CAMN |
Dachser | DTRA |
Dalreftrans | DLTU |
Damco | DMCQ |
DB Schenker | SHKK |
Deutsche Afrika-Linien (DAL) | DAYU |
DHL Global Forwarding | DHC2 |
Dongjin Shipping | 11PG |
Dong Young Shipping | PCSL |
Dsv Ocean Transport | DSVF |
Econship | ECNU |
ECUW | ECUW |
Eimskip | EIMU |
EIO | EXPO |
Emirates Shipping Line | ESPU |
Emkay Lines | EMKU |
Ethiopian Shipping Line | ESLU |
Eukor | EUKO |
Evergreen | EGLV |
FESCO | FESO |
G2 Ocean | GSSW |
Gold Star Line | GSLU |
Grimaldi Deep Sea S.P.A. | GRIU |
Hai Hua Shipping (HASCO) | 12GE |
Hamburg Sud | SUDU |
Hapag-Lloyd | HLCU |
Hecny Shipping | HYSL |
Hellmann Worldwide Logistics | HIFI |
Heung-A Shipping | 11QU |
Hillebrand Gori | HGLU |
Hyundai Merchant Marine (HMM) | HDMU |
Ignazio Messina | LMCU |
Independent Container Line | IILU |
Indus Container Lines (IDCL) | IDCL |
Interasia Lines | 12AT |
JAS Worldwide (Ocean) | JASO |
Jin Jiang Shipping (SHJJ) | 11WJ |
Kalypso Compagnia di Navigazione SpA | KCDU |
Kambara Kisen | KKCL |
Kawasaki Kisen Kaisha (K Line) | KKLU |
Kintetsu World Express | KWEO |
Korea Marine Transport (KMTC) | KMTU |
Kuehne + Nagel (KN) | KHNN |
Lancer Container Lines | LCUU |
Laurel Navigation | LNLU |
Leschaco | LEHO |
MacAndrews | MCAW |
Maersk | MAEU |
Maersk Line Limited (MLL) | MAEI |
Marguisa Shipping Lines | MGSU |
Mariana Express Lines (MELL) | MEXU |
Maritime Carrier Shipping (MACS) | MCSM |
Maritime Marfret | MFTU |
Matson Navigation Company Inc (MATS) | MATS |
Maxicon Container Line (MCL) | MXCU |
Mediterranean Shipping Company (MSC) | MSCU, MEDU |
Medkon Lines | MKLU |
Meratus Line | MRTU |
Minsheng Ocean Shipping | 13CQ |
Mitsui O.S.K. Lines (MOL) | MOLU |
Namsung Shipping | NSRU |
National Shipping of America | NSHA |
Nauka Lines | NOKU |
Neptune Pacific Direct Line (NPDL) | PDLU |
NewStar | NSTR |
Nile Dutch Africa Line | NIDU |
Nippon Express | NEDF, NPNE |
Nippon Yusen Kaisha (NYK Line) | NYKS |
Nirint Shipping | 32GH |
North Sea Container Line (NCL) | NSCL |
Ocean Network Express (ONE) | ONEY |
Odyssey Logistics & Technology | OYLT |
Oman Container Lines | OCLU |
Orient Overseas Container Line (OOCL) | OOLU |
Orient Star | OSTI |
Pacific International Lines (PIL) | PCIU |
Pan Asia Line | PALU |
Pan Continental Shipping | 15AC |
Pan Ocean | POBU |
Pasha Hawaii | PSHI |
Perma Shipping Line | PMLU |
Polynesia Line | PLLU |
PSL Navegacao | PSL1 |
Qatar Navigation Lines (QNL) | QNLU |
Regional Container Lines (RCL) | REGU |
Rif Line | RIFU |
Romocean | ROMO |
Route Planner | SRRP |
Safmarine | SAFM |
Salam Pacific Indonesia Lines (SPIL) | SPNU |
Samudera Shipping Line | SIKU |
Sarjak Container Lines | SJKU |
Seaboard Marine | SMLU |
Sea Hawk Lines (SHAL) | SHKU |
Sealand | SEJJ, MCCQ, SEAU |
Sealead Shipping | SJHH |
Seatrade | SGNV |
Seino Logix Co | SEIN |
SETH Shipping | SSPH |
Shipco Transport | SHPT |
Shipping Corporation of India (SCI) | SCIU |
Sinokor | SKLU |
Sinotrans Container Lines | 12IH |
SITC Container Lines | 12PD |
SM Line (SML) | SMLM |
STC | SNTU |
Sunmarine Shipping Services | BAXU |
Swire Shipping | CHVW |
Taicang Container Lines | 32GG |
Tailwind Shipping Lines | TSHG |
Tarros | GETU |
TOTE Maritime | TOTE |
Trans Asian Shipping Services | TLXU |
Transfar Shipping | TJFH |
Transvision Shipping Line | TVSU |
Tropical | TSCW |
T.S. Lines | TXZJ, 13DF, TSSU |
Turkon | TRKU |
UWL | UWLD |
Vanguard Logistics | VGLT |
Vasco Maritime (VAS) | VMLU |
VASI Shipping | VASU |
Volta Container Line | VCLU |
Wallenius Wilhelmsen | WLWH |
Wan Hai | WHLC, 22AA, WHLU |
W.E.C. (West European Container) Lines | WECU |
Westwood Shipping Lines | WWSU |
White Line Shipping | WTLU |
World Direct Shipping (WDS) | WDSB |
Yang Ming | YMLU, YMPR, YMJA |
Yusen Logistics | YASV |
ZIM | ZIMU |
Endpoints for Container Tracking V2
GET/shipment
This endpoint is used to retrieve all data relative to a shipment.
Request
You can track a shipment using CT, BL or BK number, specify the sealine (optional) and define route or ais fields as ‘true’ if you wish to retrieve corresponding data.
Response
The response will contain Metadata, Events, Locations, Vessels, Facilities, Route and AIS data.
{
"metadata": {
"shipmentType": "CT",
"shipmentNumber": "FANU1172910",
"sealine": "HLCU",
"sealineName": "Hapag-Lloyd",
"shippingStatus": "IN_TRANSIT",
"updatedAt": "2023-12-01T10:39:59Z"
},
"locations": [
{
"name": "Antwerp",
"state": "Flanders",
"country": "Belgium",
"countryCode": "BE",
"locode": "BEANR",
"coordinates": {
"lat": 51.22047,
"lng": 4.40026,
"updatedAt": null
},
"timezone": "Europe/Brussels"
},
{
"name": "Woerth am Rhein",
"state": "Rheinland-Pfalz",
"country": "Germany",
"countryCode": "DE",
"locode": "DEWOE",
"coordinates": {
"lat": 49.04888,
"lng": 8.25959,
"updatedAt": null
},
"timezone": "Europe/Berlin"
},
{
"name": "Charleston",
"state": "South Carolina",
"country": "United States",
"countryCode": "US",
"locode": "USCHS",
"coordinates": {
"lat": 32.77657,
"lng": -79.93092,
"updatedAt": null
},
"timezone": "America/New_York"
}
],
"route": {
"prepol": {
"location": {
"name": "Woerth am Rhein",
"state": "Rheinland-Pfalz",
"country": "Germany",
"countryCode": "DE",
"locode": "DEWOE",
"coordinates": {
"lat": 49.04888,
"lng": 8.25959,
"updatedAt": null
},
"timezone": "Europe/Berlin"
},
"date": "2023-10-27T09:17:00Z",
"actual": true,
"predictiveEta": null
},
"pol": {
"location": {
"name": "Antwerp",
"state": "Flanders",
"country": "Belgium",
"countryCode": "BE",
"locode": "BEANR",
"coordinates": {
"lat": 51.22047,
"lng": 4.40026,
"updatedAt": null
},
"timezone": "Europe/Brussels"
},
"date": "2023-11-07T17:38:00Z",
"actual": true,
"predictiveEta": null
},
"pod": {
"location": {
"name": "Charleston",
"state": "South Carolina",
"country": "United States",
"countryCode": "US",
"locode": "USCHS",
"coordinates": {
"lat": 32.77657,
"lng": -79.93092,
"updatedAt": null
},
"timezone": "America/New_York"
},
"date": "2023-11-27T13:18:00Z",
"actual": true,
"predictiveEta": null
},
"postpod": {
"location": null,
"date": null,
"actual": null,
"predictiveEta": null
}
},
"vessels": [
{
"name": "MISSOURI EXPRESS",
"imo": 9349552,
"callSign": "WDM2203",
"mmsi": 367781000,
"flag": "US"
}
],
"facilities": [],
"containers": [
{
"number": "FANU1172910",
"isoCode": "45G1",
"status": "IN_TRANSIT",
"events": [
{
"location": {
"name": "Woerth am Rhein",
"state": "Rheinland-Pfalz",
"country": "Germany",
"countryCode": "DE",
"locode": "DEWOE",
"coordinates": {
"lat": 49.04888,
"lng": 8.25959,
"updatedAt": null
},
"timezone": "Europe/Berlin"
},
"facility": null,
"description": "Gate out empty",
"eventType": "EQUIPMENT",
"eventCode": "GTOT",
"status": "CEP",
"date": "2023-10-27T09:17:00Z",
"isActual": true,
"isAdditionalEvent": false,
"routeType": "LAND",
"transportType": "TRUCK",
"vessel": null,
"voyage": null
},
{
"location": {
"name": "Woerth am Rhein",
"state": "Rheinland-Pfalz",
"country": "Germany",
"countryCode": "DE",
"locode": "DEWOE",
"coordinates": {
"lat": 49.04888,
"lng": 8.25959,
"updatedAt": null
},
"timezone": "Europe/Berlin"
},
"facility": null,
"description": "Arrival in",
"eventType": "TRANSPORT",
"eventCode": "ARRI",
"status": "LTS",
"date": "2023-11-02T14:31:00Z",
"isActual": true,
"isAdditionalEvent": false,
"routeType": "LAND",
"transportType": "TRUCK",
"vessel": null,
"voyage": null
},
{
"location": {
"name": "Woerth am Rhein",
"state": "Rheinland-Pfalz",
"country": "Germany",
"countryCode": "DE",
"locode": "DEWOE",
"coordinates": {
"lat": 49.04888,
"lng": 8.25959,
"updatedAt": null
},
"timezone": "Europe/Berlin"
},
"facility": null,
"description": "Departure from",
"eventType": "TRANSPORT",
"eventCode": "DEPA",
"status": "LTS",
"date": "2023-11-03T20:40:00Z",
"isActual": true,
"isAdditionalEvent": false,
"routeType": "LAND",
"transportType": null,
"vessel": null,
"voyage": null
},
{
"location": {
"name": "Antwerp",
"state": "Flanders",
"country": "Belgium",
"countryCode": "BE",
"locode": "BEANR",
"coordinates": {
"lat": 51.22047,
"lng": 4.40026,
"updatedAt": null
},
"timezone": "Europe/Brussels"
},
"facility": null,
"description": "Arrival in",
"eventType": "TRANSPORT",
"eventCode": "ARRI",
"status": "CGI",
"date": "2023-11-07T17:38:00Z",
"isActual": true,
"isAdditionalEvent": false,
"routeType": "LAND",
"transportType": null,
"vessel": null,
"voyage": null
},
{
"location": {
"name": "Antwerp",
"state": "Flanders",
"country": "Belgium",
"countryCode": "BE",
"locode": "BEANR",
"coordinates": {
"lat": 51.22047,
"lng": 4.40026,
"updatedAt": null
},
"timezone": "Europe/Brussels"
},
"facility": null,
"description": "Loaded",
"eventType": "EQUIPMENT",
"eventCode": "LOAD",
"status": "CLL",
"date": "2023-11-12T20:01:00Z",
"isActual": true,
"isAdditionalEvent": false,
"routeType": "SEA",
"transportType": "VESSEL",
"vessel": {
"name": "MISSOURI EXPRESS",
"imo": 9349552,
"callSign": "WDM2203",
"mmsi": 367781000,
"flag": "US"
},
"voyage": "073W"
},
{
"location": {
"name": "Antwerp",
"state": "Flanders",
"country": "Belgium",
"countryCode": "BE",
"locode": "BEANR",
"coordinates": {
"lat": 51.22047,
"lng": 4.40026,
"updatedAt": null
},
"timezone": "Europe/Brussels"
},
"facility": null,
"description": "Vessel departed",
"eventType": "TRANSPORT",
"eventCode": "DEPA",
"status": "VDL",
"date": "2023-11-12T21:48:00Z",
"isActual": true,
"isAdditionalEvent": false,
"routeType": "SEA",
"transportType": "VESSEL",
"vessel": {
"name": "MISSOURI EXPRESS",
"imo": 9349552,
"callSign": "WDM2203",
"mmsi": 367781000,
"flag": "US"
},
"voyage": "073W"
},
{
"location": {
"name": "Charleston",
"state": "South Carolina",
"country": "United States",
"countryCode": "US",
"locode": "USCHS",
"coordinates": {
"lat": 32.77657,
"lng": -79.93092,
"updatedAt": null
},
"timezone": "America/New_York"
},
"facility": null,
"description": "Vessel arrived",
"eventType": "TRANSPORT",
"eventCode": "ARRI",
"status": "VAD",
"date": "2023-11-27T13:18:00Z",
"isActual": true,
"isAdditionalEvent": false,
"routeType": "SEA",
"transportType": "VESSEL",
"vessel": {
"name": "MISSOURI EXPRESS",
"imo": 9349552,
"callSign": "WDM2203",
"mmsi": 367781000,
"flag": "US"
},
"voyage": "073W"
},
{
"location": {
"name": "Charleston",
"state": "South Carolina",
"country": "United States",
"countryCode": "US",
"locode": "USCHS",
"coordinates": {
"lat": 32.77657,
"lng": -79.93092,
"updatedAt": null
},
"timezone": "America/New_York"
},
"facility": null,
"description": "Discharged",
"eventType": "EQUIPMENT",
"eventCode": "DISC",
"status": "CDD",
"date": "2023-11-27T19:58:00Z",
"isActual": true,
"isAdditionalEvent": false,
"routeType": "SEA",
"transportType": "VESSEL",
"vessel": {
"name": "MISSOURI EXPRESS",
"imo": 9349552,
"callSign": "WDM2203",
"mmsi": 367781000,
"flag": "US"
},
"voyage": "073W"
}
]
}
],
"routeData": {
"routeSegments": [
{
"path": [
{
"lat": 49.04891,
"lng": 8.259592,
"updatedAt": null
},
{
"lat": 49.10253,
"lng": 8.186041,
"updatedAt": null
},
{
"lat": 49.18512,
"lng": 8.149959,
"updatedAt": null
},
{
"lat": 49.275738,
"lng": 8.153298,
"updatedAt": null
},
{
"lat": 49.357723,
"lng": 8.195906,
"updatedAt": null
},
{
"lat": 49.399887,
"lng": 8.276805,
"updatedAt": null
},
{
"lat": 49.48299,
"lng": 8.312314,
"updatedAt": null
},
{
"lat": 49.572964,
"lng": 8.299247,
"updatedAt": null
},
{
"lat": 49.661427,
"lng": 8.278929,
"updatedAt": null
},
{
"lat": 50.86032,
"lng": 6.715837,
"updatedAt": null
},
{
"lat": 50.887333,
"lng": 6.629868,
"updatedAt": null
},
{
"lat": 50.848385,
"lng": 6.535877,
"updatedAt": null
},
{
"lat": 50.837036,
"lng": 6.443955,
"updatedAt": null
},
{
"lat": 50.833286,
"lng": 6.34232,
"updatedAt": null
},
{
"lat": 50.826202,
"lng": 6.250725,
"updatedAt": null
},
{
"lat": 50.804565,
"lng": 6.161979,
"updatedAt": null
},
{
"lat": 50.804867,
"lng": 6.071631,
"updatedAt": null
},
{
"lat": 51.220634,
"lng": 4.40046,
"updatedAt": null
}
],
"routeType": "LAND"
},
{
"path": [
{
"lat": 51.22047,
"lng": 4.40026,
"updatedAt": null
},
{
"lat": 51.352158,
"lng": 4.249306,
"updatedAt": null
},
{
"lat": 50.872917,
"lng": 1.583278,
"updatedAt": null
},
{
"lat": 32.77657,
"lng": -79.93092,
"updatedAt": null
}
],
"routeType": "SEA"
}
],
"coordinates": {
"lat": 32.77657,
"lng": -79.93092,
"updatedAt": null
},
"ais": {
"status": "NOT_ON_BOARD",
"data": null
}
}
}
Endpoints for Container Tracking V1 – DEPRECATED ON MARCH 2024
GET /eta/container
This endpoint is used to retrieve the eta of a given container. It will return both the ETA at the next port of discharge and at the last port of discharge. If there are no expected transshipments, next and last will return the same value.
Request
You must specify the container number as a query parameter. A container number is a unique combination of four letters followed by seven numbers for identifying containers internationally.
Response
The response will remind you of the container id, and either show ETA for the next port of discharge and for the port of Arrival (if the ETA is in the future), or display the following message “Container has already arrived at his final port of destination” (if the container has already arrived).
//example of response when the container is underway
{
"containerId": "MEDU5897970",
"lastEvent": {
"code": "CLL",
"text": "Export Loaded on Vessel",
"portCode": "CNNGB",
"location": "Ningbo",
"date": "2023-03-12T00:00:00Z"
},
"nextEvent": {
"code": "VAD",
"text": "Estimated Time of Arrival",
"portCode": "BEANR",
"location": "Antwerp",
"date": "2023-04-15T00:00:00Z"
}
}
//example of response when the container has already arrived
{
"containerId": "FANU1172910",
"nextPortArrival": null,
"lastPortArrival": null,
"complementaryMessage": "The container has already arrived at his final port destination"
}
For each event, you will find
- the Date and Time of discharge in standard UTC format (find here the corresponding documentation https://www.w3.org/TR/NOTE-datetime-970915.html)
- the UN/LOCODE of the port (find here the UN/LOCODE documentation https://unece.org/trade/cefact/unlocode-code-list-country-and-territory).
The ETA we return is the expected time of arrival at the transshipment or discharge port. If no vessel arrival events are returned by the shipping line, we return the expected time of container transshipment or discharge.
GET /eta/blorbk
This endpoint is used to retrieve the ETA of every container in a given booking or bill of lading. For each container, it will return both the ETA at the next port of discharge and at the last port of discharge. If there are no expected transshipments, next and last will return the same value.
Request
You must specify, as query parameters, the following inputs :
- Document type : 2 letters depending of the document type you wish to track : BL for Bill of Lading, and BK for Booking number
- Document number : depending on the document type, either the booking number (usually two letters plus six numbers) or the bill of lading number (ten digits number)
- Sealine code : 4 characters uniquely identifying the sealine. Use or GET /sealines endpoint to retrieve the complete list of supported sealines.
Response
The response will show you a list, each element of the list giving you the container id and the ETA for the next port of discharge and for the port of Arrival, for each container in the booking or on the Bill of Lading.
//example of response when container can be located
{
"containerId": "FANU1172910",
"location": {
"longitude": -0.39362358826455934,
"latitude": 49.20156472251085
}
}
//example of response when container cannot be located (not at sea anymore)
{
"containerId": "FANU1172910",
"location": null
}
GET /location/blorbk
This endpoint is used to retrieve the locations of every container in a given booking or bill or lading on the given sealine. Depending on the location of the container (at a port or onboard a ship), it will return the latitude and longitude of the last known position of the vessel or the one of the port.
It will not be able to give you a position of the container is neither onboard a ship or in a port.
Request
You must specify, as query parameters, the following inputs :
- Document type : 2 letters depending of the document type you wish to track : BL for Bill of Lading, and BK for Booking number
- Document number : depending on the document type, either the booking number (usually two letters plus six numbers) or the bill of lading number (ten digits number)
- Sealine code : 4 characters uniquely identifying the sealine. Use or GET /sealines endpoint to retrieve the complete list of supported sealines.
Response
The response will be a list of container locations, for each container it will give you the container id and its latitude and longitude.
[
{
"containerId": "TCLU8738299",
"location": {
"longitude": 8.779871940612793,
"latitude": 44.41938781738281
}
}
]
GET /status/container
This endpoint is used to retrieve the status of a given container. It will return both the last event and the next event of the container.
Request
You must specify the container number as a query parameter. A container number is a unique combination of four letters followed by seven numbers for identifying containers internationally.
Response
In the response, you will find a reminder of the container id you entered, and the last event and next event data for this container.
//example of response when container has not arrived yet
{
"containerId": "FANU1172910",
"lastEvent": {
"code": "CER",
"text": "Gate in empty",
"portCode": "FRBOD",
"location": "Antwerp",
"date": "2023-04-11T10:33:00Z"
},
"nextEvent": {
"code": "CER",
"text": "Gate in empty",
"portCode": "FRBOD",
"location": "Antwerp",
"date": "2023-04-15T17:33:00Z"
}
}
//example of response when container voyage is fully completed (last event in the past)
{
"containerId": "FANU1172910",
"lastEvent": {
"code": "CER",
"text": "Gate in empty",
"portCode": "KRSEL",
"location": "Seoul",
"date": "2023-04-11T10:33:00Z"
},
"nextEvent": null
}
In each event you will find :
- The event code
- The event text (a translation of the code in simple text)
- The location in plain text
- The port code (find here the UN/LOCODE documentation https://unece.org/trade/cefact/unlocode-code-list-country-and-territory). This field can be null if the shipping line hasn’t specified it. In this case please refer to the location field.
- And the timestamp of the event in standard UTC format (find here the corresponding documentation https://www.w3.org/TR/NOTE-datetime-970915.html)
GET /status/blorbk
Request
You must specify, as query parameters, the following inputs :
- Document type : 2 letters depending of the document type you wish to track : BL for Bill of Lading, and BK for Booking number
- Document number : depending on the document type, either the booking number (usually two letters plus six numbers) or the bill of lading number (ten digits number)
- Sealine code : 4 characters uniquely identifying the sealine. Use or GET /sealines endpoint to retrieve the complete list of supported sealines.
Response
In the response, you will find the list of events for all containers in your document. For each container, you will find the container id, and the last event and next event data for this container.
//example of response when container has not arrived yet
[
{
"containerId": "FANU1172910",
"lastEvent": {
"code": "CER",
"text": "Gate in empty",
"portCode": "FRBOD",
"location": "Antwerp",
"date": "2023-04-11T10:33:00Z"
},
"nextEvent": {
"code": "CER",
"text": "Gate in empty",
"portCode": "FRBOD",
"location": "Antwerp",
"date": "2023-04-15T17:33:00Z"
}
}
]
//example of response when container voyage is fully completed (last event in the past)
[
{
"containerId": "FANU1172910",
"lastEvent": {
"code": "CER",
"text": "Gate in empty",
"portCode": "KRSEL",
"location": "Seoul",
"date": "2023-04-11T10:33:00Z"
},
"nextEvent": null
}
]
In each event you will find :
- The event code
- The event text (a translation of the code in simple text)
- The location in plain text
- The port code (find here the UN/LOCODE documentation https://unece.org/trade/cefact/unlocode-code-list-country-and-territory). This field can be null if the shipping line hasn’t specified it. In this case please refer to the location field.
- And the timestamp of the event in standard UTC format (find here the corresponding documentation https://www.w3.org/TR/NOTE-datetime-970915.html)
GET /events/container
This endpoint is used to retrieve all events of a given container, in the past of the future.
Request
You must specify the container number as a query parameter. A container number is a unique combination of four letters followed by seven numbers for identifying containers internationally.
Response
The response will give you a reminder of the container id you entered, and a list of events for this container.
{
"containerId": "MEDU5897970",
"events": [
{
"code": "CEP",
"text": "Empty to Shipper",
"portCode": "CNNGB",
"location": "Ningbo",
"date": "2023-03-04T00:00:00Z"
},
{
"code": "CGI",
"text": "Export received at CY",
"portCode": "CNNGB",
"location": "Ningbo",
"date": "2023-03-04T00:00:00Z"
},
{
"code": "CLL",
"text": "Export Loaded on Vessel",
"portCode": "CNNGB",
"location": "Ningbo",
"date": "2023-03-12T00:00:00Z"
},
{
"code": "VAD",
"text": "Estimated Time of Arrival",
"portCode": "BEANR",
"location": "Antwerp",
"date": "2023-04-15T00:00:00Z"
}
]
}
In each event, you will find :
- The event code
- The event text (a translation of the code in simple text)
- The location in plain text
- The port code (find here the UN/LOCODE documentation https://unece.org/trade/cefact/unlocode-code-list-country-and-territory). This field can be null if the shipping line hasn’t specified it. In this case please refer to the location field.
- And the timestamp of the event in standard UTC format (find here the corresponding documentation https://www.w3.org/TR/NOTE-datetime-970915.html)
GET /events/blorbk
Request
You must specify, as query parameters, the following inputs :
- Document type : 2 letters depending of the document type you wish to track : BL for Bill of Lading, and BK for Booking number
- Document number : depending on the document type, either the booking number (usually two letters plus six numbers) or the bill of lading number (ten digits number)
- Sealine code : 4 characters uniquely identifying the sealine. Use or GET /sealines endpoint to retrieve the complete list of supported sealines.
Response
In the response, you will find the list of events for all containers in your document. For each container, you will find the container id, and a list of events for this container.
[
{
"containerId": "TCLU8738299",
"events": [
{
"code": "CEP",
"text": "Gate out empty",
"portCode": "CNZUH",
"location": "Zhuhai",
"date": "2023-02-27T09:03:00Z"
},
{
"code": "VDL",
"text": "Vessel departed",
"portCode": "CNZUH",
"location": "Zhuhai",
"date": "2023-03-01T22:30:00Z"
},
{
"code": "CLL",
"text": "Loaded",
"portCode": "CNZUH",
"location": "Zhuhai",
"date": "2023-03-01T23:10:00Z"
},
{
"code": "CDT",
"text": "Discharged",
"portCode": "CNSHK",
"location": "Shekou",
"date": "2023-03-03T01:24:00Z"
},
{
"code": "CLT",
"text": "Loaded",
"portCode": "CNSHK",
"location": "Shekou",
"date": "2023-03-05T14:25:00Z"
},
{
"code": "VDT",
"text": "Vessel departed",
"portCode": "CNSHK",
"location": "Shekou",
"date": "2023-03-05T22:24:00Z"
},
{
"code": "VAD",
"text": "Vessel arrived",
"portCode": "FRFOS",
"location": "Fos-sur-Mer",
"date": "2023-04-12T02:48:00Z"
},
{
"code": "CDD",
"text": "Discharge",
"portCode": "FRFOS",
"location": "Fos-sur-Mer",
"date": "2023-04-12T02:48:00Z"
}
]
}
]
In each event, you will find :
- The event code
- The event text (a translation of the code in simple text)
- The location in plain text
- The port code (find here the UN/LOCODE documentation https://unece.org/trade/cefact/unlocode-code-list-country-and-territory). This field can be null if the shipping line hasn’t specified it. In this case please refer to the location field.
- And the timestamp of the event in standard UTC format (find here the corresponding documentation https://www.w3.org/TR/NOTE-datetime-970915.html)
GET /sealines
The endpoint allows you to retrieve supported sealines. It will return a list of sealines containing :
- The sealine code (4 digits used to identify the sealine in our container tracking API)
- The sealine official name
//example of response (shortened for clarity)
[
{
"code": "AUTO",
"name": "Automatically detect the sealine for container request, do not work for bl or bk"
},
{
"code": "ALRB",
"name": "AC Container Line"
},
{
"code": "ADMU",
"name": "Admiral Container Lines"
},
{
"code": "ALXP",
"name": "Aladin Express"
},
{
"code": "ANRM",
"name": "Alianca"
}
]
GET /usages
This endpoint allows you to retrieve the number of calls that were made with this API key to that API in a given period of time. In other words : to retrieve the same information that you can retrieve from the monitoring page in Sinay’s Developers Platform https://developers.sinay.ai/monitoring.
Request
If you send that request without any query params, you will get all API calls made with that key on that API since the key creation, month by month.
You can also specify the startTime and/or endTime as query params (in UTC format – more detailed information on that format here : https://www.w3.org/TR/NOTE-datetime-970915.html)
If you do so, the response given will include only the calls made during that time period.
Response
The response will show all calls made during that period, detailed by status, and then a detailed report of those calls and status, month by month.
{
"allCalls": 15,
"successCalls": 13,
"clientErrorCalls": 1,
"serverErrorCalls": 1,
"consumedApiUnits": 25,
"periodicUsages": {
"2022-05": {
"allCalls": 15,
"successCalls": 13,
"clientErrorCalls": 1,
"serverErrorCalls": 1,
"consumedApiUnits": 25
}
}
}