KeyVex
Congress & government officials

Annual Financial Disclosures

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. SCOPE — v1 covers BOTH chambers: Senate (Senate eFD) and House (House Clerk).

EndpointGET /v1/annual-financial-disclosures
SourceForm 278 / Public Financial Disclosure
Authx-api-key — a free key works

What it returns

One record per result. Fields (from a live response):

Filters

bioguide_idFiler's bioguide_id (e.g., 'P000197' for Nancy Pelosi). Exact match. Most precise filter — BUT recently-filed records from new filers / candidates…
member_nameSubstring match against the filer's full name (case-insensitive). E.g., 'Pelosi', 'Mitch McConnell'. Use bioguide_id when possible for precision.
chamberFilter to one chamber ('senate' or 'house'). v1 covers both.
stateTwo-letter state code (e.g., 'CA', 'TX'). Exact match. Empty for candidate filings (the Senate eFD covers candidates too).
partyParty affiliation. Empty until back-fill from the member catalog runs; safer to filter by bioguide_id or member_name in the meantime.
filing_yearThe year of the FILING period being reported on (NOT the date filed). Most filers report the prior calendar year — e.g., a May 2026 Annual filing has…
report_typeFilter to one filing flavor. Default is unfiltered (returns all types).
sinceISO date (YYYY-MM-DD). Lower bound on the chosen sort_by field. Defaults to filtering by filing_date.
untilISO date (YYYY-MM-DD). Upper bound on the chosen sort_by field.
sort_byField to sort by. Default 'filing_date' (most recent filings first).
sort_orderSort direction. Default 'desc'.
limitMax records to return (1-500). Default 50.

Example request

curl "https://api.keyvex.com/v1/annual-financial-disclosures?limit=1" \
  -H "x-api-key: YOUR_KEY"

Response

{
  "results": [
    {
      "member_last": "Beltran",
      "bioguide_id": "",
      "report_subtype": "Candidate Report",
      "filing_date": "2026-06-19",
      "report_url": "https://disclosures-clerk.house.gov/public_disc/financial-pdfs/2026/10079994.pdf",
      "filing_id": "house-fd-10079994",
      "office": "Representative, FL-14",
      "report_type": "Other",
      "source": "HOUSE_CLERK_FD",
      "member_name": "Mike Beltran",
      "asset_count": 44,
      "assets": [
        {
          "row_number": "1",
          "asset_name": "Current Year to Exxon Mobil Corporation Common Stock (XOM)",
          "asset_type": "ST",
          "asset_subtype": "",
          "owner": "",
          "value_range": "$1,001 - $15,000",
          "income_type": "Dividends",
          "income_range": "",
          "location": "",
          "description": "",
          "ticker": ""
        },
        {
          "row_number": "2",
          "asset_name": "Operating Account",
          "asset_type": "BA",
          "asset_subtype": "",
          "owner": "",
          "value_range": "$100,001 - $250,000",
          "income_type": "",
          "income_range": "",
          "location": "",
          "description": "BL Operating Account",
          "ticker": ""
        },
        {
          "row_number": "3",
          "asset_name": "Interest$1 - $200$1 - $200 Wells Fargo Checking",
          "asset_type": "BA",
          "asset_subtype": "",
          "owner": "JT"
      …
    }
  ],
  "count": 1,
  "has_more": true
}

Example questions you can answer

Related datasets

Query Annual Financial Disclosures from your AI

Hand any AI your key + the OpenAPI spec and it can pull this dataset directly. Free key = full data, 60 requests/day.

Get a free key OpenAPI spec → REST docs →
← All 60+ datasets