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 Subscription | Included Data in EOD Archive |
|---|---|
| Classic | Daily Open Interest, Volume, Net GEX levels, Major levels, and Zero Gamma. |
| State | Classic data + State classified orderflow profiles, DEX order book delta, and Convexity maps. |
| Orderflow / Quant | Classic 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
| Name | Type | Required | Description |
|---|---|---|---|
TICKER | string | Yes | Ticker symbol for the EOD report (e.g. SPY, SPX, QQQ, IWM, VIX, AAPL, NVDA, TSLA). |
Headers
| Name | Type | Description |
|---|---|---|
Authorization | string | Required. Format: "Bearer <YOUR_API_KEY>" |
User-Agent | string | Required. Identify your client application. |
Accept | string | Required. Set to application/zip. |
Response
| Field | Type | Description |
|---|---|---|
Body | binary | The downloadable ZIP archive. Save the binary stream directly to disk. |
Content-Type | header | application/zip |
Content-Disposition | header | Suggested 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.zipimport 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}")