Senate Lobbying Disclosure Scraper avatar

Senate Lobbying Disclosure Scraper

Pricing

Pay per event

Go to Apify Store
Senate Lobbying Disclosure Scraper

Senate Lobbying Disclosure Scraper

Scrape LDA.gov Senate lobbying disclosures: registrants, clients, lobbyists, issues, amounts, filing dates, and official document links.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Scrape public U.S. Senate Lobbying Disclosure Act (LDA) filings from LDA.gov.

Use this actor to collect lobbying registrations, quarterly activity reports, registrants, clients, lobbyists, issue areas, filing dates, reported amounts, and official filing document links.

What does Senate Lobbying Disclosure Scraper do?

Senate Lobbying Disclosure Scraper extracts structured filing records from the official public LDA.gov filings API.

It is built for repeat monitoring and research workflows where you need clean rows instead of clicking through the public search form.

The actor returns one dataset item per filing.

Each item includes the filing UUID, report type, report period, registrant, client, lobbyists, issue codes, issue descriptions, posted date, reported income or expenses, and source links.

Who is it for?

  • ๐Ÿงพ Compliance teams tracking lobbying disclosures for regulated industries.
  • ๐Ÿ›๏ธ Public-affairs firms monitoring clients, registrants, lobbyists, and issue areas.
  • ๐Ÿ“ฐ Journalists researching lobbying activity by company, industry, or policy topic.
  • ๐Ÿ“Š B2B analysts enriching market-intelligence datasets with lobbying spend and policy interests.
  • ๐Ÿง‘โ€โš–๏ธ Advocacy and legal researchers reviewing official public filings.

Why use this actor?

The LDA.gov website is public, but manual searches are slow when you need many filings.

This scraper automates the official search workflow and outputs JSON, CSV, Excel, or API-ready data through Apify datasets.

It also keeps source URLs in each row so analysts can audit findings back to the official record.

Data fields

FieldDescription
filingUuidOfficial LDA filing UUID
filingTypeDisplayHuman-readable filing type
filingYearFiling/report year
filingPeriodDisplayHuman-readable report period
registrantNameLobbying registrant
clientNameLobbying client
amountReportedIncome or expenses reported on the filing
postedDateDate/time posted on LDA.gov
issueCodesLDA issue area codes
issueNamesIssue area names
issueDescriptionsDetailed lobbying issue text
lobbyistNamesLobbyists listed in activities
governmentEntitiesGovernment entities listed in activities
sourceUrlPublic filing page URL
documentUrlOfficial print/document URL
apiUrlOfficial LDA API URL
scrapedAtScrape timestamp

How much does it cost to scrape Senate lobbying disclosures?

This actor uses pay-per-event pricing, so costs scale with the number of filing records you save.

  • Run start: $0.005 once per run.
  • Per filing item: tiered by Apify plan. The BRONZE reference price is $0.000031907 per filing; FREE is $0.000036693, SILVER is $0.000024888, GOLD is $0.000019144, PLATINUM is $0.000012763, and DIAMOND is $0.00001.
  • Small research run: 100 filings on BRONZE costs about $0.0082 ($0.005 start + 100 ร— $0.000031907).
  • Monitoring run: 1,000 filings on BRONZE costs about $0.0369 ($0.005 start + 1,000 ร— $0.000031907).
  • Free-plan estimate: 100 filings costs about $0.0087 ($0.005 start + 100 ร— $0.000036693).

The pricing was set from realistic cloud-run cost evidence, with the 101-item launch validation run keeping an estimated net margin above 88% while staying far below comparable Senate/LDA scraper PPE benchmarks.

Input options

You can filter filings by registrant name, client name, lobbyist name, filing type, filing year, filing period, issue codes, and posted date range.

Use maxItems to cap the number of filing records saved.

Use includePdfLinks to include official LDA print/document URLs.

Use includeIssueDetails to include detailed policy issue text.

Example input

{
"registrantName": "Google",
"filingTypes": ["Q1", "Q2", "Q3", "Q4"],
"filingYear": 2024,
"maxItems": 25,
"includePdfLinks": true,
"includeIssueDetails": true
}

Example output

{
"filingUuid": "d715cb88-4878-4ee3-a1dc-b9aed7136aed",
"filingTypeDisplay": "1st Quarter - Report",
"filingYear": 2024,
"registrantName": "GOOGLE CLIENT SERVICES LLC",
"clientName": "GOOGLE CLIENT SERVICES LLC",
"amountReported": 3080000,
"issueCodes": ["ADV", "CPT", "DEF"],
"sourceUrl": "https://lda.senate.gov/filings/public/filing/d715cb88-4878-4ee3-a1dc-b9aed7136aed/"
}

