Real-Time & Historical Data

Commodities Data API

Energy, Precious Metals, & Indices

Execute your arbitrage and HFT strategies with confidence. Our Commodities API provides the stable, high-precision data source you need, covering key global exchanges for both real-time & historical data.

  • Extensive Market Coverage
  • Low-Latency WebSocket Feeds
  • Developer-Friendly API

All Major Futures One Single API

We provide full coverage of leading contracts, from precious and industrial metals to energy and indices.

XAU
XAU
XAU
$-
- %
XAG
XAG
XAG
$-
- %
XCU
XCU
XCU
$-
- %
NGAS
NGAS
NGAS
$-
- %
Start Your Free Trial

Instant access. No credit card required.

{
  "s": "XAGUSD",
  "respList": [
    {
      "t": "1752868800",
      "h": "38.22500",
      "o": "38.12555",
      "l": "38.11850",
      "c": "38.16500",
      "v": "1003.0",
      "vw": "38292.383500",
      "pc": "0.12%",
      "pca": "0.04450"
    }
  ]
}
Plug-and-Play Data Feeds

From Raw Data
To Actionable Insight

Don't let tedious data cleaning and API debugging slow you down. Our Commodities API delivers highly standardized, clean JSON data that is properly formatted and ready for immediate use in strategy backtesting, model training, or data visualization.

Real-Time Error Rate < 0.01%
Backtest Data Accuracy: 99.99%
Get Your Free API Key
No credit card required

Your Trading Edge Powered by Data

Everything you need for a superior trading system. From backtesting to arbitrage, Infoway is your stable and reliable technology foundation.

Global Market Coverage

Access over 20,000 trading assets to meet your diverse needs.

Download Symbol List

Unified API Interface

Integrate quickly with our clear documentation. Get started in 30 minutes.

Real-Time Data Streaming

High-frequency WebSocket push with millisecond latency.

Deep Historical Data

Tick-level historical data for robust and accurate strategy backtesting.

Start Your Free Trial

Instant access. No credit card required.

Solutions for Every Financial Use Case

Our API serves as the data backbone for diverse fintech solutions, tailored to your specific application.

Powering Quantitative & HFT

Leverage real-time and historical data for both backtesting and live trading.

Launch a Trusted CFD Trading Platform

Stream the transparent, high-quality data feeds that top CFD exchanges rely on.

Fueling AI-Driven Financial Analysis

Inject high-grade financial data into your machine learning models and AI analysis platforms.

Rapid Integration

Go Live in Minutes

From Python for quants to Java and C# for high-performance systems, our code samples and SDKs make integration seamless, allowing your dev team to connect our API across your entire stack.

Live CandlesticksHistorical CandlesticksMarket DepthTick-by-Tick TradesLast Trade
package org.example.ws;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpExample {
    public static void main(String[] args) {
        try {
            String apiUrl = "https://data.infoway.io/stock/batch_kline/1/10/002594.SZ%2C00285.HK%2CTSLA.US";
            URL url = new URL(apiUrl);

            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            connection.setRequestMethod("GET");

            connection.setRequestProperty("User-Agent", "Mozilla/5.0");
            connection.setRequestProperty("Accept", "application/json");

            connection.setRequestProperty("apiKey","yourApikey");

            int responseCode = connection.getResponseCode();
            System.out.println("HTTP code: " + responseCode);

            BufferedReader reader;
            if (responseCode == HttpURLConnection.HTTP_OK) {
                reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            } else {
                reader = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
            }

            String line;
            StringBuilder response = new StringBuilder();

            while ((line = reader.readLine()) != null) {
                response.append(line);
            }

            reader.close();

            System.out.println("message: " + response);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

FAQ

If you need any help, please feel free to contact our support team.

Go live in under 30 minutes.

Get Started. For Free!

Your free plan includes everything you need to get started:

Free API calls & WS for real-time and historical data
Full coverage of all our markets
Direct support from our developer team
Get Your Free API Key
No credit card required.