Regulatory Records API

Emissions & Casualties

Access vessel emissions data including CO2 output, fuel consumption, and energy efficiency metrics. The vessel emissions API provides monitoring, reporting, and verification data for maritime transport.

What is Vessel Emissions Data?

Maritime emissions regulations require ships over 5,000 gross tonnage calling at EU/EEA ports to monitor and report their CO2 emissions and other relevant data. The regulation covers fuel consumption, distance travelled, cargo carried, and transport work. This data is verified by accredited third-party verifiers and published annually.

The emissions API provides access to this verified data, enabling ESG analysis, carbon footprint tracking, and regulatory compliance monitoring.

Common queries this endpoint answers: CO2 emissions at sea per vessel and per voyage, GHG emissions for container shipping, ship fuel consumption reporting under EU MRV, and marine fuel data broken down by fuel type (HFO, LFO, MDO, MGO, LNG). The data is suitable for ship emissions reporting, sea freight emissions APIs in customer-facing logistics tools, and downstream Scope 3 carbon accounting.

Coverage: The emissions dataset covers vessels over 5,000 GT calling at EU/EEA ports. Data is published annually after third-party verification and covers CO2 emissions, fuel consumption, and energy efficiency metrics.

Use Cases

ESG Reporting

Integrate vessel emissions data into environmental, social, and governance reports. Track carbon intensity metrics across shipping operations.

Emissions Monitoring

Monitor CO2 output and fuel consumption across a fleet or supply chain. Compare vessel efficiency against industry benchmarks.

Regulatory Compliance

Verify compliance with emissions reporting requirements. Track monitoring methods and verification status.

Carbon Footprint Analysis

Calculate transport-related carbon footprints using verified per-voyage and annual emissions data. Support scope 3 emissions reporting.

Available Endpoints

GET /emissions

Get Emissions Data

Get emissions data for all vessels in a reporting period.

Parameters:

  • filter.period - Reporting year (e.g., 2023)
  • pagination.limit - Results per page (max 50, default 20)
  • pagination.nextToken - Cursor for next page of results

Response includes:

  • Vessel identifiers
  • Reporting period
  • CO2 emissions totals
  • Fuel consumption by type
  • Energy efficiency metrics
  • Verifier details
GET /vessel/{id}/emissions

Get Vessel Emissions

Get emissions data for a specific vessel. The {id} parameter accepts either MMSI or IMO number.

Parameters:

  • id (path) - Vessel identifier (MMSI or IMO number)
  • filter.idType - Identifier type: mmsi or imo (required)
  • pagination.limit - Results per page (default 20)
  • pagination.nextToken - Cursor for next page of results

Response includes:

  • All fields from bulk endpoint, filtered to specific vessel
GET /vessel/{id}/casualties

Get Marine Casualty Records

Retrieve marine casualty records for a vessel, including incident details, severity classification, investigation status, and outcome information.

Parameters:

  • id (path) - Vessel identifier (MMSI or IMO number)
  • filter.idType - Identifier type: mmsi or imo (required)
  • pagination.limit - Results per page (max 50, default 20)
  • pagination.nextToken - Cursor for next page of results

Response includes:

  • Occurrence UUID, vessel names, IMO numbers
  • Date of occurrence and severity classification
  • Event type classifications
  • Investigating state and investigation status
  • Lives lost and pollution details

Code Examples

Get Vessel Emissions (cURL)

curl -X GET "https://api.vesselapi.com/v1/vessel/9811000/emissions?filter.idType=imo" \
     -H "Authorization: Bearer YOUR_API_KEY"

Get Vessel Emissions (Python)

import requests

response = requests.get(
    "https://api.vesselapi.com/v1/vessel/9811000/emissions",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    params={"filter.idType": "imo"}
)

data = response.json()
for record in data["emissions"]:
    print(f"Period: {record['reporting_period']}")
    print(f"Total CO2: {record['co2_emissions_total']} tonnes")
    print(f"Fuel: {record['fuel_consumption_total']} tonnes")

Get Vessel Emissions (JavaScript)

const response = await fetch(
  "https://api.vesselapi.com/v1/vessel/9811000/emissions?" +
  new URLSearchParams({
    "filter.idType": "imo"
  }),
  {
    headers: { "Authorization": "Bearer YOUR_API_KEY" }
  }
);

