Sea shipments
Calculate the CO₂e emissions for a shipment by sea using one of two methods:- Container ships: A basic method that requires the least amount of details about the shipment.
- Non-container vessels: A single input method which requires fuel and DWT.
Pre-requisites
Complete the following setup steps before using this guide:
Generate an API key and authenticate your account.

Set up Client Accounts to track emissions for your individual customers.

Review how to calculate emissions for multi-leg shipments using the API.
1. Gather shipment details
When setting the 
route for sea transport, the source and destination should be locations of existing ports, preferably in UN/LOCODE format. If the port locations can’t be identified, consider using the distance property for route instead.Container ship estimate
To create a container ship estimate, specifycontainer_ship as the value for vessel_type in the method object, as shown below:refrigerated boolean. For greater precision, add the trade route using the trade_lane property. If the trade lane is not specified, Lune will automatically infer the trade lane from the route object.For example, if shipping from Port of Santos, Brazil to Port of Sines, Portugal, include the trade_lane property, with the value disaggregated_europe_to_south_america.Trade lane values are bidirectional. In the example above, disaggregated_europe_to_south_america covers trade routes between Europe and South America, in both directions. For the complete list of trade lane values, go to the API Reference.With all optional properties included, the request for a container ship with two refrigerated TEUs travelling from Port of Santos, Brazil to Port of Sines, Portugal would appear as:mass or containers as inputs, using containers is preferred for emission calculations involving container ships.Non-container ship estimate
To calculate a non-container vessel estimate, select the appropriate value for the method property.There are over 100 possible options. Each value represents a combination of three key parameters: ship type, deadweight tonnage, and fuel type.The values follow a consistent naming pattern to convey detailed information:- Vessel type: The category of the ship (for example, bulk carrier, chemical tanker, RORO).
- Deadweight tonnage: Indicates the ship’s cargo-carrying capacity.- Upper bounds are indicated by suffixes like xdwkt(for example,10dwktfor 10 kilotonnes or under).
- Lower bounds use prefixes like over_xdwkt(for example,over_40dwktfor over 40 kilotonnes).
 
- Upper bounds are indicated by suffixes like 
- Fuel type: Specifies the fuel used.- hfo: Heavy Fuel Oil
- vlsfo: Very Low Sulphur Fuel Oil
- mdo: Marine Diesel Oil
 
sea and use underscores (_) to separate the components. For example:sea_bulk_carrier_10dwkt_hfosea_chemical_tanker_over_40dwkt_vlsfosea_roro_15dwkt_mdo2. Make the API request
To calculate emissions for sea shipments, use the /estimates/shipping/multi-leg/ endpoint. Send aPOST request to this endpoint to create an emissions estimate.Include the Authorization header with your API Key as a Bearer Token. To associate the emission calculation with a specific client account, add either a Lune-Account header or a client account object to your request.
Sample request
The sample request below generates an estimate for a 10.6 tonnes shipment from the Port of Santos to the Port of Sines, traveling on a RORO vessel.What to do next...
Now that you’ve calculated an emission estimate using the methods above, here are some next steps to explore!
Calculate emissions for sea shipments using vessel tracking.

Offset the calculated emissions by purchasing carbon credits through the API.

Generate an analytics report for your customers about their emissions.