How to run

  1. Open the actor on Apify.
  2. Enter a registrant, client, lobbyist, or filing filter.
  3. Set maxItems for the number of filings you need.
  4. Start the run.
  5. Export the dataset as JSON, CSV, Excel, XML, RSS, or HTML.

Tips for best results

  • Start with a registrant or client name for focused monitoring.
  • Add a filing year to keep runs fast and targeted.
  • Use filing types Q1, Q2, Q3, and Q4 for quarterly activity reports.
  • Use RR and RA for registrations and registration amendments.
  • Keep includeIssueDetails enabled when doing policy-topic analysis.

Filing type examples

  • RR โ€” Registration
  • RA โ€” Registration amendment
  • Q1 โ€” 1st Quarter report
  • Q2 โ€” 2nd Quarter report
  • Q3 โ€” 3rd Quarter report
  • Q4 โ€” 4th Quarter report
  • YY โ€” Year-end report
  • MM โ€” Mid-year report

Issue code examples

  • TEC โ€” Telecommunications
  • TAX โ€” Taxation/Internal Revenue Code
  • HCR โ€” Health Issues
  • DEF โ€” Defense
  • TRD โ€” Trade
  • SCI โ€” Science/Technology
  • CPT โ€” Copyright/Patent/Trademark

Integrations

Send new lobbying records to Google Sheets for analyst review.

Load filings into a warehouse for compliance dashboards.

Trigger Slack alerts when a watched company files a new quarterly activity report.

Join LDA records with CRM account lists for account intelligence.

Feed official source links into a document review workflow.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/senate-lobbying-disclosure-scraper').call({
registrantName: 'Google',
filingYear: 2024,
maxItems: 25
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/senate-lobbying-disclosure-scraper').call(run_input={
'registrantName': 'Google',
'filingYear': 2024,
'maxItems': 25,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~senate-lobbying-disclosure-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"registrantName":"Google","filingYear":2024,"maxItems":25}'

MCP for Claude Code and Desktop

Use the Apify MCP server with this actor enabled:

https://mcp.apify.com/?tools=automation-lab/senate-lobbying-disclosure-scraper

Add it in Claude Code:

$claude mcp add apify-lobbying "https://mcp.apify.com/?tools=automation-lab/senate-lobbying-disclosure-scraper"

Desktop JSON configuration example:

{
"mcpServers": {
"apify-lobbying": {
"url": "https://mcp.apify.com/?tools=automation-lab/senate-lobbying-disclosure-scraper"
}
}
}

Example prompts showing MCP usage:

  • "Use the Senate Lobbying Disclosure Scraper to scrape 2024 quarterly lobbying filings for Google and summarize the top issue areas."
  • "Use the Apify MCP tool to find filings for a client named Microsoft and return document links."
  • "Run the lobbying filing scraper through MCP to monitor telecom issue code TEC filings for 2024 and export rows to a table."

Legality

This actor collects public records from the official U.S. lobbying disclosure system.

You are responsible for using the data in accordance with applicable laws, platform terms, and your organization's compliance rules.

Always keep source URLs when publishing or citing findings.

FAQ

Troubleshooting

Why did I get fewer filings than expected?

Check your filters. Filing type, filing period, issue codes, and date filters can narrow results quickly.

Why is amountReported empty?

Some registration or no-activity filing types may not report income or expenses.

Set includePdfLinks to true to include official filing document URLs.

Changelog

Initial version extracts public LDA filing records from the official LDA.gov API.

Support

Open an Apify issue if a run fails or a field changes on LDA.gov.

Include your run ID and input JSON so the issue can be reproduced.

Notes on data freshness

LDA.gov is the authoritative source for these public filings.

The actor returns data available from the API at run time.

Schedule recurring runs to monitor new filings over time.

Operational workflow

For recurring compliance monitoring, create a saved task with a company or issue filter.

Run it daily, weekly, or after known filing deadlines.

Use the Apify dataset API to pull only the latest run output.

Export formats

Apify datasets support JSON, JSONL, CSV, Excel, XML, RSS, and HTML exports.

CSV and Excel are useful for analyst review.

JSON and JSONL are useful for automation and warehouse pipelines.

Source transparency

Every record includes sourceUrl and apiUrl.

When includePdfLinks is enabled, every available record also includes documentUrl.

These links make audit and verification straightforward.

Performance

The actor uses the official API directly and does not need a browser.

Most focused searches finish quickly.

Large broad searches are paginated and should use maxItems to control volume.