const data = await response.json();
const record = data.emissions[0];
console.log(`CO2: ${record.co2_emissions_total}t, Fuel: ${record.fuel_consumption_total}t`);

Response Fields

Emissions Data (/emissions, /vessel/{id}/emissions)

Field Description Example
Identifiers
imo IMO identification number 9811000
unique_key Stable identifier for the record, {imo}_{reporting_period} 9811000_2024
name Vessel name EVER GIVEN
flag_code Flag state code PA
flag_name Flag state name Panama
vessel_type Vessel type classification Container Ship
home_port Home port name Panama City
ice_class Ice class designation (if applicable) null
Reporting
reporting_period Year of the reporting period 2023
collected_at When this record was last refreshed from the EU MRV source 2026-08-21T12:30:24Z
doc_issue_date Document of compliance issue date, formatted DD/MM/YYYY 09/03/2026
doc_expiry_date Document of compliance expiry date, formatted DD/MM/YYYY 30/06/2027
Monitoring Methods
monitoring_method_a Monitoring method A description BDN and period stock takes
monitoring_method_b Monitoring method B description Bunker fuel tank monitoring
monitoring_method_c Monitoring method C description Flow meters
monitoring_method_d Monitoring method D description Direct emissions measurements
CO2 Emissions
co2_emissions_total Total annual CO2 emissions (tonnes) 125430.5
co2_emissions_at_berth CO2 emissions while at berth (tonnes) 3210.2
co2_emissions_on_laden_voyages CO2 on laden voyages (tonnes) 89500.0
co2_per_distance CO2 per nautical mile (kg/nm) 450.2
co2_per_transport_work CO2 per transport work (g/t·nm) 12.5
Fuel Consumption
fuel_consumption_hfo Heavy fuel oil consumption (tonnes) 45000.0
fuel_consumption_lfo Light fuel oil consumption (tonnes) 12000.0
fuel_consumption_mdo Marine diesel oil consumption (tonnes) 5000.0
fuel_consumption_mgo Marine gas oil consumption (tonnes) 2000.0
fuel_consumption_lng LNG consumption (tonnes) 0.0
fuel_consumption_other Other fuel consumption (tonnes) 0.0
fuel_consumption_total Total fuel consumption (tonnes) 64000.0
fuel_per_distance Fuel per nautical mile (kg/nm) 230.1
fuel_per_transport_work Fuel per transport work (g/t·nm) 6.4
Energy Efficiency
technical_efficiency Technical efficiency indicator and its value as reported, or Not Applicable EEXI (7.5 gCO₂/t·nm)
Voyage Data
total_time_at_sea Total time spent at sea (hours) 6500.0
time_at_sea_through_ice Time at sea through ice (hours) 0.0
distance_through_ice Distance travelled through ice (nautical miles) 0.0
port_calls_within_eu Number of port calls within EU/EEA 45
port_calls_outside_eu Number of port calls outside EU/EEA 30
Verifier
verifier_name Name of the accredited verifier Accredited verifier
verifier_address Verifier business address Hamburg, Germany
verifier_accreditation Verifier accreditation body DAkkS

Casualty Data (/vessel/{id}/casualties)

Field Description Example
occurrenceUuid Unique identifier for the casualty event 550e8400-e29b-41d4...
nameOfShip Array of vessel names involved ["EVER GIVEN"]
imoNr Array of IMO numbers of vessels involved ["9811000"]
dateOfOccurrence Date the incident occurred 2021-03-23
occurrenceSeverity Severity classification Very Serious
eventType Array of event type classifications ["Grounding"]
investigatingState State conducting the investigation Panama
finishedInvestigation Whether investigation is complete true
livesLostTotal Total fatalities "0"
peopleInjuredTotal Total number of people injured (string) "0"
casualtyReportNr Casualty report reference number MCA/2021/001
pollution Whether pollution resulted from the incident false

Data sources & attribution. Emissions and casualty data: © European Union — source European Maritime Safety Agency (EMSA): THETIS-MRV (EU MRV, Regulation (EU) 2015/757) and the European Marine Casualty Information Platform (EMCIP). Reused under the European Commission reuse notice (Commission Decision 2011/833/EU), which authorises reuse for commercial and non-commercial purposes with acknowledgement of the source. Data may be transformed and combined; EMSA does not endorse this service.

Ready to Use Regulatory Records?

Try these endpoints interactively in the API Explorer, complete with live examples and response previews.