Horizontal

WorksFinance and paymentsHealth

KeyVex

US public financial disclosures for AI agents: Congress trades, SEC filings, FEC, lobbying, more

Addresshttps://mcp.keyvex.com
Claude Codeclaude mcp add --transport http keyvex https://mcp.keyvex.com
For Cursor and other clients
{
  "mcpServers": {
    "keyvex": {
      "type": "http",
      "url": "https://mcp.keyvex.com"
    }
  }
}
Test
Works: Handshake succeeded
Tools
64 tools
Handshake
839 ms
Transport
streamable-http · 2025-06-18
Tested
6 November 2026
Registry name
com.keyvex/keyvex v0.102.0
Listed
4 October 2026
Updated
4 October 2026
Website
keyvex.com
Other addresses
https://mcp.keyvex.com/pro
The last 1 tests
WhenResultTime
2026-11-06 12:41 UTCHandshake succeeded839 ms

The 64 tools it listed

"Read only" and "Changes data" are the server's own marks. Underlined parameters are required.

  1. get_activist_stakesRead only

    Returns Schedule 13D / 13G beneficial-ownership disclosures — filings made by anyone holding ≥5% of a class of registered equity securities. Each record is one reporting person on one filing (joint filings emit multiple rows under the same accession_number). Use this when the user asks about: who's accumulating large stakes, activist campaigns, takeover targets, hostile bids, or institutional concentration in a name. Also for 'who owns this company at the 5%+ level?' questions. Two flavors, distinguished by `is_activist`: - **13D (is_activist=true)**: filer signals INTENT TO INFLUENCE control. Activist campaigns, takeover stakes, hostile bidders. - **13G (is_activist=false)**: filer is PASSIVE. Mutual funds, advisers, banks, insurers, qualified institutional holders. Filter `is_activist: true` to see only the takeover-style filings — much higher signal-to-noise than the 13G firehose, which is dominated by routine quarterly disclosures from Vanguard, BlackRock, etc. COVE

    ticker include_filing_narrative company_cik cusip filer_name filer_cik is_activist filing_type min_percent_of_class since until sort_by sort_order limit

  2. get_aircraft_registryRead only

    Returns FAA aircraft registrations — the releasable registry of ~314K currently US-registered aircraft, one record per N-number: the aircraft (manufacturer, model, seats, engines, weight class, year built, engine type), and the REGISTRANT — name, type (Individual / Corporation / LLC / Government / Co-Owned, the FAA's own legend, with the verbatim code), address, and up to five co-owner names. Use this when the user asks: who owns an aircraft (by N-number), what aircraft a company / person / nonprofit registers, corporate-jet fleets, aircraft registered in a state, or to join tail numbers seen in flight-tracking data to owners. Lookups: n_number is a direct hit ('N123AB' or '123AB'). registrant_name matches the primary registrant AND co-owner names. Note: many corporate jets register through trustee banks (e.g. 'BANK OF UTAH TRUSTEE') or aircraft-management LLCs — an absent company name is NOT proof the company has no aircraft. Registry posture: a CURRENT-roster snapshot refreshed mon

    n_number registrant_name state registrant_type_code aircraft_type_code manufacturer sort_by sort_order limit

  3. get_alerts

    Your watchlist alerts, newest first: events matched to the tickers, members of Congress and federal-contract recipients (UEIs) on YOUR watchlist, for the API key making the call. Kinds: congress_trade: a congressional trade disclosed this week in a ticker or by a member on your watchlist. initial_13d: an initial Schedule 13D (a new 5%+ activist stake) filed this week in a ticker on your watchlist. federal_contract: federal awards at or above your threshold that KeyVex first reported this week, new or newly modified (a later modification of an award you were already alerted to does not alert again). An event alerts only when its own date (disclosure, filing, the award's latest modification) is within 7 days of detection and not before you added the entry, so a watchlist never replays history. Each alert's `data` is the source record as KeyVex stored it when the alert fired, with KeyVex's internal `_` fields removed; the matching tool may present the same record differently. Pagina

    since kind limit cursor

  4. get_annual_financial_disclosuresRead only

    Returns Form 278 (Public Financial Disclosure / Annual Financial Disclosure) filings — the annual snapshot members of Congress file each year showing assets, income sources, liabilities, transactions, gifts, outside positions, and (for spouse + dependent children) the same. The same filings are published free as news at https://keyvex.com/disclosures under 5 U.S.C. § 13107(c). SCOPE — v1 covers BOTH chambers: Senate (Senate eFD) and House (House Clerk). Filed by every senator and representative (and senior executive-branch officials, federal judges) by May 15 each year. Use this when the user asks about: a member's asset composition, outside income sources, board seats / outside positions, liabilities (mortgages, loans), or for news reporting on annual disclosures. CONTENT — when a filing's schedules were machine-parsed, `content_parsed` is true and the record carries structured `assets` (Schedule A) and `liabilities` arrays plus `asset_count` / `liability_count`. `value_range` / `

    bioguide_id member_name chamber state party filing_year report_type since until sort_by sort_order limit

  5. get_bank_financialsRead only

    Returns quarterly financials for every FDIC-insured US bank — FDIC BankFind Suite (RIS) data derived from Call Reports, one record per (bank, quarter-end) from 1984 to the present. Covers ~4,400 active institutions per modern quarter, most of which never file with the SEC — this is the banking-sector complement to get_fundamentals. Use this when the user asks about: a specific bank's assets / deposits / profitability / capital ratios, bank league tables ('largest banks in Texas'), deposit flight or brokered-deposit reliance, nonperforming-asset trends, or to pair bank fundamentals with OCC/FDIC/Fed enforcement actions and CFPB complaints. Record shape: identity (cert = FDIC certificate number, the stable bank key; name/city/state), balance sheet in $ THOUSANDS (total_assets, total_deposits, equity_capital, net_loans_leases, securities, loan buckets, brokered_deposits, insured-deposit estimates), income statement in $ thousands (net_income, interest income/expense, noninterest income/e

    id cert name state report_date since until sort_by sort_order limit

  6. get_billsRead only

    Returns congressional bill metadata from api.congress.gov. Use this when the user asks about: bills introduced this Congress, the status of a specific bill, House vs Senate bill volume, what bills mention a topic, or to bridge from a roll-call vote (legislation_type + legislation_number) to the underlying bill. Source: api.congress.gov v3 (Library of Congress). Covers ALL bill types: HR (House Bill), S (Senate Bill), HRES (House Simple Resolution), SRES (Senate Simple Resolution), HJRES (House Joint Resolution), SJRES (Senate Joint Resolution), HCONRES (House Concurrent Resolution), SCONRES (Senate Concurrent Resolution). v1A returns metadata only: title, type + number, originating chamber, latest action (date + text), and links. Sponsors, cosponsors, full action history, bill text, and CRS summaries live at `api_url` (structured JSON) and `congress_gov_url` (public HTML). Agents follow those for prose detail. Bill identifiers are stable composite keys formatted as {congress}-{TYPE}

    bill_id congress bill_type title origin_chamber since until introduced_since introduced_until sort_by sort_order limit

  7. get_cftc_cot_reportsRead only

    Returns CFTC Commitments of Traders (COT) report rows — weekly aggregated futures + options-on-futures positioning by trader class. The COT report is the macro positioning dataset for U.S. futures markets. Released every Friday 3:30 PM ET for the prior Tuesday close. Trader classes (the CFTC's Legacy report, futures and options combined): - Non-commercial (large speculators — hedge funds, CTAs) - Commercial (hedgers — producers, swap dealers) - Non-reportable (small speculators) Every row carries report='legacy' and variant='combined' (futures and options together). Killer query patterns: - Macro positioning snapshot this week: latest_only=true (gives the latest report row for every contract in one query) - Large-spec extremes in S&P: commodity_name='S&P 500 STOCK INDEX' + sort_by='noncomm_net' + sort_order='desc' - Gold positioning history: commodity_name='GOLD' + since='2026-01-01' - Currency COT: contract_market_name substring 'YEN' / 'EURO' Source: publicr

    id cftc_contract_market_code contract_market_name commodity_name since until latest_only sort_by sort_order limit

  8. get_company_profileRead only

    Returns ONE company's reference profile: legal name, CIK, tickers + exchanges, SIC industry classification, state of incorporation, HQ and mailing addresses, phone, fiscal year end, EIN, former names, a plain-English business summary (condensed from the latest 10-K Item 1), CEO + board of directors (from the latest DEF 14A proxy), federal- contract activity summary (USAspending join, with a ready-to-run get_federal_contracts query), company logo reference, and — on paid plans — the latest end-of-day closing price (price_eod; Close Prices from Tiingo.com). For price HISTORY use get_daily_prices. The price_iex_last / price_tngolast intraday fields remain unlicensed stubs. ⚠ ASSEMBLED REFERENCE DATA — unlike KeyVex's mirror datasets, this profile is NOT byte-faithful government mirroring. Fields are assembled from multiple bases and each carries its own provenance envelope: source, source_type (mirrored | derived | self_collected | asserted | licensed), fetched_at, as_of, and per-field m

    ticker cik

  9. get_congressional_tradesRead only

    Returns trade records disclosed by U.S. members of Congress under the STOCK Act — Senate eFD and House Clerk Periodic Transaction Reports (PTRs). Each record is one disclosed transaction by a member or their immediate family. The same filings are published free as news at https://keyvex.com/disclosures under 5 U.S.C. § 13107(c). Use this when the user asks about: who in Congress traded a specific stock, what trades a specific member made, recent congressional trading activity, or filings within a date range. Important: This data is *disclosed* trades, with reporting lag up to 45 days. The disclosure_date is when the public could first see the trade; the transaction_date is when the trade actually happened. For 'what did Congress just disclose buying' questions, sort by disclosure_date. For 'what did Congress hold around a specific market event', filter by transaction_date. Each amount is a range like '$1,001 - $15,000' (Senate filers report ranges, not exact amounts). The amount_mi

    ticker member_name bioguide_id chamber transaction_type owner since until min_amount sort_by sort_order limit cursor amendment_status exclude_superseded include_non_open_market

  10. get_consumer_complaintsRead only

    Returns consumer complaints filed with the Consumer Financial Protection Bureau (CFPB). Each record is one filing against a bank, credit reporting agency, mortgage servicer, debt collector, fintech, or crypto firm — with company response status, timeliness flag, and (when consented) consumer narrative. Use this when the user asks about: complaint volume against a specific company, top issues at a credit reporting agency, regional complaint patterns, untimely responses by a financial institution, or as a leading indicator of upcoming CFPB/OCC/FDIC enforcement action. COVERAGE — live passthrough (source:'live'): each call queries CFPB's own search API over the FULL 15.7M+ complaint database, full history, current as of CFPB's publication. The response's `total_count` is CFPB's authoritative count for your filtered query — USE IT for volume answers (the `results` array is just the requested page). `total_count` is omitted when an `issue` or `sub_product` filter is active (those apply af

    id company product sub_product issue state submitted_via timely_response since until sort_by sort_order limit

  11. get_corporate_patentsRead only

    Returns US patent applications from the USPTO Open Data Portal, keyed on the APPLICANT (the corporate owner). Each record is one application's front-page metadata: title, applicant(s), first inventor + inventor count, filing/effective dates, status, entity size, application type. Follow source_url (USPTO Patent Center) for the full file wrapper / documents. Use this when the user asks: what is a company patenting, how many patents did a company file (and when), recent patents in a company's portfolio, or to cross-reference R&D output against insider/congressional activity, contracts, or fundamentals for the same company. company_name is the corporate APPLICANT and matches case-insensitively, but patents are filed under an IP-HOLDING ENTITY, not the household brand. Use the full legal applicant string for best recall — e.g. 'Google LLC', 'Microsoft Technology Licensing, LLC', 'Amazon Technologies, Inc.', 'QUALCOMM Incorporated', 'International Business Machines Corporation', 'Meta Pla

    company_name application_number since until sort_order limit

  12. get_crowdfunding_offeringsRead only

    Returns SEC Form C filings — Regulation Crowdfunding offerings, 2016-05→present: startup raises on Wefunder / StartEngine / Republic and other funding portals. One record per filing with the issuer (legal form, jurisdiction, incorporation date, website), the PORTAL (name + CIK + CRD), offering terms (security type — SAFEs appear as 'Other' with the description, price, target and maximum amounts, deadline, oversubscription), and the issuer's own DISCLOSED FINANCIALS (total assets, cash, revenue, net income, debt — current + prior fiscal year, dollars) plus employee count. Use this when the user asks about: startup crowdfunding activity, what a company raised on a portal, portal market share, early-stage issuers in a state, or revenue/assets of a crowdfunding company. filing_type maps the form family: 'offering' (C, C/A) | 'progress_update' (C-U) | 'annual_report' (C-AR — re-discloses financials yearly) | 'termination' (C-TR). is_withdrawal covers the -W variants. One issuer CIK typical

    accession_number cik issuer_name portal_name filing_type jurisdiction since until sort_order limit

  13. get_daily_pricesRead only

    Returns daily end-of-day closing-price history for one US-listed ticker (stocks, ETFs, mutual funds — including delisted tickers, so historical analysis is survivorship-bias-free). Coverage extends back as far as 1962 for the oldest names, subject to plan history limits. PAID PLANS ONLY. Each row: date, close (as-traded), adj_close (split+dividend adjusted — use THIS for charts and return calculations), div_cash (dividend with that ex-date), split_factor (e.g. 4 = 4:1 split that session). price_currency (top level) is the ISO currency of EVERY price in the response: USD. KeyVex covers US-listed securities priced in US dollars (foreign companies listed on US exchanges included); a ticker listed only elsewhere, e.g. a Shanghai or Shenzhen A-share, answers 'Not covered' with no prices. null means the currency is not known. asset_type is the listing's type (Stock, ETF, Mutual Fund). The freshness block grades THIS ticker too: its newest bar (last_available) against the newest US session

    ticker since until frequency include_ohlc

  14. get_delistingsRead only

    Returns SEC delisting and deregistration filings: the Form 25 family (notification of removal from listing on a national exchange under Rule 12d2-2) and the Form 15 family (certification terminating or suspending a security class's registration — the 'going dark' filing that ends SEC reporting; 15F variants are the foreign-private-issuer equivalents). Use this when the user asks: was/is a company being delisted, which companies went dark recently, what securities did an exchange remove, or to pair with tender offers / 8-Ks / insider sales around an exit event. Reading a record: action='delisting' (25 family) vs 'deregistration' (15 family) is a faithful form→rule mapping, not an opinion. 25-NSE is filed BY THE EXCHANGE against the issuer (exchange_name/exchange_cik are set) — typically the involuntary path; a bare Form 25 is filed by the issuer itself (voluntary withdrawal, e.g. after a merger). rule_provision carries the cited Rule 12d2-2 provision verbatim — the provision distinguis

    accession_number form action ticker cik company_name since until sort_order limit

  15. get_drug_adverse_eventsRead only

    Returns FDA FAERS drug adverse-event reports — every adverse-event / medication-error report submitted to FDA (~20M, 2004→present, growing ~2M/yr). LIVE passthrough to openFDA: results reflect FDA's current data and `total_count` is openFDA's authoritative count for the filtered query (the results array is just the requested page). Use this when the user asks about: safety signals on a drug, adverse events by reaction type, death/hospitalization outcome counts for a product, a manufacturer's adverse-event footprint, or to pair a safety-signal trend with recalls, approvals, or insider activity. count_by returns TOP TERMS + COUNTS instead of records (e.g. count_by:'reaction' with drug:'ozempic' → the most-reported reactions for that drug) — the right first move for 'what are the side effects of X' questions; follow with a record query for detail. Records are openFDA's fields verbatim: deeply nested (patient.drug[] with openFDA annotations, patient.reaction[]), 5-15KB each — keep limit s

    drug manufacturer reaction serious outcome country since until count_by limit skip

  16. get_economic_indicatorsRead only

    Returns observations of key US macro, energy, and fiscal indicators from four sources: - BLS (Bureau of Labor Statistics): the canonical labor + price statistics. ~20-series watchlist covering unemployment, payrolls, wages, CPI, PPI, productivity. Most monthly, ECI/productivity quarterly. - FRED (Federal Reserve Economic Data, St Louis Fed): rates, money supply, GDP, PCE inflation, mortgage rates, jobless claims, Fed balance sheet, breakeven inflation, dollar index, consumer sentiment. ~30-series watchlist. Some daily (rates, dollar), weekly (mortgage, Fed assets, jobless claims), monthly, quarterly. - EIA (Energy Information Administration): WTI + Brent crude oil spot prices, Henry Hub natural gas, US gasoline retail price, US crude oil production. Unique energy data not in BLS or FRED. Mostly weekly cadence. - FiscalData (Treasury Bureau of the Fiscal Service): total public debt outstanding TO THE PENNY, daily, 1993→present (split i

    source series_id category period_type since_year until_year latest_only sort_by sort_order limit

  17. get_enforcement_actionsRead only

    Returns SEC + DOJ + CFTC + OCC + FDIC + FTC + Federal Reserve + FinCEN enforcement-related actions. Eight regulators, one tool. Use this when the user asks about: recent SEC charges, DOJ indictments, CFTC derivatives/swaps enforcement, OCC national-bank examination actions, FDIC bank-failure announcements or insured-deposit transfers, FTC antitrust / consumer-protection cases, Federal Reserve actions against banks and individual bankers, FinCEN anti-money-laundering (BSA) penalties, insider trading prosecutions, FCPA actions, fraud cases, or to add a 'negative event' flag to a ticker or person by cross-checking against insider trades, activist filings, or tender offers. CATEGORY: every row is labelled `category`: "enforcement" (charges, suits, settlements, penalties, consent and court orders, monthly enforcement-action lists; every DOJ, Federal Reserve and FinCEN row) or "agency_news" (rule proposals, no-action letters, appointments, roundtables, bank-failure notices, speeches from th

    action_id source title text agency_component category topic since until sort_order limit

  18. get_epa_enforcementRead only

    Returns EPA federal CIVIL enforcement cases from ICIS FE&C (the EPA's Integrated Compliance Information System) via the ECHO bulk download — ~135K cases, EPA-lead administrative and judicial civil actions. CRIMINAL prosecutions are NOT in this source, and neither are state-lead actions. Refreshed weekly by EPA (~Saturday). Use this when the user asks about: EPA fines / penalties against a company, Clean Air Act / Clean Water Act / RCRA / Superfund enforcement, environmental violations by facility or state, settlements and consent decrees, or supplemental environmental projects (SEPs). Record shape (one doc per case, joins pre-flattened): case_number (RR-YYYY-NNNN), case_name, defendants[] (names), statutes[] + primary_statute (CWA, CAA, FIFRA, SDWA, RCRA, TSCA, CERCLA, EPCRA), activity_type ('administrative' | 'judicial'), activity_status + status_date, penalties from the CASE_PENALTIES table — fed_penalty, state_local_penalty, sep_amount, compliance_action_cost, cost recoveries, pen

    case_number defendant_name state primary_statute activity_type min_penalty fiscal_year since until sort_by sort_order limit

  19. get_fda_approvalsRead only

    Returns FDA approval / clearance events: drug approval actions from Drugs@FDA, medical-device 510(k) clearances, and device PMA (premarket approval) decisions. Full history (drugs to 1939, 510(k) to 1976, PMA to the 1960s). This is the BULLISH twin of get_product_recalls — the catalyst dataset for biotech and medtech tickers. Use this when the user asks about: new drug approvals for a company or ingredient, priority-review approvals, tentative generic (ANDA) approvals, device clearances by company or product code, PMA supplements, or to pair an approval date with insider trades / 8-K filings / fundamentals. Sources (filter via the `source` enum): drugsfda — Drugs@FDA submission actions. One record per submission decision (ORIG = original approval, SUPPL = supplemental). decision_code: AP (approved) | TA (tentative approval — generic approved but blocked by patent/exclusivity). review_priority: PRIORITY | STANDARD — PRIORITY reviews

    id source category application_number applicant product_name decision_code review_priority product_code since until sort_order limit

  20. get_fec_candidate_profileRead only

    Returns FEC-registered candidate profiles (House, Senate, President) and — when include_committees=true (default) — each candidate's associated FEC committees in the same response. Use this when the user asks about: who's running in race X, the campaign finance ID for a member, what PAC is sponsoring a candidate, or to bridge from a Congressional member name to their FEC committee_id before looking up contributions (v1.1 tool). Source: api.open.fec.gov — the official Federal Election Commission public-disclosure API. Records include current sitting members, primary challengers, defeated candidates, future-cycle registrants, and presidential candidates. Cycles tracked: 2022, 2024, 2026. Filter by candidate_id for the fastest direct lookup. Otherwise use candidate_name (case-insensitive substring) optionally narrowed by office + state + cycle. FEC names are typically filed as LASTNAME, FIRSTNAME (e.g., 'MCCORMICK, DAVE' for Dave McCormick). Office codes: H (House), S (Senate), P (Pres

    candidate_id candidate_name office state district party cycle active_only include_committees sort_by sort_order limit

  21. get_fec_contributionsRead only

    Returns FEC Schedule A contribution data — money flowing INTO federal committees — in AGGREGATED form. Individual donors are never exposed as searchable per-record rows: the FEC sale-or-use rule (11 CFR 104.15) permits aggregated presentation only, so this tool serves group totals and a bounded ORGANISATION leaderboard (the same posture as Quiver Quantitative's public pages). Source: api.open.fec.gov (official FEC API), queried live per request with a cached-rollup fallback (responses carry source: live | cache). THREE MODES (pick one): 1. Aggregate totals — pass group_by: - group_by='employer' + recipient_committee_id + cycle → total + count per employer for that committee (FEC-computed, all itemized rows). E.g. which employers' workforces fund committee X. - group_by='state' + recipient_committee_id + cycle → geographic fundraising pattern for a committee. ⚠ On employer and state rows, contribution_count is the number of CONTRIBUTIONS, not contributors — the

    group_by leaderboard recipient_committee_id candidate_id contributor_state contributor_employer entity_type sub_id cycle min_amount max_amount since until exclude_memos sort_by sort_order limit

  22. get_fec_disbursementsRead only

    Returns FEC Schedule B disbursements — itemized records of money flowing OUT of a federal committee to organisations: vendor payments, media / ad buys, consulting firms, payroll services, and committee-to-committee transfers. The OUT-flow counterpart to get_fec_contributions (Schedule A, money IN). ORGANISATIONS ONLY: per-record rows are served only when FEC codes the payee as a committee or organisation (COM, CCM, PAC, PTY, ORG). Rows naming a natural person — individual payees (IND), candidates (CAN), unclassified payees, and people a filer coded as an organisation — are withheld per record under the FEC sale-or-use rule (11 CFR 104.15). Refunds of contributions to individuals are withheld with them. Source: api.open.fec.gov/v1/schedules/schedule_b/ — the official FEC public-disclosure API. Live queries cover every itemized row; the cached fallback subset carries a $1,000+ ingestion floor (filters small-vendor / payroll noise). Publication-lag caveat: disbursements only surface wh

    sub_id spender_committee_id recipient_name candidate_id recipient_state disbursement_purpose_category entity_type min_amount max_amount since until cycle exclude_memos sort_by sort_order limit

  23. get_fec_independent_expendituresRead only

    Returns FEC Schedule E independent expenditures — money spent BY a super PAC (or IE-only PAC) uncoordinatedly FOR or AGAINST a federal candidate. Hallmark vehicle for political ad spending since Citizens United (2010). Critical signal: support_oppose_indicator — 'S' = support, 'O' = oppose. A single candidate often has dozens of S and O entries across many super PACs in one cycle. Filter by support_oppose='O' to find attack ads; 'S' to find positive ads. Source: api.open.fec.gov/v1/schedules/schedule_e/. F24 filings (24-hour notices within 20 days of an election) and F5 (quarterly IE reports) both flow through this endpoint. Filers FEC classes as "a person or a group" (Form 5 filers, committee types I and E) are served when the filer is a group; a filer whose name is, or may be, a natural person's is withheld per record, as is any filer KeyVex holds no committee record for (FEC sale-or-use rule, 11 CFR 104.15). Killer query patterns: - Attack ads on Senator X: candidate_id='S6PA0

    sub_id committee_id candidate_id support_oppose payee_name description candidate_office candidate_office_state min_amount max_amount since until cycle exclude_memos sort_by sort_order limit

  24. get_federal_contractsRead only

    Returns federal contract awards from USAspending.gov — government spending data sourced from Treasury/GSA. Each record is one prime contract award (BPA Call, Purchase Order, Delivery Order, or Definitive Contract). Modifications appear as separate records. Use this when the user asks about: who's getting federal contracts, how much a specific recipient (Lockheed Martin, RTX, Raytheon, Booz Allen, etc.) won this year/quarter, contracts by industry (NAICS code) or product type (PSC code), or to cross-reference congressional trading with contract awards. Cross-source pattern (the political-alpha play): 1. get_congressional_trades(ticker:'LMT', since:'2026-01-01') — find LMT trades by members of Congress. 2. get_federal_contracts(recipient_name:'Lockheed Martin', since:'2026-01-01') — find LMT contract awards. 3. Compare timing — trades within 30 days before a major contract are the high-signal cases. ⚠ award_amount and total_outlays are NULLABLE, and total_outlays

    recipient_name recipient_uei awarding_agency naics_code psc_code min_amount since until sort_by sort_order limit

  25. get_federal_grantsRead only

    Returns federal GRANTS and cooperative agreements from USAspending. Distinct universe from get_federal_contracts — recipients here are universities, non-profits, state and local agencies, research labs, healthcare institutions, public-private partnerships. ⚠ award_amount and total_outlays are NULLABLE. USAspending omits Total Outlays from the search response for most grants, and this tool reports that as null rather than as $0 — a 0 means the source really said zero. Null-check before doing arithmetic. Null values never satisfy min_amount and sort last. Award type codes covered: 02 (Block Grant), 03 (Formula Grant), 04 (Project Grant — most common), 05 (Cooperative Agreement). Killer query patterns: - All NIH R01 grants this quarter: cfda_number='93.847' + since=... - State and local infrastructure funding: awarding_agency='Department of Transportation' + min_amount=1000000 - Recipient-specific grant history: recipient_name='Stanford' - Recipient by federal UEI: recipient_ue

    recipient_name recipient_uei awarding_agency cfda_number min_amount since until sort_by sort_order limit

  26. get_federal_register_documentsRead only

    Returns Federal Register documents — the daily-published collection of US executive branch regulatory + administrative actions. Use this for: regulatory tracking (what's the SEC / EPA / FDA proposing this week?), executive order monitoring, public-comment-period tracking, lobbying tie-in (cross-reference with get_lobbying_filings for 'who's pushing which rule'), or compliance forward-look on proposed regulations. Source: federalregister.gov public REST API. Comprehensive — every Federal Register publication appears here. Document types (document_type field): 'Rule' — final regulation (in effect) 'Proposed Rule' — agency rule open for public comment 'Notice' — formal notice (sunshine acts, hearings, authorizations, determinations, etc.) 'Presidential Document' — executive orders, proclamations, memoranda Agency filtering: agency_slug uses URL-safe identifiers like 'securities-and-exchange-commission', 'enviro

    document_number title document_type agency_slug agency_name text since until sort_order limit

  27. get_fema_disastersRead only

    Returns federal disaster declarations from OpenFEMA — every DR (major disaster), EM (emergency), and FM (fire management) declaration since 1953, one record per (declaration, designated county). ~70K records. Use this when the user asks about: hurricanes / floods / wildfires / severe storms hitting a state or county, which counties were designated for FEMA assistance, active vs closed-out disasters, or to anchor an insurance / construction / utility / muni-credit question to the official federal declaration. Record shape: fema_declaration_string ('DR-4728-CA'), declaration type + date, incident_type ('Hurricane', 'Flood', 'Fire', 'Severe Storm'...), declaration_title ('HURRICANE IAN'), designated_area (county) + FIPS codes, and the four assistance-program flags (individual_assistance, individuals_households_program, public_assistance, hazard_mitigation) — public_assistance=true is the infrastructure-rebuild-money flag. A single disaster spans MANY records (one per designated county):

    id fema_declaration_string disaster_number state declaration_type incident_type title since until sort_order limit

  28. get_ferc_filingsRead only

    Returns FERC eLibrary document records — every public filing at the Federal Energy Regulatory Commission: Issuances (orders, notices, delegated letters BY FERC) and Submittals (rate filings, tariff changes, compliance reports, protests, hydro license paperwork TO FERC) across the Electric, Natural Gas, Oil, Hydro, Rulemaking, and General libraries (~1,300 documents/week). Use this when the user asks about: a FERC docket or rate case, pipeline / utility / hydro regulatory activity, FERC orders affecting a company, or energy infrastructure proceedings. The DOCKET NUMBER is the join key across a proceeding. Format: PREFIX + two-digit year + sequence, e.g. 'ER26-1234' (Electric rate), 'RP26-930' (gas pipeline rate), 'CP26-15' (gas pipeline certificate/construction), 'P-5737' (hydro project — no year), 'EL26-50' (Electric complaint/investigation), 'RM26-3' (rulemaking). docket_number accepts the root ('RP26-930') or a full sub-docket ('RP26-930-000'). Records carry docket_numbers (verbatim

    accession_number docket_number library category class_type text since until sort_by sort_order limit

  29. get_foreign_agentsRead only

    Returns FARA registrations — US persons and firms registered with the DOJ as agents of a foreign principal under the Foreign Agents Registration Act. Use this when the user asks about: who is a registered foreign agent, which US firms work for a particular foreign government, recently-registered foreign agents, or to add a 'foreign- influence' flag to a lobbying firm, law firm, or PR firm. Each record is one registrant ↔ foreign-principal relationship — a registrant representing three foreign principals appears as three records. The single highest-signal filter is foreign_principal_country: foreign_principal_country='CHINA' → every US agent acting for a Chinese principal Source: efile.fara.gov (DOJ National Security Division). v1A covers ACTIVE registrations. The registrant↔principal linkage is included; per-document filing detail and compensation figures are not — follow source_url to FARA eFile for those. Cross-source pairing pattern: FA

    registration_number registrant_name foreign_principal_name foreign_principal_country has_foreign_principal status since until sort_by sort_order limit

  30. get_fund_holdingsRead only

    Returns per-security holdings from SEC Form N-PORT primary documents — one row per investment-or-security line in a mutual fund / ETF / closed-end fund's monthly portfolio report. Use this when the user asks about: which funds hold a specific stock or bond, a fund's complete portfolio composition, fund-level derivative exposure (swaps, options, futures), repo positions, concentration by issuer, or to compose 'which ETFs added X this month' / 'which funds shorted Y' style queries. Source: parsed from each NportFiling's primary_doc.xml. asset_cat is SEC's own code, and these twenty are the only ones the data holds — EC common equity; EP preferred equity; DBT debt, Treasuries included; LON loan; ABS-MBS asset-backed, mortgage; ABS-O asset-backed, other; ABS-CBDO asset-backed, CDO/CBO; ABS-APCP asset-backed commercial paper; SN structured note; STIV short-term investment vehicle, money-market and liquidity pools; RA repurchase and reverse-repurchase agreement; RE real estate; COMM commodi

    filing_id filer_cik filer_name period_ending name cusip ticker isin asset_cat is_derivative derivative_type country payoff_profile min_value_usd min_pct_of_portfolio min_notional counterparty expiration_since expiration_until maturity_since maturity_until since until sort_by sort_order limit

  31. get_fundamentalsRead only

    Returns XBRL-tagged financial fundamentals from public-company 10-K and 10-Q filings, sourced from SEC EDGAR's company-facts API. Each record is one observation of one concept at one period end. Use this when the user asks about: revenue, profit, margins, cash position, debt, shareholder equity, EPS, share count, operating vs. financing cash flow, or any line-item-level financial state of a public company. Coverage: any company in SEC's ticker list. The S&P 500 is refreshed three times a week; another company is read live from SEC on its first request (US-dollar units only; coverage_warning says so) and stored for later calls. An empty result's coverage_warning says which kind of empty it is. Concepts: a curated 40-concept watchlist covering: - income_statement: Revenues / RevenueFromContractWithCustomer / CostOfRevenue / GrossProfit / OperatingExpenses / R&D / SG&A / OperatingIncomeLoss / InterestExpense / IncomeTaxExpenseBenefit / NetIncomeLoss - balance_sheet: Ass

    ticker company_cik concept category fiscal_year fiscal_period form since until latest_only sort_by sort_order limit

  32. get_government_publicationsRead only

    Returns recent congressional + oversight publications from GovInfo across four collections. Use this when the user asks about: - Committee reports on a specific bill or topic - Recently signed public laws (the 'did it become law' signal) - Congressional hearing transcripts (testimony from regulators, CEOs, expert witnesses) - GAO oversight reports (independent reviews of federal agencies + programs, often precede SEC/DOJ enforcement on the same target) Collections (filter via the `collection` enum): CRPT — Congressional Reports. Includes committee reports accompanying bills (House hrpt / Senate srpt). Real- time signal on what's about to move on the floor. PLAW — Public + Private Laws. Bills that were signed into law. The 'what actually got done' record. CHRG — Congressional Hearings. Transcripts of House + Senate committee hearings — testimony from agency heads, executiv

    package_id collection doc_class congress title since until sort_by sort_order limit

  33. get_h1b_filingsRead only

    Returns H-1B Labor Condition Applications from the Department of Labor's quarterly disclosure files — one record per LCA with employer, job title, O*NET-SOC occupation code, offered wage vs DOL prevailing wage, worksite location, and employer risk flags (h1b_dependent, willful_violator). Covers H-1B, H-1B1 (Chile / Singapore), and E-3 (Australia) visa classes. Use this when the user asks about: a company's hiring activity or wage levels for specific roles, tech-hiring trends by state or occupation, offered vs prevailing wage gaps, or outsourcing-firm staffing patterns. IMPORTANT interpretation notes (stated so agents don't over-read): an LCA is filed BEFORE the H-1B petition and can cover multiple positions (total_worker_positions) — it signals hiring INTENT, not an approved visa or a hire. Certified ≫ actual visas issued. Wage fields are as filed; wage_unit varies (Year / Hour / Month / Week / Bi-Weekly) — normalize before comparing. Matching: employer_name is a substring over legal

    case_number employer_name job_title soc_code visa_class case_status worksite_state since until sort_order limit

  34. get_insider_filingsRead only

    A ticker search also returns rows this issuer FILED UNDER SYMBOLS IT NO LONGER LISTS (renames, filer typos, ADR spellings). Each row keeps `ticker` as SEC received it and gains `current_ticker` when the issuer trades under a different symbol today. Separately-listed share classes are NOT merged, and asking for a RETIRED symbol returns only rows filed under it — retired symbols get reissued to other companies. When more than one issuer has filed under a ticker (a reused symbol, a holding-company reorganization), every row stays in the answer and carries `issuer_relation`: the row's own issuer and its relation to the ticker's issuer (same_issuer; predecessor or successor, on SEC evidence; related_by_name; affiliate; or different_issuer), with the evidence, such as the SEC succession form and its date. A ticker search also finds this issuer's rows filed under ANOTHER issuer's symbol, matched only on its CIK. Returns FILING-LEVEL records from SEC Form 3/4/5 filings — one row per filing (ac

    accession_number ticker company_cik company_name document_type is_amendment reporting_owner_name since until sort_by sort_order limit

  35. get_insider_holdingsRead only

    A ticker search also returns rows this issuer FILED UNDER SYMBOLS IT NO LONGER LISTS (renames, filer typos, ADR spellings). Each row keeps `ticker` as SEC received it and gains `current_ticker` when the issuer trades under a different symbol today. Separately-listed share classes are NOT merged, and asking for a RETIRED symbol returns only rows filed under it — retired symbols get reissued to other companies. When more than one issuer has filed under a ticker (a reused symbol, a holding-company reorganization), every row stays in the answer and carries `issuer_relation`: the row's own issuer and its relation to the ticker's issuer (same_issuer; predecessor or successor, on SEC evidence; related_by_name; affiliate; or different_issuer), with the evidence, such as the SEC succession form and its date. A ticker search also finds this issuer's rows filed under ANOTHER issuer's symbol, matched only on its CIK. Returns per-security INSIDER POSITIONS from SEC Form 3/4/5 filings — one row per

    ticker company_cik company_name reporting_owner_cik reporting_owner_name merge_co_reports holding_type direct_indirect_ownership is_director is_officer is_ten_percent_owner min_shares min_value since until sort_by sort_order limit

  36. get_insider_transactionsRead only

    Returns executive insider transactions filed on SEC Form 4 — open-market purchases and sales by officers, directors, and 10%-owners of public companies. Each record is one transaction line item from one filing. Use this when the user asks about: insider buying or selling at a specific company, all recent insider activity across the market, transactions by a specific officer, or large insider trades by value. Form 4 is the fastest insider-trade signal in the public record — must be filed within 2 business days of the trade. The reporting_lag_days field tells you how stale a particular disclosure is. Returns BOTH non-derivative rows (direct common-stock buys/sells, RSU vests, grants, gifts, tax-withholding sales) AND derivative rows (option exercises, warrant conversions, RSU/PSU activity). Filter to one or the other with is_derivative; filter to specific transaction codes with transaction_codes. Common transaction codes: P open-market purchase | S open-market sale A grant / a

    ticker company_cik officer_name transaction_type is_derivative transaction_codes min_value include_unpriced since until cursor sort_by sort_order limit include_baseline merge_co_reports data_source reporting_owner_cik reporting_owner_name row_type trans_codes aff10b5one schema_era include_non_open_market

  37. get_institutional_holdingsRead only

    Returns SEC Form 13F holdings: the quarterly long-equity positions of every institutional investment manager that files a 13F ($100M+ in 13(f) securities), whole books, every quarter since 2013-06-30. Each record is one (fund, security, quarter). Use this when the user asks which institutions hold a stock, what a fund owns, how a position changed quarter over quarter, or about "whale" activity in a name. Freshness: 13Fs are due 45 days after quarter end. Every 13F on EDGAR's daily list is normally loaded within a day of filing, deadline days included, and some sooner (EDGAR is also checked every 4 hours) (loaded_from "edgar"). Quarters covered by SEC's quarterly 13F data sets come from them (loaded_from "sec_dataset"). 13F does NOT include short positions, cash, most options, or non-US-listed equities. position_change ('new', 'increased', 'decreased', 'closed', 'unchanged') is measured against the same fund's whole prior-quarter book. Amendments are applied as filed: a RESTATEMENT

    ticker cusip fund_name fund_cik quarter position_change min_value sort_by sort_order limit cursor

  38. get_intraday_quoteRead only

    Returns the latest intraday price for ONE US-listed ticker, live from Tiingo's IEX feed; a stock's quote is reused for up to 10 seconds, so two calls in the same 10 s can return the same print. PAID PLANS ONLY. Use this when the question is 'what is X trading at now'. For price HISTORY (daily closes, splits, dividends) use get_daily_prices. Returns: price, and `as_of` — the exact timestamp of that quote, verbatim from the source. ALWAYS read `as_of` rather than assuming the quote is current: outside US market hours the feed returns the most recent session's final print, so a quote at 21:00 ET is a 16:00 ET price and `as_of` is how you can tell. `price_field` names the source field the price came from (tngoLast / last / mid) so a decision made on it can be re-derived later. A symbol the feed does not cover returns result: null with not_found_reason — never a substituted or stale price. Two reasons are possible: 'no_quote_for_ticker' (unknown symbol, or no quote available) and 'deliste

    ticker

  39. get_investment_advisersRead only

    Returns SEC Form ADV registry records — every SEC-registered investment adviser (~17K RIAs) and exempt reporting adviser (~6.5K ERAs, mostly private-fund advisers), from the SEC's monthly roster extract. One record per firm (CRD number) with regulatory AUM (discretionary / non-discretionary / total, Item 5F), employees and IA reps, client counts, custody flags (Item 9A), and disciplinary disclosure flags (Item 11, verbatim sub-question codes). Use this when the user asks: who advises/manages money, how big is an adviser, largest RIAs by state, advisers with disciplinary history, or to vet a firm before pairing with enforcement / holdings data. firm_type: 'registered' RIAs report regulatory AUM; 'exempt_reporting' ERAs do NOT report Item 5F — their AUM fields are null by construction (they report private-fund data instead; see adviserinfo_url for Section 7.B detail). Registry posture: this is a CURRENT-ROSTER snapshot refreshed monthly, not an event history. snapshot_month is the last

    crd cik firm_type firm_name state country has_disciplinary_disclosures min_aum sort_by sort_order limit

  40. get_lobbying_filingsRead only

    Returns Lobbying Disclosure Act (LDA) filings — quarterly LD-2 reports filed by registered lobbyist firms with the Senate Office of Public Records. Each record covers one (registrant, client, quarter) tuple, listing income paid, issues lobbied on, and government entities contacted. Use this when the user asks about: who's paying lobbyists, what issues a company is lobbying on, which senators or agencies a firm is contacting, lobbying spend by industry or sector, or to cross lobbying activity against congressional trades or federal contracts for political-influence analysis. Each filing has a `lobbying_activities` array (one entry per issue area worked on) plus three flattened summary arrays at top level: - general_issue_codes: 3-char codes (DEF, HEA, TRA, ENV, FIN, ...) - government_entities: agencies/branches contacted - lobbyist_names: lobbyists who worked the issue Top-level arrays support indexed queries; the nested array carries issue-level descriptions and lobbyist positi

    registrant_name client_name filing_year filing_period general_issue_codes government_entity min_income since until sort_by sort_order limit

  41. get_lobbyist_contributionsRead only

    Returns LD-203 semiannual contribution reports — what registered lobbyists and lobbying firms themselves contribute: FECA campaign contributions, honorary expenses, event/meeting costs, and presidential-library / inaugural-committee donations, each item naming the HONOREE (the covered official who benefited). This is the reverse angle of get_lobbying_filings: filings show who pays lobbyists; LD-203 shows where the lobbyists' own money goes. Coverage: 2008→present (~40K filings/year; roughly half are 'no contributions' certifications, excluded by default — set include_empty=true to see them). Record shape: one record per filing — filer (lobbyist name or registrant firm), filing_year + period (mid_year | year_end), nested contribution_items[] (contribution_type, contributor_name, payee_name, honoree_name, amount, date), flattened honoree_names[] / payee_names[] / contribution_types[], and contributions_total_usd (simple sum of item amounts). Filters: honoree_name is the political join

    filing_uuid registrant_name lobbyist_name honoree_name payee_name contribution_type filing_year filer_type include_empty since until sort_order limit

  42. get_material_eventsRead only

    Returns Form 8-K filings — the SEC's 'current report' form, filed within 4 business days of any material event at a publicly-traded company. Each record is one filing, with `item_codes` declaring WHAT kind of event(s) it covers. Use this when the user asks about: recent CEO/CFO departures or appointments, M&A announcements, earnings releases, big contract wins, restructurings, going-concern warnings, exec compensation changes, or any 'what just happened at this company' question. Item codes (most-used; many more exist): 1.01 Entry into a Material Definitive Agreement 1.02 Termination of a Material Definitive Agreement 2.01 Completion of Acquisition or Disposition of Assets 2.02 Results of Operations (earnings releases live here) 2.03 Creation of a Material Direct Financial Obligation 3.01 Notice of Delisting / Failure to Satisfy Listing Rule 3.02 Unregistered Sales of Equity Securities 4.01 Changes in Registrant's Certifying Accountant 5.02 Departure / Elec

    ticker company_cik item_codes is_amendment since until sort_by sort_order limit

  43. get_member_profileRead only

    Returns Congressional member profiles from the unitedstates/ congress-legislators catalog. Each record is one current House Representative or Senator, keyed by bioguide_id (the permanent member identifier — e.g., 'C001035' for Susan Collins). Use this when the user asks about: which committees a member sits on, who chairs the Senate Banking Committee, all Republicans on House Armed Services, party/state/district lookup for a specific member, or to enrich congressional_trades records with member context (party + state + committee assignments). Filter by bioguide_id for a direct fetch; by member_name for a case-insensitive substring search; by committee_id (e.g., 'HSAS' for House Armed Services, 'SSAF' for Senate Agriculture, 'HSAG15' for the Forestry & Horticulture subcommittee under House Ag) to find all members of a committee. Combine state + chamber + party for caucus-level queries. Committee codes follow the Library of Congress 'Thomas' convention: House full committees: HSAG (

    bioguide_id member_name state chamber party committee_id limit

  44. get_money_market_fundsRead only

    Returns Form N-MFP3 monthly money-market fund reports — one record per (fund series, month): fund category (Government / Prime / Single State…), net assets, shares outstanding, weighted average maturity (wam_days) and life (wal_days), the fund's DAILY daily/weekly liquid-asset percentages for the month (verbatim fractions of 1 — the money-market stress series), monthly gross subscriptions/redemptions ON N-MFP3 ONLY, and stable-NAV posture. ⚠ MONTHLY FLOWS ARE NOT ON EVERY RECORD. gross_subscriptions_month / gross_redemptions_month are filed per SHARE CLASS on N-MFP3 and are served as the sum across a filing's classes. N-MFP2 and N-MFP do not ask for monthly flows at all (N-MFP2 reports weekly), so those rows carry null — the source's silence, not ours. Read `flows_basis` to tell them apart: "monthly_sum_of_classes" or "not_filed_monthly". `form_type` says which form the record came from. ⚠ A SUM COVERS ONLY THE CLASSES THAT REPORTED. flows_classes_reporting_subscriptions / _redemptio

    accession_number cik series_id fund_name fund_category is_retail_fund since until sort_by sort_order limit

  45. get_nlrb_casesRead only

    Returns NLRB (National Labor Relations Board) case filings: unfair- labor-practice charges and union representation/election petitions. Use this when the user asks about: union organizing at a company, labor disputes or ULP charges, union election petitions and outcomes, decertification efforts, or a company's labor-relations record. Case numbers follow {region}-{type}-{sequence}, e.g. '03-CA-390171' (NLRB Region 03, CA charge). The middle code determines the case family: C-cases are ULP CHARGES against an employer (CA) or a union (CB, CC, CD, CE, CG, CP) — allegations of unlawful labor practices. R-cases are REPRESENTATION petitions — RC (union seeks certification), RD (employees seek decertification), RM (employer-filed), plus UD/UC/AC unit matters. Each record carries case_type ('ULP' or 'representation') and case_subtype (the raw code). The `name` field is the named party on the filing — usually the employer, but on CB/CC-type charges it is the union being charged. employer_name

    case_number employer_name state case_type case_subtype status region since until sort_by sort_order limit

  46. get_nonprofit_filingsRead only

    Returns IRS Form 990-series e-filing records — the registry of every e-filed nonprofit return the IRS has released, 2017→present (~5.5M filings; ~400-750K/yr). One record per return: EIN, organization name, return type (990 = full; 990EZ = small; 990PF = private foundation; 990T = unrelated business income; the 2019-era index also carries IRS codes 990EO/990O verbatim), the tax period covered (YYYYMM), and the IRS release year. Use this when the user asks: does nonprofit X file with the IRS, when did a foundation last file, which returns has an EIN filed, or to anchor a nonprofit's identity (EIN) before joining grants / lobbying / OIG data by name. Records carry the filing's extracted FINANCIALS: total_revenue, total_expenses, total_assets_eoy, net_assets_eoy, and officers[] — top 25 by reported compensation with name/title. Coverage (reconciled 2026-07-08): 100% for release years 2019-2026, 97% for 2018, 69% for 2017 — the shortfall is IRS-side (the pre-2017 XML archives that held th

    object_id ein name return_type submission_year since until sort_order limit

  47. get_nport_filingsRead only

    Returns SEC Form N-PORT filings — monthly portfolio reports from registered investment companies (mutual funds, ETFs, closed-end funds). Use this when the user asks about: recent fund portfolio filings, when a specific fund family last reported, monthly cadence of fund disclosures, or to bridge from a fund trust name to the primary_doc.xml that contains full per-holding portfolio detail. Source: SEC EDGAR full-text search. Covers both NPORT-P (original filing) and NPORT-P/A (amendments). N-PORT is filed within 60 days of each month-end; period_ending tells you which month the report covers. v1A returns metadata only: filer trust name + CIK, period_ending, filing type, SEC investment company file number (e.g., '811-21864'), filer state + state of incorporation, and the URL to the full primary_doc.xml. Per-holding portfolio detail (every security in the fund's portfolio with quantity, fair value, currency, etc.) lives in that XML — agents follow the URL when they need security-level da

    filing_id filer_cik filer_name period_ending sec_file_number is_amendment since until sort_by sort_order limit

  48. get_ofac_sdnRead only

    Returns OFAC Specially Designated Nationals (SDN) sanctions list entries, republished as-is (not a screening service; verify against treasury.gov). Use this for: sanctions-program queries (e.g., 'who's on the Russia SDN list'), or cross-referencing named individuals / entities against the canonical US sanctions list. Source: US Treasury OFAC — sanctionslistservice.ofac.treas.gov. ~19,000 entries refreshed daily. Each entry represents a person, entity, vessel, or aircraft sanctioned by the US government under one or more programs (CUBA, IRAN, SDGT [terrorism], NPWMD [WMD proliferation], RUSSIA-EO14024, etc.). US persons (citizens, residents, US-domiciled companies) are legally prohibited from transacting with SDNs — this is the canonical list published by OFAC. Filter by name substring for primary lookups. entity_type values: 'individual', 'entity', 'vessel', 'aircraft'. Every SDN record carries exactly one of the four — companies are 'entity'. program is a substring filter against t

    ent_num name entity_type program remarks sort_by sort_order limit

  49. get_oig_exclusionsRead only

    Returns entries on the HHS Office of Inspector General 'List of Excluded Individuals/Entities' (LEIE). Anyone on this list is barred from billing Medicare, Medicaid, or any federal healthcare program. Updated monthly by OIG; KeyVex re-scrapes monthly and overwrites. Use this when the user asks about: healthcare-fraud exclusions, Medicare/Medicaid program-integrity research (not employment or eligibility decisions about individuals — Terms §8A), geographic concentration of exclusions, or a specific person/business listed on LEIE. Cross-source tip: pair with get_federal_contracts to flag contractors who appear on the exclusion list. A government contractor with an OIG exclusion is worth checking against the official LEIE at oig.hhs.gov. Statutory exclusion types (the most common): - 1128a1 Conviction of program-related crimes - 1128a2 Conviction relating to patient abuse - 1128a3 Felony conviction relating to healthcare fraud - 1128a4 Felony conviction relating to controll

    name business_name state city general_category specialty exclusion_type npi is_business since until sort_by sort_order limit

  50. get_open_paymentsRead only

    Returns CMS Open Payments records — the Sunshine Act database of every payment / transfer of value from drug + device manufacturers and GPOs to US physicians, non-physician practitioners, and teaching hospitals (~15M records per program year, 2019→present). LIVE passthrough to CMS's own API: results reflect CMS's current data and `total_count` is CMS's authoritative count for the filtered query (the results array is just the requested page). Use this when the user asks about: pharma/device money to doctors, a company's physician-payment footprint, speaker-fee / consulting / royalty programs, industry funding of research (with ClinicalTrials.gov IDs), or physician ownership stakes in manufacturers. payment_type selects the dataset (schemas differ; rows are CMS's fields verbatim): general (default) — meals, travel, consulting, speaker fees, royalties, honoraria. Fields incl. nature_of_payment_or_transfer _of_value, name_of_drug_or_biological_or_device_or_medical _supply_1,

    year payment_type company recipient_last_name recipient_first_name npi state nature product summarize limit offset

  51. get_osha_enforcementRead only

    Returns OSHA workplace-safety enforcement records from the Department of Labor's enforcement data: inspection cases (who was inspected, where, why, when) with optional violation citations attached (standard cited, violation type, penalties, abatement dates). Use this when the user asks about: a company's workplace-safety record, OSHA penalties or citations, fatality/catastrophe investigations, inspection activity by state or industry (NAICS), or contractor safety research. Result rows are INSPECTIONS. Pass include_violations=true to attach each inspection's citations under a `violations` array (or pass activity_nr for a direct lookup, which always includes them). min_penalty keeps only inspections with at least one violation whose initial or current penalty meets the threshold (implies include_violations). insp_type codes (DOL's own legend): A=Accident, B=Complaint, C=Referral, D=Monitoring, E=Variance, F=FollowUp, G=Unprog Rel, H=Planned, I=Prog Related, J=Unprog Other, K=Prog Other

    activity_nr establishment_name state naics_code insp_type since until min_penalty include_violations sort_by sort_order limit

  52. get_planned_insider_salesRead only

    A ticker search also returns rows this issuer FILED UNDER SYMBOLS IT NO LONGER LISTS (renames, filer typos, ADR spellings). Each row keeps `ticker` as SEC received it and gains `current_ticker` when the issuer trades under a different symbol today. Separately-listed share classes are NOT merged, and asking for a RETIRED symbol returns only rows filed under it — retired symbols get reissued to other companies. Returns Form 144 filings — notices of proposed sale by corporate insiders (officers, directors, 10%+ holders) under Rule 144 of the Securities Act. Each record is one planned-sale line from one filing. ⚠ aggregate_market_value is NULLABLE. A Form 144 that did not state a value now reports null rather than 0 — but a filer who genuinely stated 0.00 still reports 0, and that happens. Null never satisfies min_value and sorts last. ⚠ AND SOME FILERS STATE THE ISSUER'S MARKET CAP IN THAT BOX, WHICH PUTS THEM AT THE TOP OF A DESCENDING VALUE SORT. Measured 2026-09-04: 5 of the top 100

    ticker company_cik filer_name min_value since until sort_by sort_order limit

  53. get_private_placementsRead only

    Returns SEC Form D filings — Reg D / Rule 506 private placement offering notices. Use this when the user asks about: who's raising private capital right now, new VC fund formations, private equity raises, real-estate syndicates, hedge fund launches, who's claiming Rule 506(b) vs 506(c) exemption, or to identify directors / executive officers of newly-formed entities. ⚠ total_amount_sold, min_investment_accepted, total_number_already_invested, sales_commissions and finder_fees are NULLABLE — a Form D that did not state a figure reports null rather than 0. The distinction matters here more than anywhere: a Form D filed at the START of an offering legitimately reports $0 sold, so 0 and null mean genuinely different things. Rows stored before 2026-08-17 cannot tell you which they were. Null never satisfies min_amount_sold and sorts last. Source: SEC EDGAR full-text search + per-filing primary_doc.xml. All Reg D filings (504 / 506(b) / 506(c)) plus Section 4(a) exempt offerings flow throu

    filing_id issuer_cik issuer_name issuer_state jurisdiction_of_inc industry_group_type investment_fund_type federal_exemption is_amendment min_amount_sold since until sort_by sort_order limit

  54. get_product_recallsRead only

    Returns safety recalls from federal agencies — drug recalls (FDA), medical device recalls (FDA), food/dietary supplement recalls (FDA), consumer-product recalls (CPSC), and vehicle, equipment, tire and child-restraint recall campaigns (NHTSA, since 1966). Use this when the user asks about: recent recalls for a specific company or product, FDA Class I (most severe) recalls, food contamination recalls, drug shortages and recalls, vehicle recalls by make or model (e.g. all Ford F-150 recalls), or to add a 'product-safety event' flag to insider activity / 8-K filings / enforcement actions. Sources (filter via the `source` enum): fda_drug — openFDA /drug/enforcement.json. Drug recalls including prescription, OTC, biologics. Class I/II/III severity. fda_device — openFDA /device/enforcement.json. Medical device recalls (implants, diagnostics, equipment, software). Same classification scheme. fda_food — openFDA /food/enforcement.json. Foo

    source recall_number recalling_firm product_description classification status vehicle_make vehicle_model vehicles_cursor since until sort_by sort_order limit

  55. get_proxy_filingsRead only

    Returns Schedule 14A proxy filings — the document public companies send shareholders ahead of annual or special meetings. Each record is one filing carrying executive compensation tables, board nominations, shareholder proposals, auditor info, and voting matters. Use this when the user asks about: executive compensation, board elections, shareholder proposals, M&A votes, proxy contests, auditor changes, say-on-pay outcomes, or upcoming annual meetings. Coverage: the full DEF 14A family back to 2016 for the US public-company universe (sourced from EDGAR's complete quarterly full-index); a daily feed keeps it current. Rows are tagged with a company's PRIMARY common ticker — for dual-class issuers (e.g. GOOGL/GOOG, BRK-A/BRK-B) query by company_cik to retrieve every share class in one shot. Filing types (the four-form DEF 14A family): DEF 14A — Definitive proxy (the annual-meeting filing) DEFA14A — Additional materials (supplements to a prior DEF 14A) DEFM14A — Merger-relat

    ticker company_cik filing_type is_merger_related is_amendment since until sort_by sort_order limit

  56. get_reg_a_offeringsRead only

    Returns SEC Form 1-A filings — Regulation A+ 'mini-IPO' offering statements, 2015-06→present: companies raising up to $20M (Tier 1) or $75M (Tier 2) from the public without a full IPO. One record per filing with the issuer (SIC code, jurisdiction, year incorporated, employees, city/state), tier election, offering terms (security types, count, price, total aggregate amount, estimated net), service providers WITH FEES (underwriter, sales commissions, auditor, legal), and the issuer's summary financials from Part I (cash, assets, liabilities, equity, revenues, net income). Use this when the user asks about: Reg A / Reg A+ raises, mini-IPOs, small- cap capital formation, who's underwriting or auditing small offerings, or issuer financials before a raise. form family: '1-A' initial | '1-A/A' amendment | '1-A POS' post-qualification amendment (is_post_qualification) | -W withdrawals (is_withdrawal, metadata-level). One offering typically chains 1-A → 1-A/A… → qualification → 1-A POS updates

    accession_number cik issuer_name tier jurisdiction since until sort_order limit

  57. get_registration_statementsRead only

    Returns SEC Form S-1 / S-3 / S-3ASR registration statements — securities offering registrations filed with the SEC. Use this when the user asks about: which companies are going public (IPO pipeline via S-1), shelf registrations (S-3 / S-3ASR — company registers securities to sell over multiple offerings without re-registering; large established issuers use the automatic S-3ASR variant), recent secondary offerings, registration amendments updating prior filings, or to bridge from a company name / ticker to the prospectus prose. Forms covered: S-1 — Initial registration (IPO + first-time registrants) S-1/A — Amendment to an S-1 S-3 — Shelf registration (issuers meeting reporting / market-cap criteria; lets them issue securities over time without re-registering each time) S-3/A — Amendment to an S-3 S-3ASR — Automatic shelf registration. The shelf form used by Well-Known Seasoned Issuers (large established companies like Apple

    filing_id filer_name filer_cik filer_ticker filing_type s1_only s3_only exclude_amendments sec_file_number since until sort_order limit

  58. get_roll_call_votesRead only

    Returns congressional roll-call vote metadata (House + Senate) from api.congress.gov. Use this when the user asks about: recent votes in either chamber, votes on a specific bill, votes by date range, or to chain to per-member positions via the source_data_url. Sources: api.congress.gov v3 for House votes; senate.gov XML (legislative/LIS/roll_call_lists/) for Senate votes — joined into one collection. While senate.gov refuses our requests, newly cast Senate votes may come from Voteview, labelled source 'voteview' with a source_citation and a source_note (the Senate's question text and document links are missing), and are replaced by the senate.gov record when the Senate answers again. Captures roll-call (recorded) votes only — voice votes and unanimous-consent passages aren't roll calls and don't appear here. v1A returns vote-level metadata: chamber, roll call number, vote type, result, the legislation being voted on (linked via bill_id), and links to the Clerk's authoritative XML dat

    vote_id congress session_number chamber bill_id legislation_type result since until sort_by sort_order limit

  59. get_screening_listRead only

    Returns entries from the US Consolidated Screening List (CSL) — the combined feed of twelve federal export-screening lists. Use this when the user asks about: whether a company or person is on a US screening / sanctions / denied-party list (KeyVex republishes the lists; it is not a screening service), BIS Entity List members, Military End User designations, or to add a 'restricted party' flag to a federal contractor or foreign agent. The CSL unifies twelve lists (filter via source_short): SDN — Specially Designated Nationals (Treasury/OFAC) EL — Entity List (Commerce/BIS) DPL — Denied Persons List (Commerce/BIS) MEU — Military End User List (Commerce/BIS) UVL — Unverified List (Commerce/BIS) CMIC — Non-SDN Chinese Military-Industrial Complex Companies (Treasury) CAP — Capta List (Treasury) DTC — ITAR Debarred (State) ISN — Nonproliferation Sanctions (State) MBS — Non-SDN Menu-Based Sanctions List (Treasury) PLC — Palestinian Legislative Council List (T

    name source_short type country program sort_by sort_order limit

  60. get_sec_comment_lettersRead only

    Returns SEC comment-letter correspondence: form UPLOAD (the SEC's letter TO the company — the questions) and CORRESP (the company's response). The Division of Corporation Finance sends these during filing reviews; they're released ~20+ business days after the review closes. Coverage 2005→present. Use this when the user asks about: whether a company is (or was) under SEC review, accounting-quality red flags before they become enforcement, the back-and-forth around an IPO registration, or to pair with fundamentals / insider activity ('were insiders selling while the SEC was asking questions?'). Reading a thread: filter by ticker or cik, sort date_filed asc — a review is an alternating UPLOAD/CORRESP chain; the final short UPLOAD is typically the 'review complete' letter. v1A is metadata-only: follow filing_index_url for the letter text. released_date is set on records captured from EDGAR's daily indexes (the dissemination day); older backfilled records carry only date_filed (the letter

    accession_number form ticker cik company_name since until sort_order limit

  61. get_sec_fails_to_deliverRead only

    Returns SEC Fails-to-Deliver (FTD) rows — daily settlement failures by ticker / CUSIP / date. Each row is one ticker on one settlement date where a clearing-member's short sale FAILED to deliver shares. Signal value: persistent FTDs are a contrarian short-squeeze leading indicator. When the daily FTD quantity spikes on a ticker, it often means naked short pressure overwhelming locate supply or settlement / locate mechanism breaking down. The Reg SHO Threshold Securities list (FTDs > 0.5% of issued shares for 5+ consecutive days) is a derived view; this tool exposes the underlying daily data. Source: SEC bi-monthly cnsfails<YYYYMM><a|b>.zip files at sec.gov/files/data/fails-deliver-data/. Published ~1 week after each half-month settlement period. Coverage: every U.S.-listed security with a recorded settlement failure during the period. Killer query patterns: - Daily FTD history for a ticker: ticker='GME' + sort_by='settlement_date' - Largest FTDs this month: min_value=1000000 + s

    id ticker cusip since until min_quantity min_value sort_by sort_order limit

  62. get_tender_offersRead only

    Returns SEC Schedule TO filings — public tender offer disclosures. Use this when the user asks about: who's bidding to acquire company X, what M&A offers are in flight, share buyback announcements, amendments to existing tender offers (price increases / extensions), or to pair with 13D activist stakes for the 'stake → bid' story. Source: SEC EDGAR full-text search. Forms covered: SC TO-T (third- party tender offer — someone outside the company bidding for shares), SC TO-T/A (amendments), SC TO-I (issuer tender offer — company buying back its own shares), SC TO-I/A (issuer amendments). v1 returns filing metadata only — bidder + target + form type + filing date + URL. Offer price, shares sought, and expiration date live inside the HTML attachment at primary_document_url; agents follow that URL to read the substantive terms. Amendment filings share the same target/bidder/file_number as the original offer; use file_number to group an amendment chain. Pure-publisher posture: KeyVex does

    accession_number target_ticker target_cik target_name bidder_cik bidder_name form_type third_party_only issuer_only exclude_amendments since until sort_order limit

  63. get_treasury_auctionsRead only

    Returns Treasury security auctions — Bills (≤1yr), Notes (2-10yr), Bonds (20-30yr), TIPS (inflation-protected), and FRNs (floating-rate). Each record is one CUSIP issuance with announcement metadata + post- auction results. Key signal fields agents care about: - bid_to_cover_ratio: demand. >2.5 strong, <2.0 weak. - high_yield / average_yield: market clearing rate. - direct_bidder / indirect_bidder breakdowns: domestic vs foreign demand. - soma_holdings + soma_included: Fed System Open Market Account allocation. A live measure of Fed QE/QT activity on each issue. Records have a two-stage lifecycle: announcement (results fields null) → post-auction (full results populated). Idempotent saves on cusip + auction_date overwrite cleanly when results publish. Security types: 'Bill', 'Note', 'Bond', 'TIPS', 'FRN', 'CMB' (cash- management bill). Use security_type filter to focus on one term group. Note: Treasury reports TIPS and FRNs under security_type Note/Bond with an inflation

    cusip security_type reopening min_offering_amount min_bid_to_cover since until sort_by sort_order limit

  64. unified_searchRead only

    Identifier-driven cross-collection fan-out search. Pass one or more entity identifiers — ticker, bioguide_id, company_cik, recipient_uei, company_name, or cusip — and this tool queries every collection where that field is indexed, returning results grouped by source in one envelope. Congressional-trade and annual financial disclosure results come from STOCK Act and Form 278 filings. The same filings are published free as news at https://keyvex.com/disclosures under 5 U.S.C. § 13107(c). Use this for high-level 'tell me everything about X' questions before drilling into specific source tools. Replaces 6-10 sequential tool calls with a single fan-out. Identifier coverage: - ticker → 13 collections (company_profile, insider_trades, institutional_holdings, congressional_trades, planned_insider_sales, initial_ownership_baselines, activist_ownership, material_events, proxy_filings, xbrl_fundamentals, tender_offers, registration_statements, nport_holdings) - bioguide_id

    ticker bioguide_id company_cik recipient_uei company_name cusip since until per_source_limit limit sources

Is this yours?

Claim it to hear the moment it breaks, correct this page and add your own ways to use it.

A test is the handshake and the tool list: no tool was called. Names and descriptions are as listed by whoever registered the server; we haven't checked them.

Back to Tested MCP Servers