OTHERAI

Senate Lobbying Disclosure Search

Search **25+ years of federal lobbying disclosure filings** from the US Senate LDA database. Find out who is lobbying Congress, on behalf of which clients, on what policy issues, how much money is involved, and which lobbyists have revolving-door government connections.

Try on Apify Store
$0.03per event
0
Users (30d)
0
Runs (30d)
90
Actively maintained
Maintenance Pulse
$0.03
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

result-returneds
Estimated cost:$3.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
result-returnedCharged per financial/government data result returned.$0.03

Example: 100 events = $3.00 · 1,000 events = $30.00

Documentation

Search 25+ years of federal lobbying disclosure filings from the US Senate LDA database. Find out who is lobbying Congress, on behalf of which clients, on what policy issues, how much money is involved, and which lobbyists have revolving-door government connections.

No API key required. Just enter a client name like Amazon and get back structured lobbying data with activity details, lobbyist names, and financial data in seconds.

Why Use Senate Lobbying Disclosure Search?

The Senate LDA website lets you browse filings one page at a time, 25 results per page, with no bulk export. Extracting data for competitive analysis, investigative research, or policy tracking means clicking through dozens of pages and manually copying information. This actor handles pagination, field flattening (the raw API has deeply nested JSON), income filtering, and produces clean records with convenience fields like comma-separated lobbyist names and issue areas — ready for spreadsheets, databases, or analysis pipelines.

Features

  • Client name search — find all lobbying by a specific company or organization (partial matching)
  • Lobbying firm search — see all clients of a specific K Street firm (partial matching)
  • Lobbyist name search — track individual lobbyists across clients and firms
  • Issue area filtering — focus on specific policy areas with 77 categories from Agriculture to Welfare
  • Filing period selection — quarterly reports (Q1–Q4), registrations, amendments, and terminations
  • Filing year range — search any year from 1999 to present
  • Income/expense filtering — find high-dollar lobbying engagements with minimum income threshold
  • Activity details — full descriptions of bills, regulations, and issues being lobbied on
  • Lobbyist covered positions — reveals former government roles (the "revolving door")
  • Foreign entity tracking — identifies lobbying connected to foreign principals with contribution amounts
  • Convenience fields — pre-built lobbyistNames and issueAreas comma-separated strings for easy filtering
  • Summary statistics — total income, total expenses, unique client/registrant counts, and foreign entity counts logged at the end of each run

How to Use

  1. Enter search criteria — provide at least one filter: client name, lobbying firm name, lobbyist name, issue area, or filing period. You can combine multiple filters.

  2. Select the year — choose the filing year (1999–2026). Defaults to 2024.

  3. Set income threshold — optionally set a minimum income/expense amount to filter out small engagements.

  4. Run and download — click "Start" and wait for the run to complete (typically 5–30 seconds). Download the structured JSON dataset.

Input Parameters

ParameterTypeRequiredDefaultDescription
clientNameStringNo*Client/organization paying for lobbying (partial match, e.g., "Amazon")
registrantNameStringNo*Lobbying firm name (partial match, e.g., "Akin Gump")
lobbyistNameStringNoIndividual lobbyist name (partial match)
filingYearIntegerNo2024Filing year (1999–2026)
filingPeriodSelectNoAllQ1–Q4 reports, Registration, Miscellaneous Amendment, or Termination
issueAreaCodeSelectNoAllPolicy issue area (77 categories)
minIncomeNumberNoMinimum income/expense amount in USD
maxResultsIntegerNo100Maximum filings to return (1–5,000)

*At least one name-based search parameter is recommended for meaningful results.

Input Examples

Find all Amazon lobbying in 2024:

{
    "clientName": "Amazon",
    "filingYear": 2024,
    "maxResults": 200
}

Top defense industry lobbying firms in Q4 2024:

{
    "issueAreaCode": "DEF",
    "filingYear": 2024,
    "filingPeriod": "Q4",
    "minIncome": 100000,
    "maxResults": 100
}

Track a specific lobbying firm's client portfolio:

{
    "registrantName": "Akin Gump",
    "filingYear": 2024,
    "maxResults": 500
}

Healthcare lobbying activity above $50K:

