Introducing ICE Futures US

June 18, 2025
Title picture for Introducing ICE Futures US

We're excited to announce that ICE Futures US is now available on Databento, including real-time data and over 6 years of historical coverage. This dataset is sourced directly from ICE’s proprietary iMpact feed and captures full order book depth, market statistics, and reference data for all listed futures and options on futures.

Users can access the data in L1, L2, or L3 granularity, as well as in trades, OHLCV, and other formats. A complete list of supported schemas is available in our catalog.

ICE Futures US is one of the two largest U.S. exchanges for trading soft commodity futures. This dataset covers:

  • Soft commodities like cocoa, coffee, cotton, canola, sugar, frozen orange juice, and grains, as well as precious metals contracts.
  • FX futures including the U.S. Dollar Index (USDX), the leading benchmark for the dollar’s value against global currencies.
  • Equity derivatives on over 100 MSCI indices with U.S. and global exposure.
  • All listed outrights, spreads, options, and complex strategies across every expiration.

ICE Futures US data can be requested using its dataset ID: IFUS.IMPACT. Visit our pricing page to explore subscription plans, which start at $199/month.

Historical coverage begins on December 23, 2018. Data is available for usage-based rates starting at $10.00/GB or included with any subscription.

The example below demonstrates how to request one day of L3 (MBO) data for cocoa futures using our Python client library.

import databento as db

client = db.Historical()

data = client.timeseries.get_range(
    dataset="IFUS.IMPACT",
    symbols="CC  FMU0025!",
    schema="mbo",
    start="2025-06-13",
)

print(data.to_df())

Real-time access is available with a Plus or Unlimited plan.

The example below demonstrates how to stream trades data for cocoa futures using our Python client library.

import databento as db

live = db.Live()

live.subscribe(
    dataset="IFUS.IMPACT",
    symbols="CC  FMU0025!",
    schema="trades",
)

for record in live:
    print(record)