Train: REM
Documentation on this page is aligned to REM methodology v2.4 (integration and Calculation API payloads). Use "methodology": "REM" in all new integrations. The legacy value "SQUAKE" is still accepted as an alias and is normalized to REM by the API.
If you omit methodology on a train item, the API defaults to REM for that item.
Overview
REM is an operator- and country-aware rail methodology. It selects an emission factor (grams COβe per passenger-kilometre) using a deterministic tiered resolver, then multiplies by distance and passenger count.
Supplying operator_name, ISO country codes, departure_date, and energy_scope when you have them improves tier matching and makes results easier to audit.
Factor resolution (tiers)
REM applies this order:
Tier 1 β Operator-reported Used when
operator_namematches operator-specific factors for the requestedenergy_scope,train_type, and (when needed)fuel_type/ year.Tier 2 β Not used Tier 2 (operator traction-mix proxy) is not implemented in production and is intentionally skipped. If Tier 1 does not match, resolution continues with Tier 3. Do not expect a Tier 2 step in the fallback chain.
Tier 3 β Country-published Uses country-level methodology data when Tier 1 does not apply and a country context is available (see Country context below).
Tier 4 β Activity-based Uses fuel, traction mix, and electricity carbon intensity data for the country / region when Tier 3 does not yield a factor.
Tier 5 β Global constant Well-to-wheel global rail averages (IEA-based constants), with a pre/post cut-off driven by
departure_datewhen present.
Country context for Tiers 3β4: The resolver uses origin_country if set, otherwise destination_country (both optional). Values should be ISO 3166-1 alpha-2 (e.g. DE, SE). The API accepts other resolvable country inputs and normalizes to alpha-2 where possible (e.g. UK β GB). If neither country field is available, Tier 1 may still apply; otherwise resolution falls through toward Tier 5.
Factor tables are maintained as CSV bundles backing REM; methodology and data lineage are described in your internal REM v2.4 source document and operator-factor exports.
Distance handling
You must provide one of the following (after validation):
originanddestination(resolved to a route distance), ordistance_in_km(positive number), orroute_coords: an array of at least two[longitude, latitude]pairs (WGS84). Longitude must be in [-180, 180], latitude in [-90, 90].
Precedence: If distance_in_km is set together with origin / destination, distance_in_km is used for the calculation distance.
Corrections:
If you send
route_coords, the API computes a border-aware path distance (per-country segments, train-type detour factor from REM data). That total becomes the distance used for emissions; no additional βair distanceβ correction is applied on top.If you send
distance_in_kmwithoutroute_coords, REM still applies the air-distance correction used for straight-line or user-supplied distances (so driven distance is consistent with the methodology).For audit / debugging, expanded item metadata may include a
border_distance_breakdownwhenroute_coordswere used (sequential segments and totals per ISO alpha-3 country). If some segments cannot be attributed to a country, a warning may be present.
Sample API Requests
A. Without audit mode (for pre-booking/quotes)
B. With audit mode (for finalized/post-booking calculations)
Note:
audit_foris optional. Provide it when calculating on behalf of a specific Auditable entity; otherwise omit.
C. Route path (route_coords) without origin/destination
route_coords) without origin/destinationWhen route_coords is valid, origin and destination are not required for distance validation.
API request fields
type:"train"(required).methodology:"REM"recommended."SQUAKE"is accepted as a legacy alias. If omitted, the API defaults train items to REM.external_reference: Unique id for the item in the request (helps map results to inputs). Max length 128 characters.number_of_travelers: Integer β₯1. Default1.origin,destination: Location strings as in other train methodologies (addresses, IATA/ICAO, UN/LOCODE, coordinates, UIC/provider codes β see Origin/destination formats below). Required unless you supplydistance_in_kmor validroute_coords.distance_in_km: Optional. If provided together withorigin/destination, this value wins. Subject to REM air-distance correction unlessroute_coordsare used.route_coords: Optional. Array of[lon, lat]pairs; minimum 2 points. Each pair must have exactly two numbers. Used for border-aware distance and detour factor.train_type: One of:average,high_speed,intercity,regional,long_distance,tram,metro,light_rail. API default when omitted:high_speed.fuel_type:diesel,electricity,hydrogen,hybrid. Defaultdiesel. Used for Tier 1 disambiguation when an operator has multiple fuel rows, and for Tier 4 modelling where applicable.seat_type:first_classorsecond_class. Defaultfirst_class.operator_name: Optional; enables Tier 1 when the operator exists in the REM operator database. See the supported operators database.departure_date: Optional. ISO 8601 calendar date only:YYYY-MM-DD(date-only, not a full timestamp). Used to select year-matched factors. If invalid, the API returns:Departure date '<value>' is not a valid ISO-8601 date.origin_country,destination_country: Optional. ISO 3166-1 alpha-2 recommended (e.g.DE,FR). Other resolvable country strings may be accepted and normalized to alpha-2. Invalid codes return a parameter error. For country-based tiers,origin_countryis preferred overdestination_countrywhen both are set.energy_scope:wtw(well-to-wheel, default) orttw(tank-to-wheel). Invalid values return an error listing allowed scopes.audit: Optional boolean for immutable audit records (feature must be enabled for your account).
Origin/destination formats (enriched)
We will try to resolve origin / destination regardless of format. Ideally:
Addresses: Post/standard postal format.
Airports: IATA/ICAO (
^[A-Z]{3,4}$, e.g.MUC).Ports / trade: UN/LOCODE (
^[A-Z]{2}\W?[A-Z2-9]{3}$, e.g.DEHAM).Coordinates:
^[-+]?\d{1,3}\.\d{1,10}\s?,\s?[-+]?\d{1,3}\.\d{1,10}$(e.g."+40.712,-74.006").
UIC and provider codes
Invalid or unsupported codes may trigger fallback to more generic factors (non-journey-specific).
Format:
<provider>:<uic_code>(e.g.sncf:FRAAA).Possible provider prefixes:
uic,uic8_sncf,sncf,sncf_tvs,entur,db,busbud,distribusion,flixbus,cff,leoexpress,obb,trenitalia,trenitalia_rtvt,trenord,ntv_rtiv,ntv,hkx,renfe,atoc,benerail,westbahn.
Examples
Notes
If both
origin/destinationanddistance_in_kmare provided,distance_in_kmis used.Unresolvable locations produce validation errors or methodology fallbacks as described for train generally.
Sample API response
When you expand items, each train item may include algorithm_specifics describing the resolved REM tier and matched metadata (for example tier, energy_scope, gco2e_per_pax_km, year_matched, country_matched, operator_matched, source_links, and resolver details). Exact shape follows the live API.
The numeric / string formatting of
algorithm_specificsfields matches the production API; treatgco2e_per_pax_kmas a decimal string or number per response schema.
Bibliography
"Which Form of Transport Has the Smallest Carbon Footprint?" Our World in Data, ourworldindata.org/travel-carbon-footprint.
CO2- Berechnung GeschΓ€ftsreise VDR-Standard Teil I (2016, March). VDR. Retrieved from https://www.atmosfair.de/wp-content/uploads/vdr_reportingstandard_teil1_30032016-1.pdf
CO2- Berechnung GeschΓ€ftsreise VDR-Standard Teil II (2016, March). VDR. Retrieved from https://www.atmosfair.de/wp-content/uploads/vdr_reportingstandard_teil2_30032016.pdf
VDR standard CO2 calculation for business trips (n.d.). VDR. Retrieved from https://www.vdr-service.de/arbeitsvorlagen/vdr-standard-co2-berechnung-geschaeftsreise
Thistlethwaite, G., et al. (2022, June). 2022 Government Greenhouse Gas Conversion Factors for Company Reporting. Department for Business, Energy, & Industrial Strategy. Retrieved from https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/1083857/2022-ghg-cf-methodology-paper.pdf
Environmental Mobility Check. nachhaltigkeit.deutschebahn.com/en/measures/environmental-mobility-check.
Polkinghorne, John. "Public Transport Emissions in NZ." Greater Auckland, 13 Dec. 2013, www.greaterauckland.org.nz/2013/07/19/public-transport-emissions-in-nz.
Ngila, Faustine. "Tanzania's New Electric Rail Will Help It Cut Carbon Emissions." Quartz, 20 July 2022, qz.com/africa/2185031/tanzanias-new-electric-rail-will-help-it-cut-carbon-emissions.
Miller, C. Andrew. "Savings in Per-passenger CO2 Emissions Using Rail Rather Than Air Travel in the Northeastern U.S." Journal of the Air &Amp; Waste Management Association, vol. 71, no. 12, Informa UK Limited, Sept. 2021, pp. 1458β71. https://doi.org/10.1080/10962247.2020.1837996.
Last updated