{
    "issueAreaCode": "HCR",
    "filingYear": 2024,
    "minIncome": 50000,
    "maxResults": 200
}

Foreign-connected lobbying registrations:

{
    "filingPeriod": "RR",
    "filingYear": 2024,
    "maxResults": 500
}

Input Tips

  • Client and registrant name searches use partial matching — "Amazon" matches "Amazon.com Services LLC", "Amazon Web Services", "Amazon.com Inc.", etc.
  • Use issue area codes for the most targeted policy searches. Common codes: DEF (Defense), HCR (Health), TAX (Taxation), TEC (Telecommunications), ENV (Environment).
  • Registrations (RR) reveal new lobbying relationships but don't include financial data. Quarterly reports (Q1–Q4) contain income/expense figures.
  • The minIncome filter is applied client-side to ensure numeric accuracy. The actor fetches extra pages to compensate for filtered results.
  • Combine clientName with issueAreaCode to see what a specific company is lobbying on in a particular policy area.

Output

{
    "filingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "filingType": "Q4",
    "filingTypeDisplay": "4th Quarter Report",
    "filingYear": 2024,
    "filingPeriod": "Q4",
    "filingDate": "2025-01-22",
    "filingDocumentUrl": "https://lda.senate.gov/filings/public/filing/a1b2c3d4.../print/",
    "clientName": "Amazon.com Services LLC",
    "clientDescription": "Internet retailer, cloud computing, AI, devices, entertainment",
    "clientState": "WA",
    "clientCountry": "US",
    "registrantName": "AKIN GUMP STRAUSS HAUER & FELD",
    "registrantDescription": "Law and lobbying firm",
    "registrantCity": "Washington",
    "registrantState": "DC",
    "registrantCountry": "US",
    "registrantContactName": "John Doe",
    "income": 250000,
    "expenses": null,
    "expensesMethod": "",
    "postedByName": "Senate Filing Clerk",
    "terminationDate": "",
    "lobbyingActivities": [
        {
            "issueCode": "TEC",
            "issueArea": "Telecommunications",
            "description": "Issues related to AI regulation, data privacy, Section 230, and broadband deployment",
            "lobbyists": [
                {
                    "firstName": "Jane",
                    "lastName": "Smith",
                    "suffix": "",
                    "coveredPosition": "Former Chief of Staff, Senate Commerce Committee",
                    "newLobbyist": false
                }
            ],
            "foreignEntityIssues": ""
        }
    ],
    "lobbyistNames": "Jane Smith, Robert Johnson",
    "issueAreas": "Telecommunications, Taxation/Internal Revenue Code",
    "foreignEntities": [],
    "convictionDisclosures": []
}

Output Fields

Filing metadata:

FieldTypeDescription
filingIdStringUnique filing UUID
filingTypeStringFiling type code (Q1–Q4, RR, MA, TA)
filingTypeDisplayStringHuman-readable filing type
filingYearIntegerFiling year
filingPeriodStringFiling period (Q1–Q4, RR, MA, TA)
filingDateStringDate the filing was submitted
filingDocumentUrlStringDirect URL to the filing document on Senate website

Client fields:

FieldTypeDescription
clientNameStringOrganization paying for lobbying
clientDescriptionStringClient business description
clientStateStringClient state (US states or "DC")
clientCountryStringClient country code

Registrant (lobbying firm) fields:

FieldTypeDescription
registrantNameStringLobbying firm or self-filing organization
registrantDescriptionStringFirm description
registrantCityStringFirm city
registrantStateStringFirm state
registrantCountryStringFirm country code
registrantContactNameStringPrimary contact person

Financial fields:

FieldTypeDescription
incomeNumber / nullIncome reported by outside lobbying firms (what they were paid)
expensesNumber / nullExpenses reported by in-house lobbyists (what they spent)
expensesMethodStringHow in-house expenses were calculated

Activity fields:

FieldTypeDescription
lobbyingActivities[]ArrayDetailed lobbying activities (see nested fields below)
lobbyistNamesStringComma-separated list of all lobbyists on the filing (convenience field)
issueAreasStringComma-separated unique issue areas (convenience field)

Lobbying activity nested fields:

