Disclosed CapitolDisclosedCapitol
Home
Plans
Chad AI
API
Sign InGet Pro

Never Miss a Trade

Get weekly trade alerts free.

Explore

  • Politician Trades
  • Politicians
  • Companies
  • Wealth Rankings
  • Leaderboard
  • Compare Politicians
  • Committee Portfolios
  • Chad AI

Money & Policy

  • Government Contracts
  • Lobbying
  • Legislation
  • Campaign Finance
  • Institutional (13F)
  • Whale Watch (13D)

Markets

  • Markets Overview
  • Top Companies
  • Insider Trends
  • Economic Indicators
  • Live News

Resources

  • API Access
  • Data Export
  • Glossary
  • Methodology
  • Data Sources
  • How It Works

Company

  • About Us
  • Press
  • FAQ
  • Pricing
  • Contact
  • Watchlist

Legal

  • Disclaimers
  • Privacy
  • Terms
© 2026 Disclosed Capitol. All rights reserved.
TermsPrivacyDisclaimer
HomeTrades
Chad
WatchlistAccount

You've explored 50+ pages. Create a free account for unlimited access.

Sign Up Free

API Access

Programmatic access to 90+ endpoints covering congressional trades, portfolios, signals, wealth data, and more.

Authentication

Every request needs an API key, passed as a DC-API-Key header. Base URL is https://api.disclosedcapitol.com.

curl https://api.disclosedcapitol.com/trades?limit=5 \
  -H "DC-API-Key: dc_your_key_here"

Keep keys server-side. If a key is exposed, rotate it from Account → API Keys.

Pricing

Pay per request, billed in credits. Credit packs start at $5 for 5,000 credits. Pro subscribers ($14.99/mo) get 15,000 credits/month included.

Basic
10 credits
per call
Raw lookups: trades, politicians, tickers, search, stats, economic, calendar
Enriched
20 credits
per call
Politician profiles, portfolios, committees, wealth, AFD
Intelligence
50 credits
per call
Signals, overlaps, network, convergence, backtesting
Bulk
100 credits
per call
Composite latest feeds, full CSV exports

Chad AI (POST /chad/chat) is billed separately at 30–90 credits per query based on complexity. Exact per-endpoint cost is returned by GET /credits/endpoints and shown on your account after every call.

Rate limits & quotas

Two independent guards: a per-minute burst limit on request rate, and your credit balance as a hard ceiling on volume. Both fail closed with a clear retry signal.

Per-minute burst
HTTP 429
Starter ($5+/30d)60 req/min
Plus ($25+/30d, Pro/Dev)240 req/min
Power ($100+/30d)600 req/min

On 429: response includes a Retry-After: 60 header. Back off, then retry.

Credit balance
HTTP 402

Each request deducts credits. When balance hits zero, the API returns 402 Payment Required until you top up.

Check remaining balance any time: GET /credits/balance

Tip: track the balance returned in /credits/balance and alert your own system below 20%.

Error responses

Every error returns a JSON body of the form { "detail": "..." } with an appropriate HTTP status. Build retry logic against these codes — most are recoverable without manual intervention.

CodeStatusWhat it means · How to recover
400Bad Request
Bad Request. Malformed parameters or missing required fields.
Check parameter names + types against the endpoint spec; do not retry as-is.
401Unauthorized
Unauthorized. Missing or invalid DC-API-Key header.
Verify the key is active in Account → API Keys. If recently rotated, update your client.
402Payment Required
Payment Required. Credit balance is zero — request would deduct below zero.
Top up at /account?tab=credits or wait for the next monthly Pro allowance.
403Forbidden
Forbidden. Your tier does not include this endpoint.
Upgrade or use an equivalent lower-tier endpoint listed below.
404Not Found
Not Found. Endpoint path or resource ID does not exist.
Check the politician_id / ticker / committee_code against /search before retrying.
422Unprocessable Entity
Unprocessable Entity. Parameter values failed validation (e.g. malformed date, out-of-range limit).
Inspect the response body for the field name. Fix and retry.
429Too Many Requests
Too Many Requests. Per-minute rate limit exceeded for your priority tier.
Back off for the seconds in the Retry-After header (default 60), then retry. Increase tier by raising 30-day spend.
500Internal Server Error
Internal Server Error. Unexpected server failure — we log + alert on these.
Retry with exponential backoff. If persistent, email support@disclosedcapitol.com.
502Bad Gateway
Bad Gateway. Upstream data source (e.g. SEC, House clerk) is temporarily unreachable.
Retry after 30–60s. The data layer falls back to cached values when possible.

Tip: never deduct credits on the client. Always read the actual balance from GET /credits/balance after a request — it reflects retries, partial deductions, and refunds.

Example responses

Real-shaped JSON for four flagship endpoints. Click any row in the catalog below to see the request and response for that endpoint inline.

GET/trades
Basic

Recent congressional trades with enrichment (price, return, alpha)

