OilPriceAPI insights

How to Convert TTF from €/MWh to $/MMBtu

By OilPriceAPI · Published · Example prices were pulled from the API on October 30 and carry their own timestamps

Multiply the TTF price in €/MWh by an EUR/USD rate from a nearby timestamp, then divide by 3.412142. That gives $/MMBtu, the unit Henry Hub and JKM are quoted in. With the prints the API returned at 2026-10-30 16:36:01 UTC and 2026-10-30 16:40:42 UTC: €104.17/MWh × 1.1168 = $116.34/MWh, ÷ 3.412142 = $34.10/MMBtu. Henry Hub at 2026-10-30 16:40:29 UTC was $2.88/MMBtu, so TTF was 11.8× Henry Hub.

The formula (and the reverse)

Two steps, in either order, because both are multiplications:

  • Currency: €/MWh × (USD per EUR) = $/MWh
  • Energy: $/MWh ÷ 3.412142 = $/MMBtu, because 1 MWh = 3.412142 MMBtu (1 MMBtu = 293.071 kWh)

Reverse it to put a dollar-per-MMBtu benchmark in TTF's unit: $/MMBtu × 3.412142 ÷ (USD per EUR) = €/MWh. Henry Hub's $2.88 becomes €8.80/MWh at the nearby rate. The factor is rounded to six decimal places; choose an exchange rate close in time to the gas print and show both timestamps.

Two-step conversion: euros per megawatt hour, times EUR/USD, gives dollars per megawatt hour; divided by 3.412142 gives dollars per MMBtuTTF print€104.17per MWh× EUR/USD$116.34per MWh÷ 3.412142$34.10per MMBtu
The two-step conversion with the 2026-10-30 prints. Source: OilPriceAPI DUTCH_TTF_EUR and EUR_USD.

Worked example, with timestamps

API prints used in the worked example, each with the timestamp the API returned
CodeValueUnitObserved (UTC)
DUTCH_TTF_EUR104.17€/MWh2026-10-30 16:36:01 UTC
EUR_USD1.1168USD per EUR2026-10-30 16:40:42 UTC
NATURAL_GAS_USD2.88$/MMBtu · NYMEX December 2026 contract (contract_month 2026-12)2026-10-30 16:40:29 UTC
DUTCH_TTF_NATURAL_GAS_USD116.27$/MWh2026-10-30 16:38:21 UTC
JKM_LNG_USD32.03$/MMBtu2026-10-30 00:01:04 UTC
  1. €104.17/MWh × 1.1168 USD/EUR = $116.34/MWh
  2. $116.34/MWh ÷ 3.412142 MMBtu/MWh = $34.10/MMBtu
  3. Check against the API's own dollar series: DUTCH_TTF_NATURAL_GAS_USD printed $116.27/MWh two minutes earlier, which is $34.08/MMBtu. The two conversions differ by about 1.97 cents; the different timestamps and source calculation may contribute, so do not treat them as identical observations.
  4. Compare: Henry Hub $2.88/MMBtu (11.8× lower than TTF), JKM $32.03/MMBtu (11.1× Henry Hub). The JKM print was at 2026-10-30 00:01:04 UTC, roughly 16 hours before the Henry Hub print; this is a dated comparison, not a simultaneous spread.

NATURAL_GAS_USD is the NYMEX front-month futures price (the December 2026 contract on publish day), not the EIA daily spot assessment. Those are different price bases; if you need the physical spot print, say so in your own labels. The live Henry Hub page shows the current contract month.

API shortcut

Both inputs come from /v1/prices/latest, so the whole conversion is four lines. The live TTF price in €/MWh page shows the same DUTCH_TTF_EUR series the call returns.

