- 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:
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:
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,10dwkt
for 10 kilotonnes or under). - Lower bounds use prefixes like
over_xdwkt
(for example,over_40dwkt
for over 40 kilotonnes).
- Upper bounds are indicated by suffixes like
- Fuel type: Specifies the fuel used.
hfo
: Heavy Fuel Oilvlsfo
: Very Low Sulphur Fuel Oilmdo
: Marine Diesel Oil
sea
and use underscores (_
) to separate the components. For example:sea_bulk_carrier_10dwkt_hfo
sea_chemical_tanker_over_40dwkt_vlsfo
sea_roro_15dwkt_mdo
2. 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.Remember to add the Authorization header with your generated Bearer Token, as well as a Lune Account header with the client account that this emission is being calculated for.
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.