{"openapi":"3.0.3","info":{"title":"Bargo Congress Trades API","version":"1.0.0","description":"Independent, unofficial API for normalized U.S. House and Senate STOCK Act securities transaction disclosures. Includes member, security, transaction, filing, value-range, and price-performance fields. Disclosures can be filed up to approximately 45 days after a transaction; this is not a real-time trading feed or investment advice.","termsOfService":"https://www.bargo.ai/free-apis/terms","license":{"name":"Bargo Free API Terms","url":"https://www.bargo.ai/free-apis/terms"},"contact":{"name":"Bargo","url":"https://www.bargo.ai/contact"}},"externalDocs":{"description":"Congress Trades API documentation","url":"https://www.bargo.ai/free-apis/congress"},"servers":[{"url":"https://www.bargo.ai/free-apis/congress/v1","description":"Production"}],"tags":[{"name":"Trades","description":"Normalized House and Senate securities transactions."},{"name":"Members","description":"Members of Congress and their disclosure histories."},{"name":"Statistics","description":"Aggregate dataset statistics and freshness."}],"security":[{},{"ApiKeyHeader":[]},{"BearerAuth":[]},{"QueryToken":[]}],"paths":{"/trades":{"get":{"tags":["Trades"],"summary":"List congressional trades","description":"Returns House and Senate securities transactions from the last 3 months, newest transaction first. Use ticker, member, or date filters to narrow results.","operationId":"listCongressTrades","parameters":[{"$ref":"#/components/parameters/TickerQuery"},{"$ref":"#/components/parameters/MemberQuery"},{"$ref":"#/components/parameters/ChamberQuery"},{"$ref":"#/components/parameters/TransactionTypeQuery"},{"$ref":"#/components/parameters/FromDateQuery"},{"$ref":"#/components/parameters/ToDateQuery"},{"$ref":"#/components/parameters/TradeLimitQuery"},{"$ref":"#/components/parameters/PageQuery"}],"responses":{"200":{"$ref":"#/components/responses/TradeList"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidKey"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/trades/{ticker}":{"get":{"tags":["Trades"],"summary":"List trades for a ticker","description":"Returns all available congressional disclosures for one stock symbol, newest transaction first.","operationId":"listCongressTradesByTicker","parameters":[{"$ref":"#/components/parameters/TickerPath"},{"$ref":"#/components/parameters/FromDateQuery"},{"$ref":"#/components/parameters/ToDateQuery"},{"$ref":"#/components/parameters/TradeLimitQuery"},{"$ref":"#/components/parameters/PageQuery"}],"responses":{"200":{"$ref":"#/components/responses/TradeList"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidKey"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/members":{"get":{"tags":["Members"],"summary":"List members of Congress","description":"Returns members ranked by disclosed trade count, with purchase, sale, and last-trade statistics.","operationId":"listCongressMembers","parameters":[{"$ref":"#/components/parameters/MemberLimitQuery"}],"responses":{"200":{"$ref":"#/components/responses/MemberList"},"401":{"$ref":"#/components/responses/InvalidKey"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/members/{member_slug}":{"get":{"tags":["Members"],"summary":"Get one member's disclosures","description":"Returns a member profile, aggregate trading statistics, and the member's trades from the last 3 months.","operationId":"getCongressMember","parameters":[{"$ref":"#/components/parameters/MemberSlugPath"},{"$ref":"#/components/parameters/MemberTradeLimitQuery"}],"responses":{"200":{"$ref":"#/components/responses/MemberDetail"},"401":{"$ref":"#/components/responses/InvalidKey"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/stats":{"get":{"tags":["Statistics"],"summary":"Get aggregate trading statistics","description":"Returns dataset totals, latest transaction and disclosure dates, and the most-traded tickers over the last 90 days.","operationId":"getCongressTradeStats","responses":{"200":{"$ref":"#/components/responses/Stats"},"401":{"$ref":"#/components/responses/InvalidKey"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/health":{"get":{"tags":["Statistics"],"summary":"Check API and dataset freshness","operationId":"getCongressApiHealth","security":[],"responses":{"200":{"description":"API health and data freshness.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}}}}}},"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"Optional free Bargo API key."},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"Bargo API key","description":"Optional free Bargo API key as a Bearer token."},"QueryToken":{"type":"apiKey","in":"query","name":"token","description":"Optional free Bargo API key for clients that cannot set headers."}},"parameters":{"TickerPath":{"name":"ticker","in":"path","required":true,"description":"Stock ticker symbol.","schema":{"type":"string","minLength":1,"maxLength":16,"example":"NVDA"}},"MemberSlugPath":{"name":"member_slug","in":"path","required":true,"description":"Stable member slug returned by the trades or members endpoints.","schema":{"type":"string","minLength":2,"maxLength":80,"example":"nancy-pelosi"}},"TickerQuery":{"name":"ticker","in":"query","description":"Exact stock ticker symbol, case-insensitive.","schema":{"type":"string","minLength":1,"maxLength":16,"example":"NVDA"}},"MemberQuery":{"name":"member","in":"query","description":"Case-insensitive partial member-name match.","schema":{"type":"string","minLength":2,"maxLength":80,"example":"Pelosi"}},"ChamberQuery":{"name":"chamber","in":"query","description":"Legislative chamber.","schema":{"type":"string","enum":["house","senate"]}},"TransactionTypeQuery":{"name":"type","in":"query","description":"Normalized transaction classification.","schema":{"type":"string","enum":["purchase","sale","exchange"]}},"FromDateQuery":{"name":"from","in":"query","description":"Earliest transaction date, inclusive.","schema":{"type":"string","format":"date","example":"2026-01-01"}},"ToDateQuery":{"name":"to","in":"query","description":"Latest transaction date, inclusive.","schema":{"type":"string","format":"date","example":"2026-12-31"}},"TradeLimitQuery":{"name":"limit","in":"query","description":"Rows per page. Maximum 100 without a key and 250 with a free key.","schema":{"type":"integer","minimum":1,"maximum":250,"default":100}},"MemberTradeLimitQuery":{"name":"limit","in":"query","description":"Member trade rows. Maximum 100 without a key and 250 with a free key.","schema":{"type":"integer","minimum":1,"maximum":250,"default":100}},"MemberLimitQuery":{"name":"limit","in":"query","description":"Maximum number of members.","schema":{"type":"integer","minimum":1,"maximum":500,"default":100}},"PageQuery":{"name":"page","in":"query","description":"Zero-based page number. Narrow broad queries with ticker, member, or date filters. Data covers the last 3 months.","schema":{"type":"integer","minimum":0,"default":0}}},"headers":{"RateLimit":{"description":"Daily request limit for the current caller.","schema":{"type":"integer"}},"RateLimitRemaining":{"description":"Daily requests remaining for the current caller.","schema":{"type":"integer"}},"RowLimit":{"description":"Daily row limit for the current caller.","schema":{"type":"integer"}},"RowLimitRemaining":{"description":"Daily rows remaining for the current caller.","schema":{"type":"integer"}}},"responses":{"TradeList":{"description":"A page of normalized congressional trades.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Rows-Limit":{"$ref":"#/components/headers/RowLimit"},"X-RateLimit-Rows-Remaining":{"$ref":"#/components/headers/RowLimitRemaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradePage"}}}},"MemberList":{"description":"Members ranked by disclosed trade count.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Rows-Limit":{"$ref":"#/components/headers/RowLimit"},"X-RateLimit-Rows-Remaining":{"$ref":"#/components/headers/RowLimitRemaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberList"}}}},"MemberDetail":{"description":"Member profile, statistics, and disclosures.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Rows-Limit":{"$ref":"#/components/headers/RowLimit"},"X-RateLimit-Rows-Remaining":{"$ref":"#/components/headers/RowLimitRemaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberDetail"}}}},"Stats":{"description":"Aggregate dataset statistics.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/RateLimit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"X-RateLimit-Rows-Limit":{"$ref":"#/components/headers/RowLimit"},"X-RateLimit-Rows-Remaining":{"$ref":"#/components/headers/RowLimitRemaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stats"}}}},"BadRequest":{"description":"Invalid filters or pagination depth.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InvalidKey":{"description":"The supplied API key is invalid or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The requested member was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimited":{"description":"Daily request or row budget reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Trade":{"type":"object","required":["member","member_slug","chamber","state","ticker","asset","type","amount_low","amount_high","amount_range","transaction_date","disclosure_date","est_price","recent_price","recent_price_date","perf_pct","realized_return_pct","outcome","filing_portal"],"properties":{"member":{"type":"string","nullable":true,"example":"Nancy Pelosi"},"member_slug":{"type":"string","nullable":true,"example":"nancy-pelosi"},"chamber":{"type":"string","nullable":true,"enum":["house","senate"],"example":"house"},"state":{"type":"string","nullable":true,"example":"CA11"},"ticker":{"type":"string","nullable":true,"example":"NVDA"},"asset":{"type":"string","nullable":true,"example":"NVIDIA Corporation - Common Stock"},"type":{"type":"string","nullable":true,"enum":["purchase","sale","exchange"],"example":"purchase"},"amount_low":{"type":"number","nullable":true,"example":1001},"amount_high":{"type":"number","nullable":true,"example":15000},"amount_range":{"type":"string","nullable":true,"example":"$1,001 - $15,000"},"transaction_date":{"type":"string","format":"date","nullable":true,"example":"2026-01-16"},"disclosure_date":{"type":"string","format":"date","nullable":true,"example":"2026-01-23"},"est_price":{"type":"number","format":"double","nullable":true,"description":"Estimated per-share price near the transaction date.","example":186.23},"recent_price":{"type":"number","format":"double","nullable":true,"description":"Most recently tracked closing price.","example":211.8},"recent_price_date":{"type":"string","format":"date","nullable":true,"example":"2026-07-14"},"perf_pct":{"type":"number","format":"double","nullable":true,"description":"Per-share percentage price movement since the transaction.","example":13.73},"realized_return_pct":{"type":"number","format":"double","nullable":true,"example":8.42},"outcome":{"type":"string","nullable":true,"example":"gain"},"filing_portal":{"type":"string","format":"uri","example":"https://disclosures-clerk.house.gov/FinancialDisclosure"}}},"TradePage":{"type":"object","required":["trades","page","limit","count"],"properties":{"trades":{"type":"array","items":{"$ref":"#/components/schemas/Trade"}},"page":{"type":"integer","minimum":0,"example":0},"limit":{"type":"integer","minimum":1,"example":100},"count":{"type":"integer","minimum":0,"example":100}}},"MemberSummary":{"type":"object","required":["member","member_slug","chamber","state","trades","buys","sells","last_trade"],"properties":{"member":{"type":"string","example":"Nancy Pelosi"},"member_slug":{"type":"string","example":"nancy-pelosi"},"chamber":{"type":"string","enum":["house","senate"]},"state":{"type":"string","nullable":true,"example":"CA11"},"trades":{"type":"integer","minimum":0},"buys":{"type":"integer","minimum":0},"sells":{"type":"integer","minimum":0},"last_trade":{"type":"string","format":"date","nullable":true}}},"MemberList":{"type":"object","required":["members"],"properties":{"members":{"type":"array","items":{"$ref":"#/components/schemas/MemberSummary"}}}},"MemberStats":{"type":"object","required":["trades","buys","sells","last_trade","avg_buy_perf_pct"],"properties":{"trades":{"type":"integer","minimum":0},"buys":{"type":"integer","minimum":0},"sells":{"type":"integer","minimum":0},"last_trade":{"type":"string","format":"date","nullable":true},"avg_buy_perf_pct":{"type":"number","format":"double","nullable":true}}},"MemberDetail":{"type":"object","required":["member","member_slug","chamber","state","stats","trades"],"properties":{"member":{"type":"string"},"member_slug":{"type":"string"},"chamber":{"type":"string","enum":["house","senate"]},"state":{"type":"string","nullable":true},"stats":{"$ref":"#/components/schemas/MemberStats"},"trades":{"type":"array","items":{"$ref":"#/components/schemas/Trade"}}}},"Totals":{"type":"object","required":["trades","members","tickers","buys","sells"],"properties":{"trades":{"type":"integer","minimum":0},"members":{"type":"integer","minimum":0},"tickers":{"type":"integer","minimum":0},"buys":{"type":"integer","minimum":0},"sells":{"type":"integer","minimum":0}}},"TradedTicker":{"type":"object","required":["ticker","trades","buys","sells","members"],"properties":{"ticker":{"type":"string"},"trades":{"type":"integer","minimum":0},"buys":{"type":"integer","minimum":0},"sells":{"type":"integer","minimum":0},"members":{"type":"integer","minimum":0}}},"Stats":{"type":"object","required":["totals","latest_transaction","latest_disclosure","most_traded_90d"],"properties":{"totals":{"$ref":"#/components/schemas/Totals"},"latest_transaction":{"type":"string","format":"date","nullable":true},"latest_disclosure":{"type":"string","format":"date","nullable":true},"most_traded_90d":{"type":"array","items":{"$ref":"#/components/schemas/TradedTicker"}}}},"Health":{"type":"object","required":["status","trades","latest_disclosure","note"],"properties":{"status":{"type":"string","enum":["ok"]},"trades":{"type":"integer","minimum":0},"latest_disclosure":{"type":"string","format":"date","nullable":true},"note":{"type":"string"}}},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}