KeyVex
Campaign finance & influence

Lobbying Filings

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.

EndpointGET /v1/lobbying-filings
SourceSenate LDA
Authx-api-key — a free key works

What it returns

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

Filters

registrant_nameSubstring match against the lobbying firm's name (case-insensitive). E.g., 'Akin Gump', 'Brownstein'.
client_nameSubstring match against the paying client's name (case-insensitive). E.g., 'Pfizer', 'Lockheed Martin', 'STATE OF CALIFORNIA'.
filing_yearCalendar year of the reporting period (NOT the filing date).
filing_periodReporting period within filing_year. Quarters for LD-2; mid_year/year_end for LD-203 contributions windows.
general_issue_codesArray of 3-char issue codes (OR semantics). E.g., ['DEF'] for defense, ['HEA','MMM'] for health+Medicare. Max 30 codes per query. (comma-separated)
government_entitySubstring match against any government entity contacted. E.g., 'SENATE', 'Treasury', 'FDA', 'Defense, Dept of'.
min_incomeFilter to filings with income >= this amount (USD). Use to focus on big-dollar lobbying spend.
sinceISO date (YYYY-MM-DD). Only records on or after this date, using sort_by as the date field.
untilISO date (YYYY-MM-DD). Only records on or before this date.
sort_byField used for ordering and for since/until filters. Default: dt_posted (when the filing was submitted).
sort_orderDefault: desc (most recent / largest first).
limitMaximum records to return. Default 50, max 500.

Example request

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

Response

{
  "results": [
    {
      "income": null,
      "filing_period_display": "2nd Quarter (Apr 1 - June 30)",
      "filing_type_display": "Registration",
      "registrant_id": 401104982,
      "filing_period": "second_quarter",
      "general_issue_codes": [
        "DEF"
      ],
      "client_description": "High Performance Electric UTVs",
      "client_id": 73596,
      "client_state": "PA",
      "filing_type": "RR",
      "filing_uuid": "d27095f5-33f0-4a72-bf92-686360082433",
      "id": "d27095f5-33f0-4a72-bf92-686360082433",
      "client_name": "SUPER POWERS MOBILITY",
      "filing_document_url": "https://lda.gov/filings/public/filing/d27095f5-33f0-4a72-bf92-686360082433/print/",
      "filing_year": 2026,
      "government_entities": [],
      "registrant_country": "US",
      "dt_posted": "2026-06-17T14:10:54-04:00",
      "lobbying_activities": [
        {
          "general_issue_code": "DEF",
          "general_issue_code_display": "Defense",
          "description": "Issues related to electric UTV adoption in the defense sector.",
          "description_truncated": false,
          "foreign_entity_issues": "",
          "lobbyist_names": [
            "AUSTIN HIGGINBOTHAM",
            "AUSTIN AGRELLA",
            "STONEY BURKE"
          ],
          "government_entities": []
        }
      ],
      "data_source": "SENATE_LDA",
      "lobbyist_names": [
        "AUSTIN HIGGINBOTHAM",
        "AUSTIN AGRELLA",
        "STONEY BURKE"
      ]
      …
    }
  ],
  "count": 1,
  "has_more": true
}

Example questions you can answer

Related datasets

Query Lobbying Filings 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