GET /v1/ JSON SIGNAL REST AUTH ALPHA WEBHOOK API
v1 API — Live Now · Self-Serve · 20 calls/day free

Political Alpha. API-First.

The data feed that cross-references congressional stock trades with the bills they oversee — every trade scored against committee, donor, and lobbying alignment. 14 years of history. Bill-level ML scoring. Real-time markup alerts. Built for AI trading bots and quants.

Try the Live Chat → Read the Docs & Get a Key → Build a Trading Bot →
GET /api/v1/signals/top
# Get top signals — convergence-scored opportunities
response = requests.get(
    "https://www.govgreed.com/api/v1/signals/top",
    headers={"X-API-Key": "gg_pub_your_key_here"},
    params={"min_tier": "A", "limit": 10}
)

# Response envelope:
{
  "data": [{"ticker": "BAH", "master_score": 82.5, "master_tier": "A+", ...}],
  "meta": {
    "request_id": "req_a1b2c3d4e5f6",
    "count": 10,
    "rate_limit": {"daily_used": 13, "daily_limit": 20}
  }
}
Start Here

Two front doors to the same data.

Every congressional trade, bill, donor, signal, and conflict score — reachable two ways. Try the chat to feel the data in seconds. Then wire the API into your own stack.

START HERE
① Try our hosted chat

The data, already wired into an AI.

Our chat has live tool access to the entire GovGreed database — 189K+ trades, every bill, signal, donor, and conflict score. It's what you'd get if you plugged our whole dataset into Claude as tools — except we already did it for you. Ask in plain English, get an answer backed by the real numbers. No key, no code, no setup.

“Which defense stocks did Armed Services members buy before the NDAA markup?”
“Show me Pelosi's conflict score and the bills behind it.”
Try the Live Chat — Free →
② Build with the API + MCP

Point your own AI at the same data.

Wire it into your trading bot, pipeline, or your own Claude. 50+ REST endpoints plus an 18-tool MCP server that drops the whole dataset into Claude Desktop as native tools. Free tier: 20 calls/day (100/day your first week), 5 req/sec.

# base url
https://www.govgreed.com/api/v1
# auth header
X-API-Key: gg_pub_…
Generate a Free Key → Read the Docs
Official Registered API Partners:
Congress.gov (Library of Congress) · FEC (Federal Election Commission) · SEC EDGAR · Senate LDA · USASpending.gov
0
Historical Trades (2012–2026)
0
Federal API Partnerships
0
Bills Scored (3 Congresses)
0
Active Triple Signals
0
ML Signal Validation
Signals

Five Signals. One Edge.

Each signal alone is circumstantial. Cross-referenced together, they're the clearest picture of where political money is flowing before the market knows.

Triple Signal

Political Insider Alert

Fires when a politician sits on the committee controlling a bill, has traded stock in an affected company, and received campaign contributions from that industry. Why these three together? Each alone is circumstantial. A committee seat is just a job. A trade is just a portfolio decision. A contribution is just fundraising. But when all three converge on the same ticker — the probability of informed trading jumps to 78% based on our 14-year backtest. This is the strongest corruption indicator we track.

752 active Live updates 119th Congress
Exec Timing Signal

Corporate Insider Pre-Vote Buys

SEC Form 4 disclosures cross-referenced with congressional vote calendars. When a CEO buys $2M of stock 41 days before a congressional vote on legislation affecting their company — that's not coincidence. Form 4 filings reveal what corporate insiders know about their own regulatory environment. We measure the timing gap between executive buys and upcoming congressional votes, flagging purchases that cluster in the 4-90 day pre-vote window where informed positioning is statistically significant.

22,731 exec trades Form 4 sourced 2-day lag
Markup Calendar

Committee Hearing Alerts

When a committee schedules a markup, insiders know the bill is moving. This is the buy window — typically 4-21 days before the broader market prices in the legislative progress. Committee members see the calendar before it's public. The markup announcement is the catalyst — but the congressional buying that precedes it is the signal. Our backtest shows that trades placed within 14 days of a markup outperform the S&P 500 by an average of 8.3% at the 30-day mark.

17,104 meetings tracked 167 markups Webhook support
Bill ML Score

Investability Scoring