import requests
H = {"Authorization": "Token YOUR_API_KEY"}
get = lambda c: requests.get("https://api.oilpriceapi.com/v1/prices/latest", params={"by_code": c}, headers=H, timeout=10).json()["data"]
ttf, fx = get("DUTCH_TTF_EUR"), get("EUR_USD")
print(round(ttf["price"] * fx["price"] / 3.412142, 2), "$/MMBtu at", ttf["created_at"], "and", fx["created_at"])

If you would rather skip the exchange-rate step, DUTCH_TTF_NATURAL_GAS_USD is the same TTF series already converted to $/MWh; divide it by 3.412142 and you are done. The energy equivalency tool does the unit step interactively, and the natural gas data documentation lists every gas code.

Common errors

  • Mismatched timestamps. A TTF close from 17:00 CET multiplied by a EUR/USD rate from the next morning is not a conversion, it is two prices from two markets. Pull both at once and print both timestamps next to the result, as the snippet does.
  • Futures versus spot. NATURAL_GAS_USD is the NYMEX front month; around contract expiry the front month rolls and the series can step without the physical price moving. Comparing a TTF spot or day-ahead print to a Henry Hub futures print is fine for a ratio table, but label which is which.
  • Weekend carry-forward. Gas markets do not trade on Saturday and Sunday. A daily series carries Friday's value forward; a ratio computed on a Sunday using a weekday FX print from a different source is comparing a stale number to a fresh one. The API's freshness block tells you how old each print is.
  • Rounding the factor. 3.412 instead of 3.412142 moves a $34 result by about a cent and a half. Harmless for a chart, not harmless in an invoice. Use the full factor.
  • MWh versus kWh versus therm. UK NBP is quoted in pence per therm (1 therm = 0.1 MMBtu, 29.3071 kWh). Convert NBP to $/MMBtu with pence ÷ 100 × GBP/USD × 10. Do not reuse the 3.412 factor for it.

How many times Henry Hub, dated

TTF, JKM and Henry Hub in dollars per MMBtu on three dates with the TTF to Henry Hub multiple
DateTTF, $/MMBtuJKM, $/MMBtuHenry Hub, $/MMBtuTTF ÷ Henry HubJKM ÷ Henry Hub
Wed Oct 21, 2026 (daily average)28.6829.552.8110.2×10.5×
Thu Oct 29, 2026 (daily average)31.9032.352.9310.9×11.0×
Fri Oct 30, 2026 (latest print)34.1032.032.8811.8×11.1×

The daily-average rows use the API's DUTCH_TTF_NATURAL_GAS_USD bucket for that date (TTF already in dollars, ÷ 3.412142), NATURAL_GAS_USD and JKM_LNG_USD from /v1/prices/past_month?interval=1d. The last row is the latest print at the timestamps in the table above. The multiple moved from 10.2× to 11.8× in nine days, mostly because TTF rose from €87.33 to €104.17/MWh while Henry Hub stayed under $3. A Europe-to-US gap of this size is not an LNG margin: liquefaction, shipping and regasification sit between the two.

TTF, JKM and Henry Hub in dollars per MMBtu, October 21 daily average versus the October 30 latest print010203040$/MMBtu28.6829.552.81Wed Oct 21, 202634.1032.032.88Fri Oct 30, 2026TTFJKMHenry Hub
TTF, JKM and Henry Hub in $/MMBtu: October 21, 2026 daily averages versus the October 30, 2026 latest prints. Source: OilPriceAPI.

For the background on which benchmark means what, read Henry Hub vs TTF vs NBP for developers; for the TTF series itself and its product page, see the Dutch TTF price API. This article describes prices on the dates shown. It is not a forecast.

Pull TTF, EUR/USD, Henry Hub and JKM from one API

DUTCH_TTF_EUR, DUTCH_TTF_NATURAL_GAS_USD, EUR_USD, NATURAL_GAS_USD and JKM_LNG_USD are all on the same endpoint with the same timestamp fields, so the conversion above is reproducible on any day.

Building a product or workflow that needs oil prices?

Compare API plans, historical coverage, and support for your use case.

Explore API plans