gexbot api
general

eod report

Downloads the latest available daily End-of-Day (EOD) summary report for a specified ticker.

GET/hist/eod/{TICKER}Classic Tier

Downloads the daily End-of-Day summary ZIP report for a specified ticker. Available to all active subscriptions (Classic, State, Orderflow, Quant).

Use daily EOD reports to continuously forwardfill and maintain local backtesting databases. Available via the web portal (Account → Historical Data) and programmatically via this endpoint.

Subscription Tier Inclusions

The contents of the downloaded ZIP archive reflect your active subscription tier:

Active SubscriptionIncluded Data in EOD Archive
ClassicDaily Open Interest, Volume, Net GEX levels, Major levels, and Zero Gamma.
StateClassic data + State classified orderflow profiles, DEX order book delta, and Convexity maps.
Orderflow / QuantClassic data + State data + complete intraday Orderflow time-series snapshots and flow regimes.

Availability Schedule

  • Daily Cold-Storage Export: Today's EOD report is published daily after 5:00 PM ET upon market settlement.
  • Intraday Requests: Requests made prior to 5:00 PM ET return the most recent completed prior trading session report.

Request

Example: /hist/eod/SPY

Path Parameters

NameTypeRequiredDescription
TICKERstringYesTicker symbol for the EOD report (e.g. SPY, SPX, QQQ, IWM, VIX, AAPL, NVDA, TSLA).

Headers

NameTypeDescription
AuthorizationstringRequired. Format: "Bearer <YOUR_API_KEY>"
User-AgentstringRequired. Identify your client application.
AcceptstringRequired. Set to application/zip.

Response

FieldTypeDescription
BodybinaryThe downloadable ZIP archive. Save the binary stream directly to disk.
Content-Typeheaderapplication/zip
Content-DispositionheaderSuggested filename, e.g. attachment; filename=eod_report_SPY_2026-06-26.zip.
curl -X GET "https://api.gex.bot/hist/eod/SPY" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "User-Agent: YourClientApp/1.0" \
  -H "Accept: application/zip" \
  --output eod_report_SPY.zip
import os
import requests

API_KEY = os.environ.get("GEXBOT_API_KEY")
url = "https://api.gex.bot/hist/eod/SPY"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "User-Agent": "BacktestingEngine/1.0",
    "Accept": "application/zip",
}

response = requests.get(url, headers=headers, stream=True)
response.raise_for_status()

filename = "eod_report_SPY.zip"
if "Content-Disposition" in response.headers:
    disposition = response.headers["Content-Disposition"]
    if "filename=" in disposition:
        filename = disposition.split("filename=")[1].strip('"')

with open(filename, "wb") as f:
    for chunk in response.iter_content(chunk_size=8192):
        f.write(chunk)

print(f"Saved EOD report to {filename}")

On this page