Machine learning model trained on 3 congressional sessions (42,143 bills, 188K historical trades). The model uses 25 features — sponsor committee seniority, co-sponsor count velocity, bill subject overlap with active lobbying, historical enactment rates by committee, and more. Bills scoring 70+ are enacted at 9.1% vs 1.7% for medium-tier — a validated 5.4× signal. High-investability bills also attract 3.2× more congressional trading volume in the 30 days following introduction. All inference runs in PostgreSQL — no external ML service dependency.

253 high-score bills 5.4× validated 25 features
Exec Flock Signal

Consortium Buy Detection

When 5+ C-suite officers buy simultaneously with zero sellers, that's a flock. This matters because executive buying is the highest-conviction insider signal — officers are risking personal capital on their own company's future. GovGreed tracks buyer headcount, capital deployed, and sector clustering across 22,731 SEC Form 4 transactions. Our enrichment layer separates PE fund exits from genuine C-suite conviction using officer tenure, title hierarchy, and transaction history. When a flock coincides with a congressional trade in the same sector, the combined signal has delivered a 67% win rate over 10 years.

22,731 Form 4 trades Buyer headcount scoring 10-year backtest
GovGreed API data flow: government data sources flow through AI processing into trading bot signals and JSON API responses
Intelligence Engine

How We Score Every Signal

Every API response is powered by a 7-layer scoring engine. Understanding the layers helps you interpret signal strength and build smarter trading logic.

40%
Congressional Behavior
Politician win rate (20%) + Herd detection when 3+ politicians converge on the same ticker (20%). The behavioral layer is the foundation — who traded and whether others followed.
16%
Legislative Timing
Bill markup proximity + committee seat alignment. Scores higher when a trade occurs within 21 days of a committee markup on legislation the trader's committee controls.
24%
Market Signals
Technical indicators (12%) — RSI, volume anomalies, momentum. Sector momentum (12%) — industry flow and rotation signals. Confirms whether the market agrees with the political thesis.
20%
Influence Patterns
Campaign contributions (10%) + Lobbying patterns (10%). Follow the money — PAC contributions and lobbying filings that precede trades independently confirm the legislative angle.
When 3+ layers align on the same ticker, the score multiplies: 3 layers = 1.3×, 4 = 1.5×, 5+ = 2.0×. See full model breakdown →
Authentication

X-API-Key Header

All requests require an API key passed via the X-API-Key header (or Authorization: Bearer). Generate your key instantly on the Account page — no approval, no waitlist.

BASE URL
https://www.govgreed.com/api/v1
EXAMPLE REQUEST
curl -H "X-API-Key: gg_live_your_key_here" \
  "https://www.govgreed.com/api/v1/signals?limit=5"
RATE LIMITS
20 requests/day Free (100/day your first week)
750 requests/day (Founders, $24.50/mo)
RESPONSE FORMAT
JSON envelope with data + meta
Rate limit info in every response
★ Live Now · Self-Serve · 20 free calls/day

Free public read-only API — live now.

The endpoints below are live and self-serve. Free tier 20 calls/day per key, 5 req/sec burst. Founders ($24.50/mo) get 750 calls/day. Powers our /conflict-check tool, Find Your Rep widget, and the entire /learn/ pillar layer.

→ Generate your free key in your Account — free tier is 20 calls/day per key (100/day your first week). Cite govgreed.com when used.

Live: the live API is at https://www.govgreed.com/api/v1 — authenticate with header X-API-Key or Authorization: Bearer. Free tier 20 calls/day per key (100/day your first 7 days), 5 req/sec burst; Founders ($24.50/mo locked forever) get 750/day. → Generate your key in Account → Settings.
The always-current endpoint list is the OpenAPI spec. Some code samples below may lag the spec — trust the spec.
PUBLIC RPC LAYER · ANON KEY
https://auth.govgreed.com/rest/v1/rpc/<function_name>
EXAMPLE — RUN A CONFLICT CHECK FOR ZIP 94110
curl -X POST \
  -H "apikey: <published_anon_key>" \
  -H "Content-Type: application/json" \
  -d '{"p_zip":"94110"}' \
  "https://auth.govgreed.com/rest/v1/rpc/get_conflict_report_for_zip"