FieldTypeDescription
lobbyingActivities[].issueCodeStringThree-letter issue area code (DEF, HCR, TAX, etc.)
lobbyingActivities[].issueAreaStringFull issue area name
lobbyingActivities[].descriptionStringSpecific bills, regulations, and issues lobbied on
lobbyingActivities[].lobbyists[]ArrayIndividual lobbyists working on this issue
lobbyingActivities[].lobbyists[].firstNameStringLobbyist first name
lobbyingActivities[].lobbyists[].lastNameStringLobbyist last name
lobbyingActivities[].lobbyists[].coveredPositionStringFormer government role (revolving door indicator)
lobbyingActivities[].lobbyists[].newLobbyistBooleanWhether this is a newly registered lobbyist

Foreign entity fields:

FieldTypeDescription
foreignEntities[]ArrayForeign organizations connected to the lobbying
foreignEntities[].nameStringForeign entity name
foreignEntities[].countryStringForeign entity country
foreignEntities[].contributionNumber / nullFinancial contribution amount
foreignEntities[].ownershipPercentageNumber / nullOwnership stake percentage

Understanding the Financial Data

  • Income — reported by outside lobbying firms (the registrant is a hired K Street firm). Represents what they were paid by the client for lobbying services during the quarter.
  • Expenses — reported by in-house lobbyists (the registrant IS the client or part of the client organization). Represents what they spent on their own lobbying activities.
  • A single filing will have either income OR expenses, never both.
  • Quarterly reports (Q1–Q4) contain financial data. Registrations (RR), amendments (MA), and terminations (TA) generally do not.
  • Income/expenses are reported in ranges for small amounts: under $5,000 may be reported as a range rather than an exact figure.

The Revolving Door

The coveredPosition field on individual lobbyists reveals former government roles — a key indicator of revolving-door lobbying. Examples:

  • "Former Chief of Staff, Senate Armed Services Committee"
  • "Former Deputy Assistant Secretary, Department of Defense"
  • "Former Senior Advisor, White House National Economic Council"

These individuals are subject to cooling-off periods under federal law. The LDA requires disclosure of covered positions held within the past 20 years.

Use Cases

  • Political intelligence analysts tracking which companies and industries are lobbying on specific bills and regulations, and identifying emerging policy trends from shifts in lobbying spending
  • Corporate government affairs teams benchmarking their lobbying spend against competitors, identifying the most active firms in their policy areas, and finding lobbyists with relevant Hill experience
  • Investigative journalists following the money trail from corporate interests through K Street firms to policy outcomes, and cross-referencing lobbying data with campaign contributions and legislative votes
  • Compliance officers verifying that lobbying activities are properly disclosed, checking for foreign entity connections, and monitoring revolving-door movements
  • Policy researchers analyzing the relationship between lobbying spending and legislative outcomes across industries and issue areas
  • Venture capital and private equity firms assessing regulatory risk for portfolio companies by monitoring lobbying activity in their target sectors
  • Foreign policy analysts tracking foreign-connected lobbying activity to understand foreign influence on US policy

How to Use the API

Python

import requests
import time

run = requests.post(
    "https://api.apify.com/v2/acts/ryanclinton~senate-lobbying-search/runs",
    params={"token": "YOUR_APIFY_TOKEN"},
    json={
        "clientName": "Amazon",
        "filingYear": 2024,
        "maxResults": 200
    },
    timeout=30,
).json()

run_id = run["data"]["id"]
while True:
    status = requests.get(
        f"https://api.apify.com/v2/actor-runs/{run_id}",
        params={"token": "YOUR_APIFY_TOKEN"},
        timeout=10,
    ).json()
    if status["data"]["status"] in ("SUCCEEDED", "FAILED", "ABORTED"):
        break
    time.sleep(3)

dataset_id = status["data"]["defaultDatasetId"]
items = requests.get(
    f"https://api.apify.com/v2/datasets/{dataset_id}/items",
    params={"token": "YOUR_APIFY_TOKEN"},
    timeout=30,
).json()

total_income = sum(i["income"] or 0 for i in items)
print(f"Total lobbying income: ${total_income:,.0f}")
for item in items:
    print(f"${item['income'] or 0:>10,.0f} | {item['registrantName']} | {item['issueAreas']}")

