---
name: traderdaddy-pro
description: Query TraderDaddy Pro's live options-flow, GEX/gamma, dark pool, insider, congressional-trade, sector-rotation, screener, and earnings-flow data via the Developer API (REST + MCP). Use this when the user asks about unusual options activity, smart money / dark pool flow, GEX or Apex gamma levels, sector rotation, insider Form 4 trades, congressional trades, dividend/quality screeners, or earnings-flow signals for a US equity ticker, and a `td_live_` API key is available.
---

# TraderDaddy Pro Developer API

TraderDaddy Pro (tradermatrix.pro) is an options-flow and market-structure
platform. This skill teaches an AI agent how to call its paid Developer API —
REST endpoints under `/api/v1` and an MCP tool surface at `POST /api/v1/mcp` —
to answer questions about unusual options activity, gamma exposure (GEX),
dark pool prints, insider trades, congressional trades, sector rotation, and
related derived signals for US equities.

This is a **customer-facing developer product**, separate from the TD Pro web
app. It requires the user's own API key. If no key is available, tell the
user to generate one at `https://tradermatrix.pro/developers` (Pro/Elite plan
required) and stop — do not guess a key or fabricate data.

## Authentication

Every request needs the key as either header:

```
X-API-Key: td_live_xxxxxxxxxxxxxxxxxxxx
```

or

```
Authorization: Bearer td_live_xxxxxxxxxxxxxxxxxxxx
```

Rate limit: 30 requests/minute per key. A 429 response means back off; do not
retry in a tight loop.

Base URL: `https://api.traderdaddy.pro/api/v1`

## Two ways to call this API

### Option A — MCP (preferred when your client supports MCP tool-calling)

Point an MCP-capable client at:

```json
{
  "mcpServers": {
    "traderdaddy-pro": {
      "type": "http",
      "url": "https://api.traderdaddy.pro/api/v1/mcp",
      "headers": { "X-API-Key": "td_live_xxxxxxxxxxxxxxxxxxxx" }
    }
  }
}
```

`tools/list` returns ~29 read-only tools (unusual activity, GEX/apex levels,
sector flow, insider trades, congressional trades, screeners, earnings flow,
dark pool, directional flow, IV rank, edge X-ray, and more). Tool names and
descriptions are self-documenting — call `tools/list` first rather than
memorizing the set here, since it changes as tools ship.

⚠️ **`type: "http"` is required** in a `.mcp.json` / `claude_desktop_config.json`
entry. Claude Desktop/Code treat a bare `{"url": ...}` object as a stdio
server and will fail to connect. Cursor tolerates a bare `url`. The Claude
Code CLI can also add it directly: `claude mcp add --transport http
traderdaddy-pro https://api.traderdaddy.pro/api/v1/mcp --header "X-API-Key:
td_live_xxx"`.

### Option B — Plain REST (when you just need one HTTP call)

Every REST route below returns JSON (except `/llm-context/:symbol`, which
returns plain markdown). Full machine-readable schema:
`GET https://tradermatrix.pro/openapi.json`.

## What this API will and will not return (read before building anything)

TraderDaddy Pro licenses most of its underlying market data (Tradier, Alpaca,
Finnhub) or scrapes it (TradingView, ForexFactory, OpenInsider) — it does not
own it, and none of those sources permit redistributing raw rows to a third
party. So the API publishes a **derived** layer only:

- 🟢 Returned: unusual-activity scores/tiers/sentiment, GEX/Apex gamma levels
  and flip points, sector-flow rollups, screener scores, IV rank, edge-grade
  metrics, dark-pool net-notional rollups, SEC/FINRA/House-Clerk/Senate-eFD
  sourced insider and congressional trade rows.
- 🔴 Never returned: per-contract bid/ask/last/greeks, raw option chains keyed
  by strike, underlying quote passthrough, or news article text/URLs. Three
  routes that would otherwise carry raw per-contract quotes —
  `/ticker/:symbol/options`, `/ticker/:symbol/tactical-grid`, and
  `/insider/quotes` — are deliberately withheld (404) on this API. Use
  `get_edge_xray` (MCP) or the derived screener/GEX endpoints instead of
  trying to reconstruct a chain.

If a task needs a live bid/ask or a full option chain, this API cannot do
it — say so rather than approximating from a derived score.

## Common REST endpoints

