{
  "generated_at": "2026-04-18T10:33:51.498945",
  "theta_endpoint": "localhost:25503",
  "api_version": "v3",
  "history_range": {
    "start": "2025-01-01",
    "end": "2026-03-18"
  },
  "working_endpoints": [
    "/v3/option/list/expirations \u2014 all expirations for a symbol",
    "/v3/option/history/open_interest \u2014 strike-level OI (wildcard strike, omit right for both C+P)",
    "/v3/option/history/eod \u2014 EOD OHLCV (wildcard strike)",
    "/v3/option/history/greeks/eod \u2014 full greeks+IV (wildcard strike, chunked 30 days)",
    "/v3/stock/list/symbols \u2014 stock symbol list",
    "/v3/stock/history/eod \u2014 stock EOD price history"
  ],
  "unavailable_endpoints": [
    "/v3/option/history/quote \u2014 wildcard times out (per-contract only = too slow)",
    "/v3/option/history/trade \u2014 wildcard times out",
    "/v3/option/snapshot \u2014 HTTP 404",
    "/v3/option/bulk/history/open_interest \u2014 HTTP 404",
    "/v3/stock/history/quote \u2014 HTTP 403 plan restriction"
  ],
  "data_notes": {
    "OI": "One data point per trading day when OI was updated (morning timestamp ~06:30)",
    "EOD": "OHLCV + bid/ask + volume per strike per day",
    "Greeks": "delta, gamma, theta, vega, rho, implied_vol, underlying_price + many 2nd-order greeks. Fetched in 30-day chunks per expiration to avoid timeouts on liquid names (200+ strikes).",
    "right_param": "Omitting right= returns both CALL and PUT in one request (verified)",
    "greeks_fix_v2": "Full-range requests for liquid expirations timeout at 90s. Fix: CHUNK_DAYS=30 + progress tracked per chunk so downloads resume mid-expiration. Rate sleep increased to 1.0s for greeks."
  },
  "symbols": {
    "TSLA": {
      "greeks": {
        "records": 1482499,
        "exps_done": 101,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/TSLA_greeks.jsonl.gz",
        "output_size_mb": 77.81
      }
    },
    "ARM": {
      "greeks": {
        "records": 160932,
        "exps_done": 83,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/ARM_greeks.jsonl.gz",
        "output_size_mb": 16.71
      }
    },
    "PLTR": {
      "greeks": {
        "records": 16518,
        "exps_done": 84,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/PLTR_greeks.jsonl.gz",
        "output_size_mb": 1.92
      }
    },
    "CRWD": {
      "greeks": {
        "records": 185104,
        "exps_done": 85,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/CRWD_greeks.jsonl.gz",
        "output_size_mb": 18.76
      }
    },
    "AMD": {
      "greeks": {
        "records": 55032,
        "exps_done": 85,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/AMD_greeks.jsonl.gz",
        "output_size_mb": 5.88
      }
    },
    "COIN": {
      "greeks": {
        "records": 222790,
        "exps_done": 34,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/COIN_greeks.jsonl.gz",
        "output_size_mb": 23.35
      }
    },
    "MSTR": {
      "greeks": {
        "records": 1514936,
        "exps_done": 84,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/MSTR_greeks.jsonl.gz",
        "output_size_mb": 165.34
      }
    },
    "SOFI": {
      "greeks": {
        "records": 36658,
        "exps_done": 84,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/SOFI_greeks.jsonl.gz",
        "output_size_mb": 3.91
      }
    },
    "SMCI": {
      "greeks": {
        "records": 0,
        "exps_done": 82,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/SMCI_greeks.jsonl.gz",
        "output_size_mb": 0
      }
    },
    "AAPL": {
      "greeks": {
        "records": 0,
        "exps_done": 102,
        "output_file": "/Users/lutherbot/.openclaw/workspace/data/thetadata_stock_full/greeks/AAPL_greeks.jsonl.gz",
        "output_size_mb": 0
      }
    }
  },
  "folder_structure": {
    "oi_strike/SYMBOL_oi.jsonl.gz": "Strike-level open interest history",
    "eod/SYMBOL_eod.jsonl.gz": "EOD OHLCV per contract",
    "greeks/SYMBOL_greeks.jsonl.gz": "EOD greeks + IV per contract",
    "manifests/": "Progress files per symbol+endpoint"
  }
}