JavaScript

const response = await fetch(
    "https://api.apify.com/v2/acts/ryanclinton~senate-lobbying-search/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN",
    {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({
            clientName: "Amazon",
            filingYear: 2024,
            maxResults: 200,
        }),
    }
);

const filings = await response.json();
const total = filings.reduce((sum, f) => sum + (f.income || 0), 0);
console.log(`Total lobbying income: $${total.toLocaleString()}`);
filings.forEach(f =>
    console.log(`$${f.income || 0} | ${f.registrantName} | ${f.issueAreas}`)
);

cURL

curl -X POST "https://api.apify.com/v2/acts/ryanclinton~senate-lobbying-search/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "clientName": "Amazon",
    "filingYear": 2024,
    "maxResults": 200
  }'

How It Works

Input (clientName, registrantName, lobbyistName, year, period, issue, minIncome)
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 1: Build API Query                         │
│  Construct URL with query parameters for the     │
│  Senate LDA REST API. Name filters use partial   │
│  matching. Year, period, issue use exact match.   │
└──────────────────────────────────────────────────┘
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 2: Paginated Fetch                         │
│  Senate API returns 25 results per page.         │
│  Follow next-page URLs until maxResults reached  │
│  or no more pages. Extra pages fetched when      │
│  minIncome filter is active.                     │
└──────────────────────────────────────────────────┘
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 3: Transform & Flatten                     │
│  Raw API has deeply nested JSON:                 │
│  filing → lobbying_activities → lobbyists        │
│  Flatten registrant, client, activities,         │
│  lobbyists, foreign entities into clean records. │
└──────────────────────────────────────────────────┘
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 4: Client-Side Income Filtering            │
│  Apply minIncome threshold locally.              │
│  Build convenience fields: lobbyistNames         │
│  (comma-separated), issueAreas (unique, joined). │
└──────────────────────────────────────────────────┘
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 5: Summary Statistics                      │
│  Compute total income, total expenses,           │
│  unique client count, unique registrant count,   │
│  foreign entity count. Log to run output.        │
└──────────────────────────────────────────────────┘
  │
  ▼
Structured lobbying records pushed to dataset

Data Sources

SourceAPI EndpointAuth Required
US Senate LDAhttps://lda.senate.gov/api/v1/filings/No

Common Issue Area Codes

CodeIssue AreaCodeIssue Area
DEFDefenseHCRHealth Issues
TAXTaxationENEEnergy/Nuclear
TECTelecommunicationsENVEnvironment
TRDTradeFINFinancial Institutions
BUDBudget/AppropriationsIMMImmigration
TRATransportationAGRAgriculture
EDUEducationHOMHomeland Security
LBRLabor IssuesINSInsurance
FORForeign RelationsCOMCommunications
MEDMedical/DiseaseCPTComputers/IT
PHAPharmacyFUEFuel/Gas/Oil

77 issue area codes available in the input dropdown. See the Senate LDA website for the complete list.

How Much Does It Cost?

ScenarioResultsEst. TimeEst. Cost
Single company lookup (100 filings)10010 sec< $0.01
Issue area + income filter (200 filings)20015 sec~$0.01
Full year scan, single firm (500 filings)50030 sec~$0.02
Broad issue area search (5,000 filings)5,0003 min~$0.10

The actor uses 256 MB memory and makes lightweight API calls with no browser rendering. The Apify free tier covers hundreds of runs per month.

Tips

  • Search by issue area for industry analysis — filtering by DEF (Defense), HCR (Health), or TAX (Taxation) reveals which companies and firms are most active in each policy domain.
  • Check coveredPosition for revolving door — lobbyists with former government roles in the same policy area they're lobbying on are especially influential. Filter results for non-empty coveredPosition strings.
  • Use minIncome to surface big spenders — set minIncome: 100000 to focus on the highest-value lobbying engagements and filter out nominal filings.
  • Cross-reference with campaign finance — combine lobbying data with the FEC Campaign Finance Search actor to see both lobbying spending and political contribution patterns for the same companies.
  • Track registrations for new relationships — filing period "RR" (Registration) reveals new client-lobbyist relationships being formed.
  • Batch by year for trend analysis — run the actor once per year for the same client to track lobbying spending trends over time.