RPC /rpc/get_conflict_report_for_zip ZIP code → 3 reps with full conflict report (Phase 48 NEW)
# Returns 2 senators + 1 House member for the ZIP code.
# Each rep includes 0-100 conflict score, top tickers, top donors,
# committee jurisdictions, sector heat map, and 5-bill hit-list of
# YES votes while holding affected stock.

POST /rest/v1/rpc/get_conflict_report_for_zip
Body: { "p_zip": "94110" }

# Returns: { zip, state_abbr, district, reps: [...] }
# Falls back to { error: "zip_not_found" } if the ZIP isn't yet in our crosswalk.
RPC /rpc/get_conflict_report_for_state_district State + district → 3 reps with full conflict report (NEW)
POST /rest/v1/rpc/get_conflict_report_for_state_district
Body: { "p_state_abbr": "CA", "p_district": "17" }

# Same shape as /get_conflict_report_for_zip, used as fallback when ZIP isn't loaded.
RPC /rpc/get_politician_conflict_detail One politician's full conflict baseball card (NEW)
POST /rest/v1/rpc/get_politician_conflict_detail
Body: { "p_bioguide_id": "K000389", "p_hitlist_limit": 5 }

# Returns: { politician, score, top_tickers, top_donors, committees, hitlist }
# Khanna example shows 5 energy-sector bills voted YES while holding APA, ATO, BKR, CHPT, AEP.
RPC /rpc/get_legislative_seats All 538 members with committees, top sector, signal tier
POST /rest/v1/rpc/get_legislative_seats
Body: { }

# Returns: [{ bioguide_id, name, party, state, chamber, committees,
# top_sector, trade_count_90d, leadership_role }, ...]
# Single call, ~538 rows. Powers the /capitol orgchart.
RPC /rpc/get_executive_profile Cabinet/exec official profile (sec_defense, sec_treasury, etc.)
POST /rest/v1/rpc/get_executive_profile
Body: { "p_position_code": "sec_defense" }

# Returns JSONB: position, holder, sectors overseen, federal contracts (120d),
# recent legislation. Hegseth's profile is the source for /executive#sec_defense.
RPC /rpc/get_situations_for_official Active geopolitical situation playbooks (Iran, China, etc.)
POST /rest/v1/rpc/get_situations_for_official
Body: { "p_position_code": "sec_defense" } # or null for all

# Returns: [{ situation, severity, bull_plays, bear_plays }, ...]
# Iran example: severity 85, bull = ITA/XAR/LMT/RTX/NOC/AVAV/USO/XLE/XOM, bear = UAL/DAL/LUV.
RPC /rpc/get_active_bills Bills currently in-play (above MARKUP stage) with tickers
POST /rest/v1/rpc/get_active_bills
Body: { "p_min_stage_rank": 3, "p_limit": 50, "p_days_lookback": 60 }

# Stage ranks: 1=INTRODUCED 2=COMMITTEE 3=MARKUP 4=REPORTED 5=FLOOR
# 6=PASSED_ONE 7=PASSED_BOTH 8=ENROLLED 9=ENACTED
License: CC BY 4.0 on the data, MIT on the queries. Citation: please cite govgreed.com when used. Free tier 20 calls/day · Founders 750 calls/day · 5 req/sec burst. Self-serve at /docs.
Quant / Pro Endpoints

X-API-Key gated REST API.

Every endpoint returns structured JSON. Paginated. Filterable. Designed to plug directly into your bot logic or data pipeline. Live now — get a key from the docs.

GET /v1/trades Raw STOCK Act feed — 103K+ disclosures, synced daily
# Python — every NVDA purchase filed since January
import requests

trades = requests.get(
  "https://www.govgreed.com/api/v1/trades",
  headers={"X-API-Key": "gg_pub_your_key_here"},
  params={"ticker": "NVDA", "type": "purchase", "since": "2026-01-01"}
).json()

# Returns: [{politician_name, party, state, chamber, ticker, transaction_type,
# trade_date, filed_date, amount_range, disclosure_gap_days, ...}]
# Also: /v1/politicians/{bioguide_id}/trades and /v1/companies/{ticker}/trades
GET /v1/signals/top Flagship 7-layer composite signals — A+ tier 72.7% backtested win rate
# Today's freshest A-tier-or-better signals
signals = requests.get(
  "https://www.govgreed.com/api/v1/signals/top",
  headers={"X-API-Key": "gg_pub_your_key_here"},
  params={"tier": "A", "limit": 20, "fresh": true}
).json()

