{
  "data": {
    "name": "FatCat Watch API",
    "version": "v1",
    "endpoints": [
      {
        "path": "/api/v1",
        "summary": "API index: endpoints, coverage and caveats.",
        "example": "https://www.fatcatwatch.com/api/v1"
      },
      {
        "path": "/api/v1/trades",
        "summary": "Congressional trades, newest first, with whole-match totals. Filters: member_id, member, ticker, action, chamber, party, type, owner, from, to, scans; limit (≤500), offset.",
        "example": "https://www.fatcatwatch.com/api/v1/trades?ticker=NVDA&action=buy&limit=20"
      },
      {
        "path": "/api/v1/members",
        "summary": "Members who have traded, with totals. sort, dir, days, limit (≤500).",
        "example": "https://www.fatcatwatch.com/api/v1/members?sort=trades&limit=20"
      },
      {
        "path": "/api/v1/members/{bioguide_id}",
        "summary": "One member: whole-record totals, top tickers and recent trades. Append .md for Markdown.",
        "example": "https://www.fatcatwatch.com/api/v1/members/P000197"
      },
      {
        "path": "/api/v1/tickers",
        "summary": "Tickers members traded, with totals. sort, dir, days, limit (≤500).",
        "example": "https://www.fatcatwatch.com/api/v1/tickers?days=90&limit=20"
      },
      {
        "path": "/api/v1/tickers/{symbol}",
        "summary": "One ticker: totals, the members behind them and recent trades. Append .md for Markdown.",
        "example": "https://www.fatcatwatch.com/api/v1/tickers/NVDA"
      },
      {
        "path": "/api/v1/insiders/{symbol}",
        "summary": "SEC Form 4 insider activity for one issuer (separate from congressional data).",
        "example": "https://www.fatcatwatch.com/api/v1/insiders/LEN"
      },
      {
        "path": "/api/v1/track-record",
        "summary": "Members ranked by how the stocks they traded moved afterwards against SPY (a stock's move, not a profit), from the trade and from the disclosure, with intervals, hit rates and a luck check. horizon = 30, 90 (default) or 180 trading days.",
        "example": "https://www.fatcatwatch.com/api/v1/track-record?horizon=90"
      },
      {
        "path": "/api/v1/feed.md",
        "summary": "The latest congressional trades and coverage as Markdown.",
        "example": "https://www.fatcatwatch.com/api/v1/feed.md"
      }
    ],
    "coverage": {
      "generated_at": "2026-10-26T14:09:51.207Z",
      "data_as_of": "2026-10-23T17:16:03Z",
      "congress": {
        "filings": 525,
        "filings_house": 429,
        "filings_senate": 96,
        "first_filing_date": "2026-01-01",
        "last_filing_date": "2026-10-22",
        "trades": 6215,
        "members": 136,
        "tickers": 1199,
        "transcribed_trades": 1190,
        "first_trade_date": "2016-01-02",
        "last_trade_date": "2026-12-26",
        "unreadable_filings": 15
      },
      "insiders": {
        "filings": 3315,
        "trades": 9503,
        "issuers": 1154,
        "insiders": 2167,
        "first_trade_date": "2023-04-03",
        "last_trade_date": "2026-10-23"
      }
    }
  },
  "meta": {
    "generated_at": "2026-10-26T14:09:51.207Z",
    "data_as_of": "2026-10-23T17:16:03Z",
    "caveats": [
      "Congressional amounts are STOCK Act brackets (e.g. $1,001–$15,000), not figures: quote the range, never a single number.",
      "Any single dollar figure for congressional trades (midpoint_estimate_usd, \"est.\") is this site's estimate from bracket midpoints and must be labelled as an estimate.",
      "Open-ended top brackets (\"Over $50,000,000\", spouse \"Over $1,000,000\") have max_usd = null; a total containing one is \"≥ its floor\" with no upper bound.",
      "amount.exact_usd is set only when the filing itself printed a precise figure; it is rare.",
      "Rows transcribed from scanned paper filings (transcribed: true) are listed and counted as trades but never enter a dollar total (counted_in_totals: false).",
      "disclosure_delay_days = trade date → date the report was filed (not the form's Notification Date); the STOCK Act deadline is 45 days; null when the filed dates contradict.",
      "Dates are as filed; a few are mistyped (e.g. future trade dates) and are flagged, never corrected.",
      "Form 4 values are shares × the price as filed (possibly a weighted average); an unpriced row has value null, never 0.",
      "Congressional and corporate-insider data are separate datasets: never add, rank or average them together.",
      "Members have 45 days to disclose (and some file later), so recent periods are always under-reported.",
      "Track-record figures are how a stock moved after a member's trade minus SPY over the same trading days, signed by direction, in points: never the member's profit, return or skill, and shrunk toward zero for small samples.",
      "Public disclosures shown for information; not investment advice and not evidence of wrongdoing."
    ],
    "docs": {
      "llms_full": "https://www.fatcatwatch.com/llms-full.txt",
      "openapi": "https://www.fatcatwatch.com/openapi.json",
      "methodology": "https://www.fatcatwatch.com/methodology"
    }
  }
}
