Indices Data API

Free Index Historical Data API

Query cash and CFD index history for US and European benchmarks. Build session models, backtest index systems and compare volatility across markets.

Updated 2026-11-02 ? Data refreshed from the AlgoSpecial catalog.

63index datasets
7index symbols
3.05Mindex OHLC rows
2019earliest coverage

Index symbols and timeframes

The index group contains 63 datasets across seven symbols: US500, USTEC, US30, UK100, STOXX50, JP225 and AUS200. Coverage starts in 2019 for most symbols and runs through 2026.

SymbolIndexAPI value
US500S&P 500 CFDUS500
USTECNasdaq 100 CFDUSTEC
US30Dow Jones CFDUS30
UK100FTSE 100 CFDUK100
STOXX50Euro Stoxx 50 CFDSTOXX50
JP225Nikkei 225 CFDJP225
AUS200ASX 200 CFDAUS200

Index datasets support M1, M5, M15, M30, H1, H4, D1, W1 and MN1. Cash indices have exchange sessions, so overnight and weekend gaps are expected.

Index OHLC request

Use the same OHLC endpoint and pass the index symbol. The example below requests USTEC M15. Index prices are CFD values from the source broker, not official exchange settlement prices.

Session warning: index cash markets are not 24/7. Do not treat every overnight gap as a data error. The quality report separates normal market closures from unexpected gaps.

Index data quality

Index feeds can differ from official index values because they are CFD quotes from a broker. Use them for trading-system research, not as a replacement for licensed exchange data. The quality report checks duplicates, OHLC violations, gaps, outliers, flat bars and weekend bars.

Index API use cases

US session models

Test opening-range and momentum rules on US500 or USTEC.

Cross-index comparison

Compare volatility and correlation across US, UK, EU and Asia.

MT5 backtests

Export index bars for MT5 or a Python research pipeline.

Index API limits

The API is free with 60 requests per minute, 1,000 requests per day, 50,000 rows and 366 days per request. For a multi-year M1 index history, split the request by year.

Request examples

cURL - USTEC M15 JSON

curl "https://www.algospecial.com/api/ohlc.php?symbol=USTEC&tf=M15&from=2026-01-01&to=2026-03-31&format=json"

Python - US500 daily bars

import pandas as pd
import requests

params = {
    "symbol": "US500",
    "tf": "D1",
    "from": "2024-01-01",
    "to": "2025-12-31",
}
r = requests.get("https://www.algospecial.com/api/ohlc.php", params=params, timeout=30)
r.raise_for_status()
df = pd.DataFrame(r.json()["data"])
df["Timestamp"] = pd.to_datetime(df["Timestamp"])
print(df.head())

All timestamps are broker server time. Some legacy forex exports return 0 for TickVolume and Spread because those fields were not present in the source feed.

Indices API FAQ

Which indices are available?

US500, USTEC, US30, UK100, STOXX50, JP225 and AUS200.

Are these official exchange prices?

No. They are broker CFD quotes from the source feed. Use them for trading research, not as licensed exchange settlement data.

Why are there overnight gaps?

Cash index markets have exchange sessions. Overnight and weekend gaps are expected and are reported separately from unexpected data gaps.

Can I request multiple indices at once?

One request returns one symbol and timeframe. Make separate requests for each index and cache the results.

Is the index API free?

Yes, with the public limits of 60 requests per minute and 1,000 requests per day.

🚀 Invite friends — Earn $5 You both get $5 credit on Go Ad · opencode.ai AI-Powered Coding Agent — Try Free Build apps, fix bugs & ship faster with opencode. Get $5 free credit when you join. × Ad · quo.com QuoPhone — $20 Visa Gift Card Free Sign up to Quo, subscribe 3 months, get a $20 Visa gift card. Atif's referral gift for you. ×