All query params below are optional unless noted; defaults shown. Full param
list, types, and every route: `GET /openapi.json`.

| Endpoint | What it returns |
|---|---|
| `GET /unusual-activity?ticker=&timeFrame=today&minScore=95` | Scored unusual options flow, filterable by premium/DTE/sentiment/tier |
| `GET /unusual-activity/repeats?hours=24` | Tickers with repeated opening flow in a window |
| `GET /gex/:symbol` | Gamma exposure by strike for one ticker |
| `GET /gex/:symbol/apex` | Apex gamma-magnet levels (premium) |
| `GET /gex/market/overview` | Market-wide gamma bias snapshot |
| `GET /sectors/flow?window=1d` | Sector-level options-flow rollup |
| `GET /sectors/dashboard?window=today` | Macro hero + sector grid + technicals (premium) |
| `GET /sectors/rotation?trail=10` | RRG-style sector rotation map vs SPY |
| `GET /flow/summary?minPremium=20000&days=3` | Cross-market flow summary, filterable |
| `GET /flow/ticker/:ticker` | Flow summary for one ticker |
| `GET /screeners` | List available screeners |
| `POST /screeners/:id/run` | Run a screener (params in JSON body, not query string) |
| `GET /institutional/buys-sells` | Institutional (13F) buy/sell aggregation |
| `GET /institutional/sector-rotation` | Institutional sector rotation |
| `GET /politician-trades?days=30` | Congressional trades, parsed from House Clerk + Senate eFD filings (our compilation — no-resell terms apply) |
| `GET /insider?direction=buy&limit=100` | Form 4 insider trades (default: buys only; pass `direction=all` for both) |
| `GET /earnings?week=current` | Earnings calendar |
| `GET /earnings-flow/flow?days=7` | Pre-earnings options flow buildup |
| `GET /long-term/quality?minScore=&sector=` | Long-term quality/dividend screener |
| `GET /economic-calendar?week=current` | Macro calendar |
| `GET /economic-calendar/predictions` | Kalshi market-implied odds for high-impact events |
| `GET /put-call-ratios` | SPY/QQQ/IWM put-call ratios |
| `GET /market-pulse` | AI-generated market sentiment narrative |
| `GET /market-pulse/thermal` | Per-ticker technicals (RSI/Stoch/MACD/ADX/CCI) for SPY/QQQ/IWM/GLD/IBIT + VIX — not breadth |
| `GET /market-stats` | Aggregate market stats |
| `GET /bounce-finder?direction=all` | Oversold/overbought bounce candidates |
| `GET /ticker/search?query=` | Ticker/company search |
| `GET /ticker/:symbol` | Ticker overview |
| `GET /ticker/:symbol/smart-money` | Smart-money flow summary for one ticker |
| `GET /ticker/:symbol/dossier` | Combined technicals + flow dossier |
| `GET /llm-context/:symbol` | One ticker, everything, as plain markdown — built for pasting into an LLM context window |

## Worked example

```bash
curl -s "https://api.traderdaddy.pro/api/v1/unusual-activity?ticker=NVDA&timeFrame=today" \
  -H "X-API-Key: td_live_xxxxxxxxxxxxxxxxxxxx"
```

## Gotchas

- `POST /screeners/:id/run` takes params in a **JSON request body**, not a
  query string — the only endpoint on this API shaped that way.
- Tickers are matched case-sensitively as uppercase (`NVDA`, not `nvda`).
- `days`/`hours`/`limit` params are validated server-side (e.g.
  `unusual-activity/repeats?hours=` caps at 72); an out-of-range value
  returns HTTP 400, it is not silently clamped.
- Some routes are premium-gated even for API-key callers if the endpoint
  serves per-contract-adjacent data (e.g. `/sectors/rotation`,
  `/gex/:symbol/apex`). Every `td_live_` key is treated as premium-tier, so
  these all work — you don't need to do anything differently.
- `/ticker/:symbol/options`, `/ticker/:symbol/tactical-grid`, and
  `/insider/quotes` return 404 on purpose (raw per-contract quote data,
  licensing-restricted). This is not a bug.

## More

- Full endpoint catalog + beginner MCP setup walkthrough:
  `https://tradermatrix.pro/llms.txt`
- Interactive docs, code snippets, key management:
  `https://tradermatrix.pro/developers`
- Machine-readable OpenAPI 3 spec: `https://tradermatrix.pro/openapi.json`