Limitations

  • Senate API pagination — the API returns 25 results per page, requiring many sequential requests for large result sets. Fetching 5,000 results requires 200 API calls.
  • No House-side data — this actor searches the Senate LDA database. House of Representatives lobbying data uses a different system.
  • Income rounding — small lobbying engagements may be reported as income ranges rather than exact figures. The API returns the reported amount.
  • Name matching is partial — searching "Smith" in lobbyist name will match all Smiths. Provide more specific names for precision.
  • No full-text activity search — you can filter by issue area code, but not by keywords within the activity description text. Use the LDA website for full-text description searches.
  • Registration filings lack financial data — RR (Registration) filings establish the lobbying relationship but don't include income/expense figures. Only quarterly reports (Q1–Q4) have financial data.
  • Foreign entity data is self-reported — contribution amounts and ownership percentages are disclosed by the filing party and may be incomplete.

Responsible Use

  • All data is public — lobbying disclosure filings are published by the US Senate under the Lobbying Disclosure Act and are freely available for public inspection.
  • Respect Senate API rate limits — the actor paginates through results sequentially. Avoid launching excessive concurrent runs.
  • Use for legitimate purposes — this tool is designed for policy analysis, competitive intelligence, investigative journalism, compliance monitoring, and academic research.
  • Lobbying is legal — lobbying is a constitutionally protected activity. The LDA requires transparency, not prohibition.

FAQ

Is an API key required? No. The Senate LDA REST API is free and does not require authentication.

How current is the data? Lobbying filings are due 45 days after the end of each quarter. Q4 2024 filings were due by February 14, 2025. New filings appear in the database as they are processed by the Senate.

What is the difference between income and expenses? Income is reported by outside lobbying firms (K Street firms hired by clients). Expenses are reported by organizations that lobby on their own behalf (in-house lobbyists). A filing will have one or the other, never both.

Can I find lobbying connected to foreign governments? Yes. The foreignEntities array in each filing discloses foreign organizations or governments connected to the lobbying activity, including their country and financial contribution.

How do I identify revolving-door lobbyists? Check the coveredPosition field on individual lobbyists within the lobbyingActivities array. Non-empty values indicate former government roles (e.g., "Former Chief of Staff, Senate Commerce Committee").

Can I search for lobbying on a specific bill? Not directly through this actor's input parameters. However, bill references appear in the lobbyingActivities[].description field. Search for a broad issue area (e.g., HCR for health) and then filter the results for specific bill numbers.

Why do some filings show $0 income? Some quarterly reports are filed as amendments or corrections with zero income. Additionally, termination filings (TA type) and miscellaneous amendments (MA type) typically don't include financial data.

How far back does the data go? The Senate LDA database contains filings from 1999 to present — over 25 years of federal lobbying disclosure data.

Integrations

  • Apify API — trigger runs programmatically for automated lobbying monitoring dashboards
  • Zapier — automatically run lobbying searches when policy-relevant events occur
  • Make (Integromat) — build workflows that track lobbying activity around specific legislative issues
  • Google Sheets — export lobbying data for policy research teams and compliance reporting
  • Webhooks — receive lobbying data as soon as the run completes for real-time policy intelligence
  • Scheduled Runs — run quarterly after each filing deadline to keep your lobbying database current

Related Actors

ActorWhat it doesUse with Senate Lobbying Search
FEC Campaign Finance SearchFederal campaign contributionsCross-reference lobbying with political donations from the same companies
Congress Bill SearchCongressional legislationFind the bills being lobbied on by matching issue descriptions
Congress Stock TrackerCongressional stock tradesCompare lobbying activity with congressional investment patterns
Federal Register SearchFederal regulationsTrack the regulatory outcomes of lobbying campaigns
FARA Foreign AgentsForeign agent registrationsCompanion database for foreign-connected influence activity
CMS Open PaymentsPharma payments to physiciansCompare pharma lobbying spending with physician payment patterns

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try Senate Lobbying Disclosure Search?

Start for free on Apify. No credit card required.

Open on Apify Store