API Reference

Lobbying Data

Search federal lobbying disclosures from the Senate Lobbying Disclosure Act (LDA) database.

Endpoint

GET /api/v1/lobbying/search

Search federal lobbying disclosures from the Senate Lobbying Disclosure Act (LDA) database. Costs 2 credits per request.

Parameters

NameTypeRequiredDescription
client_namestringconditionalClient being represented (e.g., Pfizer, Amazon). At least one of client_name, registrant_name, or issue_code required.
registrant_namestringnoLobbying firm or registrant name
issue_codestringnoGeneral issue area code (e.g., HCR for Health Issues, DEF for Defense, TAX for Taxation)
filing_yearstringnoFiling year (e.g., 2025)
filing_typestringnoFiling type: RR (Registration), Q1-Q4 (Quarterly Reports), etc.
pageintegernoPage number (default: 1)
page_sizeintegernoResults per page, max 100 (default: 25)

Example Request

cURL
# All lobbying filings for Pfizer as client
curl "https://filed.dev/api/v1/lobbying/search?client_name=Pfizer" \
  -H "Authorization: Bearer fd_live_aBcDeFgH"

# Defense-related lobbying in 2025
curl "https://filed.dev/api/v1/lobbying/search?issue_code=DEF&filing_year=2025" \
  -H "Authorization: Bearer fd_live_aBcDeFgH"
Python
import requests

headers = {"Authorization": "Bearer fd_live_aBcDeFgH"}

# By client name
resp = requests.get(
    "https://filed.dev/api/v1/lobbying/search",
    params={"client_name": "Pfizer"},
    headers=headers
)

# By issue code and year
resp = requests.get(
    "https://filed.dev/api/v1/lobbying/search",
    params={"issue_code": "DEF", "filing_year": "2025"},
    headers=headers
)
Node.js
const headers = { Authorization: "Bearer fd_live_aBcDeFgH" };

// By client name
const res = await fetch(
  "https://filed.dev/api/v1/lobbying/search?client_name=Pfizer",
  { headers }
);

// By issue code and year
const res2 = await fetch(
  "https://filed.dev/api/v1/lobbying/search?issue_code=DEF&filing_year=2025",
  { headers }
);
Go
req, _ := http.NewRequest("GET",
  "https://filed.dev/api/v1/lobbying/search?client_name=Pfizer", nil)
req.Header.Set("Authorization", "Bearer fd_live_aBcDeFgH")
resp, _ := http.DefaultClient.Do(req)

Response

{
  "data": [
    {
      "filingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "filingDate": "2026-03-17T00:00:00Z",
      "filingType": "1st Quarter - Report",
      "filingYear": 2026,
      "filingPeriod": "1st Quarter (Jan 1 - Mar 31)",
      "registrant": { "name": "PFIZER INC", "id": 24976 },
      "client": {
        "name": "PFIZER INC",
        "id": 24976,
        "generalDescription": "Pharmaceutical manufacturer"
      },
      "income": 2890000,
      "expenses": null,
      "lobbyingActivities": [
        {
          "issueCode": "HCR",
          "issueDescription": "Health Issues",
          "description": "Issues related to drug pricing and Medicare Part D"
        }
      ],
      "documentUrl": "https://lda.senate.gov/filings/public/filing/..."
    }
  ],
  "meta": {
    "totalCount": 1730,
    "page": 1,
    "pageSize": 25,
    "hasNext": true,
    "source": "Senate Office of Public Records (LDA)"
  }
}

Try It

Test this endpoint in the Playground.