# Companions: /v1/predictions/top, /v1/herd-signals, /v1/whale-opportunities
GET /v1/markups/upcoming Committee markup calendar — the catalyst feed
# Markups scheduled in the next 14 days
markups = requests.get(
  "https://www.govgreed.com/api/v1/markups/upcoming",
  headers={"X-API-Key": "gg_pub_your_key_here"},
  params={"days": 14}
).json()

# Returns: [{meeting_date, days_away, committee_name, bill_number,
# bill_title, investability_score, committee_traders}]
GET /v1/companies/:ticker Per-ticker intelligence — influence, insiders, carveouts, forecast
# Political influence score (0-100) across 5 money-flow sources
influence = requests.get(
  "https://www.govgreed.com/api/v1/companies/NVDA/political-influence",
  headers={"X-API-Key": "gg_pub_your_key_here"}
).json()

# Family: /political-influence /insider-signal /llm-analysis /carveouts
# /forecast /contracts /trades
GET /v1/politicians/search Resolve names → bioguide IDs, then pull profiles and trades
# "Pelosi" → P000197, then her full trade history
pol = requests.get(
  "https://www.govgreed.com/api/v1/politicians/search",
  headers={"X-API-Key": "gg_pub_your_key_here"},
  params={"q": "pelosi"}
).json()

# Family: /politicians/{id} /profile /conflict-score /committees /donors /trades
GET /v1/sectors Valid sector names + per-sector congressional flow
# Discover valid sectors, then drill into positioning
sectors = requests.get(
  "https://www.govgreed.com/api/v1/sectors",
  headers={"X-API-Key": "gg_pub_your_key_here"}
).json()

positioning = requests.get(
  "https://www.govgreed.com/api/v1/sectors/technology/positioning",
  headers={"X-API-Key": "gg_pub_your_key_here"}
).json()

Full surface (50+ endpoints): donors, employers, nominations, OGE cabinet disclosures, FARA, government contracts & equity stakes, FRED/EIA macro, Kalshi markets, and more — try every endpoint live in the API Explorer or read the OpenAPI 3.1 spec. AI coding tools can read that URL directly and build a working client in minutes.

Three use cases for the GovGreed API: AI trading bots, quantitative strategies, and political risk monitoring
Use Cases

Who's Building With It

🤖

AI Trading Bots

Use triple signals and markup calendar alerts as entry triggers. Connect GovGreed signals → Alpaca or IBKR for execution. Political alpha is uncorrelated with technical signals — pure additive edge.

📊

Quant Strategies

14 years of historical data for backtesting. Rank signals by opportunity score, test forward returns by signal type. The exec pre-vote buy signal has a 4-day to 90-day return window worth measuring.

⚠️

Political Risk

Monitor which bills your portfolio companies are exposed to. Get alerts when committees schedule votes on legislation affecting your holdings. Know before the 8-K.

Integrations

Pair With Your Broker

GovGreed is the data layer. Connect to any execution platform. Our guide walks through Alpaca end-to-end.

Alpaca
Execution Layer

Commission-free trading API. The most popular choice for Python bots. Fractional shares, paper trading, real-time data.

QuantConnect
Backtesting Platform

Cloud-based algorithmic trading. Import GovGreed signal history as a custom data source and backtest your political alpha strategy.

Interactive Brokers
Institutional Execution

Professional-grade brokerage API. Use GovGreed signals for automated order routing via IBKR's Python API. Supports options.

Backtrader
Python Backtesting

Open-source Python backtesting framework. Feed GovGreed signals as a custom data feed and test any strategy locally.

Lumibot
Bot Framework

Python trading bot framework with built-in Alpaca integration. Add GovGreed as your signal source with three lines of code.

Tradier
Options + Equity API

REST-based brokerage API with options support. Use GovGreed bill signals to identify option plays around legislation catalysts.

Access

Live · Self-Serve · No Sales Calls.

The API is live and self-serve. Free tier 20 calls/day. Founders 750 calls/day at $24.50/mo (locked forever). Heavy usage above 750/day → email us and we set a custom limit.