GET https://api.disclosedcapitol.com/trades?limit=2
200 OK · application/json
[
  {
    "id": 249075,
    "politician_id": 7,
    "politician_name": "Ed Case",
    "party": "D",
    "state": "HI",
    "chamber": "House",
    "ticker": "AAPL",
    "trade_type": "Buy",
    "asset_type": "Stock",
    "amount_range": "$1,001 - $15,000",
    "amount_low": 1001.0,
    "amount_high": 15000.0,
    "transaction_date": "2026-05-14",
    "disclosure_date": "2026-05-31",
    "days_to_disclose": 17,
    "sector": "Technology",
    "industry": "Consumer Electronics",
    "price_on_trade_date": 298.21,
    "price_on_disclosure": 312.06,
    "gain_7d": 2.27,
    "current_return": null,
    "days_held": 18,
    "source": "house.gov"
  },
  {
    "id": 249066,
    "politician_id": 178,
    "politician_name": "Marjorie Taylor Greene",
    "party": "R",
    "state": "GA",
    "chamber": "House",
    "ticker": "PLTR",
    "trade_type": "Buy",
    "asset_type": "Stock",
    "amount_range": "$1,001 - $15,000",
    "transaction_date": "2026-05-12",
    "disclosure_date": "2026-05-30",
    "days_to_disclose": 18,
    "price_on_trade_date": 28.47,
    "price_on_disclosure": 30.12,
    "gain_7d": 5.79
  }
]
GET/politicians/{id}
Basic

Politician stats: CAGR, Sharpe, alpha, conflict score, holdings

GET https://api.disclosedcapitol.com/politicians/411
200 OK · application/json
{
  "politician_id": 411,
  "name": "Ann Wagner",
  "party": "R",
  "state": "MO",
  "chamber": "House",
  "bioguide_id": "W000812",
  "trade_count": 177,
  "enriched_trades": 62,
  "win_rate": 54.8,
  "avg_alpha_30d": -0.12,
  "sharpe_ratio": 0.168,
  "sortino_ratio": 0.629,
  "max_drawdown": -7.8,
  "beta_to_sp500": 0.109,
  "total_return_pct": 7.78,
  "annualized_return_pct": 0.77,
  "annualized_alpha_pct": -12.57,
  "realized_pnl": 23492.99,
  "unrealized_pnl": 969767.16,
  "total_invested": 6708527.50,
  "estimated_value": 7326787.16,
  "position_count": 9,
  "conflict_score": 3.9,
  "predictive_edge_score": null,
  "avg_disclosure_lag_return": 0.213,
  "avg_trade_size": 167704.92
}
GET/clusters/recent
Intelligence

Coordinated trading clusters — 3+ politicians, same ticker, same week

GET https://api.disclosedcapitol.com/clusters/recent?limit=2
200 OK · application/json
{
  "clusters": [
    {
      "ticker": "INTC",
      "window_start": "2026-04-02",
      "window_end": "2026-04-09",
      "politician_count": 3,
      "trade_count": 7,
      "dominant_side": "Mixed",
      "sector": "Technology",
      "politicians": [
        "Cliff Bentz",
        "Michael McCaul",
        "Ro Khanna"
      ],
      "trade_ids": [247916, 248108, 248547, 248613]
    },
    {
      "ticker": "GE",
      "window_start": "2026-03-24",
      "window_end": "2026-03-31",
      "politician_count": 3,
      "trade_count": 3,
      "dominant_side": "Buy",
      "sector": "Industrials",
      "politicians": [
        "Jared Moskowitz",
        "Maria Elvira Salazar",
        "Michael McCaul"
      ],
      "trade_ids": [246948, 247120, 247455]
    }
  ]
}
GET/portfolio/{id}/positions
Enriched

Live portfolio: open positions with unrealized P&L and weight

GET https://api.disclosedcapitol.com/portfolio/411/positions
200 OK · application/json
{
  "politician_id": 411,
  "name": "Ann Wagner",
  "as_of": "2026-06-01",
  "positions": [
    {
      "ticker": "SPY",
      "asset_type": "ETF",
      "shares_estimate": 12500,
      "avg_cost": 425.13,
      "current_price": 588.40,
      "market_value": 7355000.00,
      "unrealized_pnl": 2040875.00,
      "unrealized_pnl_pct": 38.4,
      "weight_pct": 78.6,
      "first_bought": "2024-08-12",
      "last_traded": "2026-04-22"
    },
    {
      "ticker": "MSFT",
      "asset_type": "Stock",
      "shares_estimate": 220,
      "avg_cost": 312.07,
      "current_price": 459.85,
      "market_value": 101167.00,
      "unrealized_pnl": 32511.40,
      "unrealized_pnl_pct": 47.4,
      "weight_pct": 1.4
    }
  ]
}

Endpoint Highlights

Showing curated highlights from our 90+ endpoints. For the complete list with exact per-endpoint credit costs, call GET /credits/endpoints or use the Copy for AI button to share with your AI assistant.

GET/tradesPaginated trade feed with filters (politician, ticker, date, type, party)
GET/trades/bulk-latestComposite latest trades with enrichment data
GET/politiciansPolitician list with stats and rankings
GET/politicians/{id}Politician profile with trading stats
GET/politicians/{id}/tradesAll trades for a politician
GET/tickers/{ticker}/tradesCongressional trades for a specific stock
GET/tickers/topMost-traded tickers in Congress
GET/feed/liveReal-time trade feed
GET/feed/recentRecent trades for display
GET/searchGlobal search across politicians, tickers, and bills
GET/stats/summaryPlatform summary: total trades, politicians, activity
90+ endpoints total · Curated highlights shown above · Base URL: https://api.disclosedcapitol.com · All requests require DC-API-Key header