Skip to main content

JSONCargo

Blog

The Easiest Way to Access CMA CGM Container Data via API

If you’re looking to access CMA CGM container data via API, you’re in the right place.

Whether you’re a logistics provider, supply chain analyst, or developer building your own shipping dashboard, having real-time and reliable container tracking is essential, and CMA CGM is one of the largest carriers out there.

But here’s the problem: CMA CGM doesn’t provide public, developer-friendly API access for container tracking.

How Can You Access CMA CGM Container Data?

You don’t need to waste time going back and forth on CMA CGM’s website to check a container’s status. And even then, you might not get all the details you need.

With our container tracking API, you can pull real-time updates on CMA CGM containers just by entering the container number or the bill of lading. The data includes the latest status, port events, estimated arrival times, shipping line info, and more.

This is a solid alternative to CMA CGM’s, especially if you need flexible integration into your tools or platforms. You can even set up alerts based on container movements so you don’t have to check manually.

What CMA CGM Container Data Can You Access?

JSONCargo provides a developer-friendly API that delivers real-time container data for many shipping lines, including CMA CGM.

Instead of trying to connect directly to CMA CGM’s systems, you can retrieve container statuses with a single API call.

Here’s what you get:

  • Track by container number or Bill of Lading: Enter the container ID, and the API returns the latest status, events, and location.

  • Multiple shipping lines: Not only CMA CGM, but also MSC, Maersk, Hapag-Lloyd, and others, all in the same response format.

  • Detailed events: You’ll know where your CMA CGM container is, where it’s been, and what’s next (“Vessel departed”, “Discharged”, etc.).

Plus, you get timestamps for port events, estimated arrival at the next port, confirmation that the shipping line is CMA CGM, and details like container type (20ft, 40ft, reefer, etc.).

Example: How to Track a CMA CGM Container via API

To track a container with CMA CGM, just make an API request with the container number:

				
					GET /container?container_number=HPCU4341398

				
			

Example Response:

				
					{
    "data": {
        "container_id": "HPCU4341398",
        "container_type": "45G0",
        "container_status": "READY TO BE LOADED",
        "shipping_line_name": "Compagnie Maritime d'Affretement Compagnie Generale Maritime",
        "shipping_line_id": "0016",
        "tare": null,
        "shipped_from": null,
        "shipped_from_terminal": null,
        "shipped_to": null,
        "shipped_to_terminal": null,
        "atd_origin": null,
        "eta_final_destination": null,
        "last_location": "ISKENDERUN",
        "last_location_terminal": "LIMAK PORT ISKENDERUN",
        "next_location": "TANGER MED",
        "next_location_terminal": "EUROGATE TERMINAL TANGIER",
        "atd_last_location": null,
        "eta_next_destination": "2025-09-07 13:00",
        "timestamp_of_last_location": null,
        "last_movement_timestamp": "2025-08-19 01:43",
        "loading_port": "ISKENDERUN (TR)",
        "discharging_port": "LA GUAIRA (VE)",
        "customs_clearance": null,
        "bill_of_lading": null,
        "last_vessel_name": null,
        "last_voyage_number": null,
        "current_vessel_name": null,
        "current_voyage_number": null,
        "last_updated": "2025-08-19 08:53"
    }
}

				
			
Here’s a breakdown of the key fields returned in the API response and what each one means:
FieldDescription
container_idUnique ID of the container being tracked.
container_typeSize and type of the container (e.g. 20ft, 40ft, reefer, etc.).
container_statusCurrent status or activity of the container (e.g. loaded, empty, in transit).
shipping_line_nameName of the shipping company managing the container (e.g. Maersk, MSC).
shipping_line_idInternal or external identifier of the shipping line.
tareThe empty weight of the container (if available).
shipped_fromPort of origin from which the container was shipped.
shipped_from_terminalTerminal at the origin port.
shipped_toFinal destination port.
shipped_to_terminalTerminal at the destination port.
atd_originActual time of departure from the origin port.
eta_final_destinationEstimated time of arrival at the destination port.
last_locationLast recorded port or location of the container.
last_location_terminalTerminal where the container was last seen.
next_locationNext scheduled port or stop (if available).
next_location_terminalTerminal for the next port call.
atd_last_locationDeparture time from the last known location.
eta_next_destinationEstimated time of arrival at the next port.
timestamp_of_last_locationTime when the last location was recorded.
last_movement_timestampTimestamp of the last known movement/activity.
loading_portThe port where the container was loaded onto the vessel.
discharging_portThe port where the container will be unloaded.
customs_clearanceCustoms clearance status (if provided).
bill_of_ladingReference number for the shipment’s bill of lading.
last_vessel_nameName of the last vessel that carried the container.
last_voyage_numberVoyage number of the last vessel.
current_vessel_nameName of the vessel currently carrying the container (if applicable).
current_voyage_numberVoyage number of the current vessel (if applicable).
last_updatedTimestamp of the most recent data update.

Common Questions About Container Data via API:

1. Can I track only CMA CGM, or other carriers too?
Our API supports many major carriers, including MSC, Maersk, Hapag-Lloyd, and others. You can check the shipping lines we cover.

2. How often is the data updated?
It’s near real-time, depending on the carrier and source.

3. Do I need the container number to track containers?
Yes, for precise tracking, you need the full number (e.g., TCNU1234567) and the shipping line. As an alternative, you can search using the Bill of Lading.