Free
$0
20 calls/day · No card required
  • Public RPCs (read-only)
  • Top 10 signals + top 10 predictions
  • Bill investability scores (42,199)
  • Markup calendar (next 15 days)
  • Politician + ticker lookups
  • 5 req/sec burst limit
See the Receipts — Free →
Institutional
$975/yr
~$81/mo · Trading desks & newsrooms
  • Everything in Founders
  • Custom daily call limit
  • Team seats (5 included)
  • Priority webhook delivery
  • SLA + dedicated Slack channel
  • Custom data exports
  • Quarterly intelligence briefings
Get Trading-Desk Access — Talk to Us →
What Makes This Different
Other providers give you raw STOCK Act filings. We give you the reasoning chain. Every signal comes with the politician's committee assignments, the specific bill in markup, the PAC money trail, lobbying activity, and a convergence score. You don't just know what Congress traded — you know why the signal fired and how strong the thesis is. That's the difference between raw data and actionable intelligence.
Need More Than 750/day?

Email info@govgreed.com for a commercial license. We set a custom limit per use case — no contracts, no sales calls, no QBRs. Anyone willing to work with us gets a working answer within 24 hours.

FAQ

Common Questions

Is this data legal to trade on?
Yes. All data is sourced from mandatory public disclosures under federal law. STOCK Act trades are publicly filed by members of Congress (45-day mandatory disclosure). SEC Form 4 executive trades are public filings required within 2 business days. Bill data is from Congress.gov's public API. There is no material non-public information (MNPI) in this dataset — it is all public disclosure with mandatory reporting lags. Consult your compliance team before deploying in a regulated fund context.
How is GovGreed different from other congressional data providers?
Other providers surface raw STOCK Act trade data — the same disclosures everyone sees. GovGreed cross-references those trades with the specific bills those politicians are voting on, their committee assignments, campaign contributions, corporate executive SEC Form 4 trades, and ML-scored bill passage probability. Beyond the federal APIs, GovGreed subscribes to private professional databases — including LinkedIn executive profiles, social media disclosures, and enriched SEC filing data — to validate officer identity, surface career history, and detect coordinated positioning. This enrichment layer powers the Exec Flock Signal and the lobbying relationship graph. The result is a derived signal nobody else has: the Triple Signal, which fires when all three corruption indicators align on the same ticker. We're also official registered API partners with five federal disclosure systems — not scraping unofficial sources.
What's the data latency? How fresh is it?
Congressional trades are updated daily from public disclosure systems (45-day mandatory lag, but we collect as they're filed). Executive trades (SEC Form 4) are updated daily and are typically 2 business days behind the transaction. The markup calendar is updated daily from Congress.gov. ML scores are recomputed weekly. Webhook events fire within minutes of our daily collection run.
How do I validate the signal before going live?
We recommend starting with the historical backtest: pull all triple signals from 2018–2023 via /v1/trades/historical, cross-reference with price data from FMP or Polygon, and measure forward returns at 5d/30d/90d windows. Our internal validation shows bills scoring 70+ on investability are enacted at 9.1% vs 1.7% for medium-tier (5.4× over 37,143 bills). The markup calendar signal (trade the day a markup is scheduled) is the highest-conviction near-term catalyst. Start on paper trading with Alpaca before deploying capital.
Do you support crypto or options?
The underlying signal data (congressional trades, bill impacts) covers publicly traded equities. Many of the affected companies (defense contractors, healthcare, energy) have active options markets, and the GovGreed signals can be used to identify options catalysts around markup dates. Crypto is not covered — the legislation we track primarily affects traditional equities and some ETFs.
How do I get started / is there a free trial?
The API is live and self-serve. Free tier is 20 calls/day per key with a 5 req/sec burst limit — sign up and grab a key from your Account page in under a minute. Founders ($24.50/mo, locked forever) get 750 calls/day. Need more? Email info@govgreed.com for a commercial license — we set a custom limit, no contracts or sales calls.

API is Live · 20 Free Calls/Day · Self-Serve

189K+ trades, 14 years of history, 50+ endpoints, 18 MCP tools. Generate a key on your Account page and start pulling congressional trading signals into your bot in under a minute.

Read Docs & Get a Key → Trading Bot Guide