The same data the desk runs on.
Every number on this site comes through public JSON endpoints, and they are yours to call: no key, no account, no tracking. Composites the desk computes itself (the regime legs, breadth, options analytics, the daily wire) sit alongside public-domain passthroughs (FRED, the CFTC, SEC EDGAR, the U.S. Treasury). Responses are edge-cached; the cache windows below are the honest refresh rates.
Start here.
Two calls tell you most of what you need. Responses below are truncated for the page; shapes are exact.
$ curl -s "https://dhawal.org/api/quotes?symbols=SPY,QQQ"
{"quotes":{"SPY":{"symbol":"SPY","last":751.71,"changePct":0.84,
"prevClose":745.40,"dayHigh":751.97,"dayLow":745.59, ...},
"QQQ":{...}},"fetchedAt":1783690000,"ttlSeconds":30}$ curl -s "https://dhawal.org/api/congress?ticker=NVDA&limit=2"
{"trades":[{"transactionDate":"2026-06-30","filingDate":"2026-07-08",
"ticker":"NVDA","type":"Sale (Partial)","side":"sell",
"amountLabel":"$15,001 - $50,000","member":"Sheldon Whitehouse",
"chamber":"senate","party":"D","state":"RI","daysToFile":8,
"late":false,"docUrl":"https://efdsearch.senate.gov/..."}, ...],
"count":2,"asOf":"2026-07-08","source":"congress-trading-monitor"}The endpoints.
Rendered from the same OpenAPI document the machines read, so this table cannot drift from the deployment. All endpoints are GET, all return JSON, and starred parameters are required.
| Endpoint | Parameters | What it returns |
|---|---|---|
| /api/quote | symbol* · e.g. ES=F | Live quote for a curated symbol. Yahoo primary, Finnhub equity fallback. Returns a normalised flat envelope. Edge cache TTL: 30s. |
| /api/macro | series* · e.g. VIXCLS,T10Y2Y,DTWEXBGS | FRED macro series snapshots. Pulls the most-recent observation + week-over-week delta for each requested series. Up to 10 series per call. Edge cache TTL: 6h. |
| /api/cot | product* · e.g. ES | Commitments of Traders for one futures product. CFTC Legacy Futures-Only report (dataset 6dca-aqww). Returns the latest week plus 52-week history. Edge cache TTL: 24h. |
| /api/filings | symbol* · e.g. AAPL limit all · 0/1 insider · 0/1 | Recent SEC EDGAR filings for a US-listed symbol. Resolves ticker → CIK via SEC company_tickers.json, then fetches submissions. Material forms only by default. Edge cache TTL: 1h. |
| /api/wire | date* · e.g. 2026-05-14 | Daily editorial brief for /today. Drafted via OpenRouter (default model: nvidia/nemotron-3-super-120b-a12b:free, with a free-model fallback chain; override per-deploy with OPENROUTER_MODEL) and grounded in the dhawal.org markets data + macro-events config. Falls back to a deterministic, no-LLM composition (model: "deterministic") so the endpoint always returns 200. Edge cache TTL: 12h per date. |
| /api/crude-curve | · | NYMEX WTI crude oil futures curve (4 contracts). EIA-backed. Returns settlement prices for the front month plus three deferred contracts (PET.RCLC1..PET.RCLC4 daily series). The EIA republishes CME settlement data daily under a public-data-sharing agreement: no scraping, no rate limits, official source. Edge cache TTL: 6h. |
| /api/nat-gas-curve | · | NYMEX Henry Hub natural-gas futures curve (4 contracts). EIA-backed sister to /crude-curve. Returns settlement prices for the front month plus three deferred contracts (NG.RNGC1..NG.RNGC4 daily series). Same shape, same edge cache TTL (6h). |
| /api/earnings | from* · e.g. 2026-05-11 to* · e.g. 2026-05-15 | Earnings calendar for a date window. Sources from Finnhub /calendar/earnings. Edge cache TTL: 6h. |
| /api/movers | · | Top US gainers, losers, and most-active names. Yahoo predefined screeners (day_gainers / day_losers / most_actives), with a coverage-universe fallback when the screener is unreachable. Delayed data. Edge cache TTL: 5m. |
| /api/dividends | symbol* · e.g. AAPL | Dividend and split history for a covered symbol. Yahoo chart events (10y window). Derives trailing-12-month total, trailing yield, annual totals, and a growth streak counted over complete calendar years. Edge cache TTL: 12h. |
| /api/breadth | · | Equal-weight vs cap-weight breadth composite. In-house composite: deviation of today's RSP/SPY ratio from its 90-day mean, normalised 0-100. One optional leg of the macro regime; degrades to a 200 with null fields when the upstream is unreachable (never 5xx). Edge cache TTL: 6h. |
| /api/yield-curve | · | U.S. Treasury constant-maturity yield curve. Parses the U.S. Treasury nominal + TIPS real par-yield XML feeds. Returns the latest curve plus month-ago and year-ago ghost curves, the TIPS real curve (5Y+), and the 2s10s / 3m10y spreads. Public-domain source. Edge cache TTL: 6h. |
| /api/auctions | · | U.S. Treasury auction announcements and results. Treasury FiscalData auctions_query (public domain, fetched at build/edge). Returns upcoming announced auctions and recent results with bid-to-cover. Degrades to empty arrays at 200 when unreachable. Edge cache TTL: 12h. |
| /api/econ-events | from · e.g. 2026-06-01 to · e.g. 2026-06-30 | Curated U.S. economic-release schedule for a window. Serves the in-house static MACRO_EVENTS schedule (FOMC, CPI, NFP, GDP, PCE, …). No upstream fetch, no key. This route cannot 5xx on an upstream. Edge cache TTL: 6h. |
| /api/options | symbol* · e.g. SPY | Options-chain analytics for a liquid underlying. CBOE delayed quotes, all derivation server-side: put/call OI + volume ratios, front-expiry max pain, top-5 OI strikes, naive gamma exposure, ATM front-month IV. Whitelisted underlyings only. Edge cache TTL: 30m. |
| /api/fundamentals | symbol* · e.g. AAPL | Quarterly fundamentals for a US-listed symbol. SEC EDGAR XBRL companyfacts (public domain). Revenue / EPS / net income quarterly + annual series, shares-outstanding trend, and YoY deltas. Requires the SEC_USER_AGENT env binding. Edge cache TTL: 24h. |
| /api/news | category · e.g. markets | Aggregated news wire for a category. Aggregates free public RSS feeds, dedupes, and clusters related headlines (lead + also-covering outlets, developing flag). Every headline links to its original publisher. Edge cache TTL: 5m. |
| /api/gdelt | query* · e.g. federal reserve | Coverage-velocity timeline for a topic query. GDELT DOC 2.0 volume-intensity timeline (share of global coverage) for a sanitized query. Keyless public source. Edge cache TTL: 15m. |
| /api/quotes | symbols* · e.g. SPY,QQQ,^VIX | Batched quotes for up to 50 curated symbols. Collapses the per-symbol quote fan-out into one request. Non-curated or failed symbols are simply absent from the map. Edge cache TTL: 30s. |
| /api/congress | ticker · e.g. NVDA limit tickeredOnly · 0/1 | Congressional trading disclosures, newest filing first. STOCK Act periodic transaction reports from both chambers, parsed transaction-level by the open Congress Trading Monitor dataset (MIT, refreshed daily) and trimmed at the edge. Every row links to the primary government document (House Clerk / Senate eFD). Amounts are the statutory disclosure ranges, never exact figures. Edge cache TTL: 6h. |
| /api/insider | symbol* · e.g. AAPL | Form 4 insider transactions for a US-listed symbol. Opens the most recent Form 4 ownership documents on SEC EDGAR (up to 8 filings) and parses the non-derivative transaction table: who traded, at what price, and what they held after. The 90-day summary counts only open-market purchases (code P) and sales (code S). Edge cache TTL: 6h. |
| /api/health | · | Pipeline self-check. Re-runs the news wire aggregation, one index quote resolve, and a minimal model probe, reporting each leg. Overall status is ok only when the wire and the tape both pass; the model leg is reported but non-fatal (the Daily Wrap has a deterministic backstop). Edge cache TTL: 60s. |
| /api/transcript-brief | symbol* · e.g. AAPL year quarter | LLM brief of a public earnings-call transcript. Summarises a public earnings-call transcript (The Motley Fool, with attribution + source link; earningscall.biz fallback) into a tone label, three takeaways, and a guidance-changed flag via OpenRouter. Returns 404 when no public transcript is available. Edge cache TTL: 7d. |
The terms.
Best effort, not an SLA: these endpoints run the live site first and your scripts second. The edge cache is the rate limiter; hammering past it only re-serves you the same cached bytes, so be gentle and cache on your side too.
Attribute what you use: credit dhawal.org and the primary source named on each endpoint (FRED, CFTC, SEC EDGAR, the U.S. Treasury, the Congress Trading Monitor dataset, and so on), the same way this site credits them on every page. Endpoints evolve with the desk; material changes land in the changelog first.
Nothing here is investment advice. Delayed and derived data, disclosed methodology, and the same honesty rules as the rest of the site: how every number is computed is on the methodology page.
The machine spec.
The full OpenAPI 3.1 document, including response schemas for every envelope above, is served at /.well-known/api/v1/spec.json. Point an agent, a client generator, or a curious REPL at it; this page is rendered from the same document.