Page:
Product co2api-apis-request-response-new
Clone
1
Product co2api-apis-request-response-new
zemion edited this page 2026-07-06 14:29:27 +02:00
Table of Contents
Mirrored from
/mnt/DATA/Nextcloud/ADD ideas UG/Products/co2api/apis/request_response_new.md. Origin:product:co2api. Active tasks and changing state belong in Gitea issues; this wiki page is durable project context.
Harmonized request / response overview
This table consolidates the previously separate provider tables into one consistent structure.
| Provider | Operation / variant | Endpoint | Request shape | Response shape | Mapping / use notes | Status |
|---|---|---|---|---|---|---|
| calco2la.to | Flight estimate | POST /api/flight or planned POST /api/v1/flight/estimate |
{ api_key?, departureDate?, rfi?, pricePerTon?, flights:[{ departure, arrival, passengerCount, flightCount, travelClass, charter, aircraftType, departureDate, calculationMethod, via, rfi, pricePerTon }] } |
{ status, errors, departureDate, rfi, pricePerTon, co2, co2WithoutRfi, offsetInEUR, distance, distanceInCriticalAltitudes, fuelInLiter, flights:[...] } |
Native/reference provider. Maps well to EmissionCalculationResult with nested segments. |
High |
| Atmosfair | Flight estimate | POST /api/emission/flight |
{ accountId/username, password, calculationMethod?, flights:[{ departure/arrival OR flightNumber/departureDate, passengerCount, flightCount, travelClass, charter, aircraftType }] } |
{ status, errors, offsetInEUR, co2, co2WithoutRfi, cruiseAltitude, distance, distanceInCriticalAltitudes, fuelInLiter, flights:[...] } |
Very similar to calco2la.to; supports multi-hop by sending one flight element per segment. Fits EmissionCalculationResult.segments. |
High |
| Atmosfair | Rail / hotel / car rental estimate | POST /api/emission/rail, POST /api/emission/hotel, POST /api/emission/carrental |
Rail supports stations or distance; hotel supports overnights or price models; car rental supports distance, price, or days. | Shared simple pattern: { status, errors, offsetInEUR, co2 }; car follows hotel pattern. |
Not flight-only. Confirms the unified schema should remain domain-neutral for future travel.rail, travel.hotel, travel.car. |
High |
| Google TIM | Direct flight emissions | POST /v1/flights:computeFlightEmissions |
{ flights:[{ origin, destination, operatingCarrierCode, flightNumber, departureDate:{ year, month, day } }] } |
{ flightEmissions:[{ flight, source, emissionsGramsPerPax:{ first, business, premiumEconomy, economy }, ... }], modelVersion } |
Requires flight-number-level data. Produces per-cabin-class grams per passenger, not one selected cabin result. | High |
| Google TIM | Scope 3 flight emissions | POST /v1/flights:computeScope3FlightEmissions |
{ flights:[{ departureDate, cabinClass, origin?, destination?, carrierCode?, flightNumber?, distanceKm? }], modelVersion? } |
{ flightEmissions:[{ flight, wtwEmissionsGramsPerPax, ttwEmissionsGramsPerPax, wttEmissionsGramsPerPax, source }], modelVersion } |
Best Google TIM option for Scope 3 reporting. Maps to wtwKg, ttwKg, wttKg. |
High |
| myclimate | Flight Calculator v1 | POST /v1/flight_calculators.json |
{ from, to, via?, passengers?, roundtrip?, flight_class? } |
{ kg, km, fuel_kg_per_passenger, price_in_eur_cents?, price_in_chf_rappen?, input_params, errors? } |
Simple root-result mapping. Limited leg detail. | High |
| myclimate | Flight Calculator v2 | POST /v2/flight_calculators.json |
Same as v1 plus aircraft_type_leg_1, aircraft_type_leg_2. |
Same general response as v1. | Better than v1 if aircraft type is available. Still mainly root-result mapping. | High |
| myclimate | Bulk Flight Calculator | POST /v1/bulk_flight_calculators.json |
{ flights:[{ id, from, to, aircraft_type?, flight_class }] } |
{ sum_co2eq_kg, sum_km, sum_price_in_eur_cents?, flights:[{ id, from, to, flight_class, aircraft_type, co2eq_kg, km, fuel_kg_per_passenger, price_in_eur_cents?, status }] } |
Closest myclimate option to the unified segment model. Maps root totals plus segments[]. |
High |
| GoClimate | Flight footprint | GET /v1/flight_footprint |
Query params: segments[n][origin], segments[n][destination], cabin_class, currencies[]. |
{ footprint, offset_prices:[{ amount, currency, offset_url, locale }], details_url? } |
Returns one total plus offset prices. Segment-level output is not exposed. | High |
| C-Level | Flight offset quote / calculation | POST /v1/calculate/flight |
{ IataCodes, IsReturn?, Passengers, Class?, Type?, AircraftModel?, Reference, CurrencyCode? } |
{ Co2PerPerson_kg, Passengers, FlightClass, TotalDistance_Km, TotalDistance_Miles, PerPersonDistance_Km, PerPersonDistance_Miles, PerPersonPrice, QuoteId, Co2Total_Kg, Co2Total_Tonne, TotalPrice, CurrencyCode, QuoteExpiry, MetaData, ShortDescription } |
Quote/offset-oriented provider. Needs quote, offset, perPassenger, and perPassengerPrice fields in unified model. |
High |
| KlimaLink | Flight calculation | POST /api/v1/calculateEmission |
{ flightActivities:[{ index, departure/arrival OR flightNumber/flightDate, aircraftType?, airline?, passengerCount?, flightCount, travelClass? }] } |
{ flightActivities:[{ index, status, emissionKgCO2e, errors, type }], status, emissionKgCO2eTotal } |
Strong batch/list model. Maps cleanly to root total plus segments[] with per-segment status/errors. |
High |
| KlimAPI v2 | Standalone flight calculation | POST https://api.klimapi.com/v2/calculate |
`{ calculation_options:[{ type:"travel-air", activity:"flights", specification:"short-haul | long-haul | average", detail:"economy_class | business_class |
| KlimAPI v1 | Standalone flight calculation | POST https://api.klimapi.com/v1/calculate |
`{ calculation_options:[{ type:"flight", departure, destination, travel_class:"average | economy | premium | business |
| Climatiq | Travel flight distance | POST https://preview.api.climatiq.io/travel/v1-preview3/distance |
{ travel_mode:"air", origin:{ iata }, destination:{ iata }, year?, distance_km?, air_details? } |
{ co2e, co2e_unit:"kg", co2e_calculation_method, distance_km, origin, destination, direct_emissions, indirect_emissions, notices, source_trail } |
One-way, one passenger per call; preview feature. Maps well to root total plus metadata/source trail. | High / preview |
| Carbon Interface | Flight estimate | POST https://www.carboninterface.com/api/v1/estimates |
{ type:"flight", passengers, legs:[{ departure_airport, destination_airport }] } |
{ data:{ id, type:"estimate", attributes:{ passengers, legs, distance_value, distance_unit, estimated_at, carbon_g, carbon_lb, carbon_kg, carbon_mt } } } |
Good fit for root total plus request-leg echo. | High |
| TravelCO2 | Transport emissions, distance-based flight approximation | POST https://travelco2.com/api/v1/transport |
{ vehicle:{ type, fuel:{ type } }, distance, people, language? }; for flights, use flight vehicle keys such as flight-regular-economy plus fuel such as jetfuel. Distance is in meters. |
{ distance, people, ways, co2e, co2e_pp, vehicle:{ vehicle_count, type, title, fuel:{ type, title } }, type, title } |
Usable for travel.flight.estimate_emissions.distance only. Does not resolve airport pairs. Connector must provide/derive distance. |
Medium / distance-only |
| CarbonTracer | Routing-based flight estimate | GET https://api.carbontracer.uni-graz.at/routing/{apikey}/{typ}/{start}/{dest} plus optional /options={opts} |
Path params: typ, e.g. flight-economy, flight-business, flight-firstclass; start; dest; option airports for flight routing. |
{ response:{ success, warning, data:{ startLocation, endLocation, distanceDirect, distanceRoute, co2eq, occupancy, co2eq_occupancy, unitco2eq, unitdistance, requestType, ... } } } |
Good path-GET provider. Maps route distance, per-occupancy emissions, and location metadata. | High |
| CarbonTracer | Distance-only estimate | GET https://api.carbontracer.uni-graz.at/co2only/{apikey}/{typ}/{distance_km} |
Path params: typ, distance_km. |
{ response:{ success, warning, data:{ distance, co2eq, unitco2eq, unitdistance, requestType } } } |
Useful fallback if distance is already known. | High |
| IBM EIS Carbon Accounting | Transport / transportation and distribution | POST https://foundation.agtech.ibm.com/v2/carbon/carbon/transportation_and_distribution or possibly /carbon/transportation_and_distribution depending base URL normalization. |
Context object plus activityData:{ typeOfActivityData, vehicleType, distanceTravelled, numberOfPassengers?, totalWeightOfFreight?, unitOfMeasurement, fuelUsed?, fuelAmount?, unitOfFuelAmount? }. |
Response schema not visible in accessible docs. | Requires separate JWT flow via Auth/GetBearerForClient. Can model distance-based flight/transport, but response mapping remains provisional. |
Partial |
Normalization notes
Endpointnow always includes method and path/URL.Request shapeandResponse shapeare concise pseudo-JSON, not full schemas.Mapping / use notesreplaces the earlier mixed “Notes” and “Mapping consequence” columns.Statusmakes uncertainty explicit: High, Medium / legacy, Medium / distance-only, High / preview, or Partial.- Duplicate Atmosfair, C-Level, and KlimaLink rows were merged.
- Non-flight Atmosfair rows were kept because they influence the future domain-neutral schema.