{"openapi":"3.1.0","info":{"title":"Carbon Footprint API","version":"1.0.0","description":"Estimate CO2e emissions for everyday activities using the official DEFRA 2023 GHG conversion factors: road and rail travel (per kilometre by vehicle type, split across passengers), flights (by airport IATA pair with great-circle distance, or by distance, across cabin classes and round trips), grid electricity (by kilowatt-hour and country carbon intensity) and direct fuel combustion (by litres and fuel type). A factors endpoint exposes every emission factor, supported vehicle and fuel type, and the country grid-intensity table. Each result returns CO2e in kilograms, tonnes and grams. Every endpoint accepts input via the query string or the request body and returns lean JSON. Pure server-side compute (no third-party upstream), so responses are instant and always available. Ideal for travel and booking flows, sustainability dashboards, ESG and Scope-3 reporting, and carbon-aware product features.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/carbonfootprint-api","description":"oanor gateway"}],"tags":[{"name":"Carbon"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/electricity":{"get":{"operationId":"get_v1_electricity","tags":["Carbon"],"summary":"Grid electricity emissions","description":"","parameters":[{"name":"kwh","in":"query","required":true,"description":"Energy in kWh","schema":{"type":"string"},"example":"1000"},{"name":"country","in":"query","required":false,"description":"ISO-2 country code or WORLD","schema":{"type":"string"},"example":"DE"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"input":{"kwh":1000,"country":"DE"},"co2e_g":381000,"co2e_kg":381,"co2e_tonnes":0.381,"grid_intensity_g_per_kwh":381},"meta":{"timestamp":"2026-05-30T22:48:32.143Z","request_id":"085590aa-b93f-4b1f-b24f-61adaf89c9a7"},"status":"ok","message":"Electricity emissions estimated","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/factors":{"get":{"operationId":"get_v1_factors","tags":["Carbon"],"summary":"All emission factors & options","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"source":"DEFRA 2023 GHG conversion factors; grid intensities Ember/OWID 2023; airport coords OpenFlights","vehicle_types":["car_petrol","car_diesel","car_hybrid","car_electric","car_average","motorbike","bus","coach","train_national","train_metro","tram","bicycle","walking"],"flight_classes":{"first":4,"economy":1,"premium":1.6,"business":2.9},"grid_countries":["WORLD","US","GB","DE","FR","ES","IT","NL","BE","PL","SE","NO","DK","FI","CH","AT","IE","PT","GR","CN","IN","JP","KR","AU","CA","BR","RU","ZA","MX","ID","TR","SA","AE","NG","EG","AR","CL","NZ","IS","PK","TH","VN","MY","PH","UA"],"airports_available":6072,"flight_bands_kg_per_km":{"domestic":0.246,"long_haul":0.148,"short_haul":0.151,"international":0.139},"fuel_types_kg_per_liter":{"lpg":1.51,"diesel":2.68,"petrol":2.31,"kerosene":2.54,"heating_oil":2.96},"grid_intensity_g_per_kwh":{"AE":492,"AR":307,"AT":158,"AU":549,"BE":167,"BR":99,"CA":120,"CH":45,"CL":288,"CN":531,"DE":381,"DK":180,"EG":478,"ES":156,"FI":79,"FR":56,"GB":238,"GR":341,"ID":622,"IE":326,"IN":713,"IS":28,"IT":331,"JP":494,"KR":436,"MX":423,"MY":585,"NG":307,"NL":328,"NO":29,"NZ":97,"PH":611,"PK":419,"PL":662,"PT":190,"RU":361,"SA":659,"SE":41,"TH":513,"TR":434,"UA":234,"US":369,"VN":475,"ZA":709,"WORLD":480},"vehicle_factors_kg_per_km":{"bus":0.102,"tram":0.029,"coach":0.027,"bicycle":0,"walking":0,"motorbike":0.114,"car_diesel":0.168,"car_hybrid":0.12,"car_petrol":0.17,"car_average":0.171,"train_metro":0.028,"car_electric":0.047,"train_national":0.035}},"meta":{"timestamp":"2026-05-30T22:48:32.213Z","request_id":"d8881282-d11b-46d2-8cd3-d6dbdcd153e1"},"status":"ok","message":"Factors retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/flight":{"get":{"operationId":"get_v1_flight","tags":["Carbon"],"summary":"Air travel emissions","description":"","parameters":[{"name":"from","in":"query","required":false,"description":"Origin airport IATA","schema":{"type":"string"},"example":"LHR"},{"name":"to","in":"query","required":false,"description":"Destination airport IATA","schema":{"type":"string"},"example":"JFK"},{"name":"distance_km","in":"query","required":false,"description":"Distance (if no airports)","schema":{"type":"string"},"example":"5500"},{"name":"class","in":"query","required":false,"description":"economy|premium|business|first","schema":{"type":"string"},"example":"economy"},{"name":"passengers","in":"query","required":false,"description":"Passengers","schema":{"type":"string"},"example":"1"},{"name":"round_trip","in":"query","required":false,"description":"Round trip","schema":{"type":"string"},"example":"true"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"input":{"to":"JFK","band":"long_haul","from":"LHR","class":"economy","passengers":1,"round_trip":true,"distance_km":5539.7},"co2e_g":1639738,"co2e_kg":1639.738,"co2e_tonnes":1.639738,"per_passenger":{"co2e_g":1639738,"co2e_kg":1639.738,"co2e_tonnes":1.639738},"class_multiplier":1,"factor_kg_per_km":0.148},"meta":{"timestamp":"2026-05-30T22:48:32.291Z","request_id":"ea6f307a-6f49-4db9-8e3c-cdf9e3e7450e"},"status":"ok","message":"Flight emissions estimated","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/fuel":{"get":{"operationId":"get_v1_fuel","tags":["Carbon"],"summary":"Fuel combustion emissions","description":"","parameters":[{"name":"liters","in":"query","required":true,"description":"Litres of fuel","schema":{"type":"string"},"example":"40"},{"name":"fuel_type","in":"query","required":false,"description":"petrol|diesel|lpg|kerosene|heating_oil","schema":{"type":"string"},"example":"diesel"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"input":{"liters":40,"fuel_type":"diesel"},"co2e_g":107200,"co2e_kg":107.2,"co2e_tonnes":0.1072,"factor_kg_per_liter":2.68},"meta":{"timestamp":"2026-05-30T22:48:32.362Z","request_id":"01d80ca3-7ebc-46ed-a68c-47845560da21"},"status":"ok","message":"Fuel emissions estimated","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/vehicle":{"get":{"operationId":"get_v1_vehicle","tags":["Carbon"],"summary":"Road/rail travel emissions","description":"","parameters":[{"name":"distance_km","in":"query","required":true,"description":"Distance in km","schema":{"type":"string"},"example":"100"},{"name":"vehicle","in":"query","required":false,"description":"car_petrol|car_diesel|car_electric|bus|train_national|...","schema":{"type":"string"},"example":"car_petrol"},{"name":"passengers","in":"query","required":false,"description":"Split across passengers","schema":{"type":"string"},"example":"1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"input":{"vehicle":"car_petrol","passengers":1,"distance_km":100},"co2e_g":17000,"co2e_kg":17,"co2e_tonnes":0.017,"per_passenger":{"co2e_g":17000,"co2e_kg":17,"co2e_tonnes":0.017},"factor_kg_per_km":0.17},"meta":{"timestamp":"2026-05-30T22:48:32.439Z","request_id":"dda06509-0601-477d-ac21-55857457182b"},"status":"ok","message":"Vehicle emissions estimated","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":22000,"rps_limit":3,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":750,"monthly_call_quota":280000,"rps_limit":12,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2300,"monthly_call_quota":2200000,"rps_limit":40,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5800,"monthly_call_quota":11000000,"rps_limit":120,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/carbonfootprint-api"}