Tracking lobbying money means going past a filing download and building a trail you can defend line by line. The federal record is public, free, and searchable, but it splits across two filing systems, mixes firms with in-house lobbyists and self-employed lobbyists in the same search box, and reports totals by client and quarter rather than by bill. Learning to track lobbying money with public databases is mostly a matter of knowing which system holds which record, cleaning names before you add anything up, and keeping proof attached to every figure you plan to publish.
Here is the honest version of what a lobbying disclosure record is. Under the Lobbying Disclosure Act, anyone who meets the registration threshold and works for or on behalf of a client must register and file periodic expense reports naming the client, the issues covered, the officials contacted and the income received from that client. Those filings go to the Secretary of the Senate and the Clerk of the House, and they are searchable free through OpenSecrets, disclosure.senate.gov and lobbyingdisclosure.house.gov.
Table of Contents
- What You Need
- Step-by-Step
- Step 1: Define the money trail you want to follow
- Step 2: Find the relevant lobbying disclosures
- Step 3: Read the filing beyond the headline amount
- Step 4: Normalize the names before comparing records
- Step 5: Trace payments to their source
- Step 6: Check amendments, gaps, and disclosure limits
- Step 7: Verify important findings against original records
- Step 8: Build a transparent table or reproducible dataset
- Common Mistakes
- Frequently Asked Questions
- What is the best public database for tracking lobbying money?
- Do lobbying disclosures show every payment made by a company?
- How can I trace a lobbying firm to its clients?
- What is the difference between lobbying income and lobbying expenditures?
- Why do lobbying records sometimes contain vague or broad issue descriptions?
- Can public lobbying records prove that a company influenced a government decision?
- Conclusion
What You Need
Before you search anything, set up the sources. Most failed investigations fail here, not in the analysis: someone pulls one portal, finds a client name spelled three different ways, and gives up.
- disclosure.senate.gov — the Office of the Public Disclosure’s searchable filing system for Senate LDA records, including the LD-2 expense reports and LD-203 amendments.
- lobbyingdisclosure.house.gov — the Clerk of the House filing portal, which carries its own registration and reporting search plus step-by-step user tutorials.
- senate.gov public disclosure downloads — bulk XML files for every filing since 1999. This is the source you use for totals, joins and anything you intend to run code on.
- lda.gov — guidance, filing deadlines, registration thresholds and the official FAQ. Use it to settle arguments about what a form means.
- OpenSecrets — the most usable front end. It joins firm, client, lobbyist, issue, bill and agency into one search, and it absorbed FollowTheMoney.
- howdotheylobby.org — the CHORUS portal, built on testimony positions from state legislatures across 17 states. Its dataset ends at 2022, so treat it as history rather than current news.
- Your state secretary of state’s lobbyist registry — the only real source for state-level lobbying. Formats vary wildly by state.
- Archives.gov lobbying disclosure research page — a plain-language starting point that points at the House and Senate systems.
Which database answers which question
| Question | Go here first | Why |
|---|---|---|
| Who lobbied this bill? | OpenSecrets, then disclosure.senate.gov | Bill numbers appear on filings, though the spend is not broken down by bill |
| How much did this company spend in a year? | OpenSecrets, verified against the Senate XML download | Fast total, then confirm the number in the raw record |
| What is this firm’s client roster? | OpenSecrets firm page, then LD-2 filings | Roster is assembled from filings, including amendments |
| Who are the lobbyists behind a firm? | disclosure.senate.gov, OpenSecrets Lobbyist Link | Links individual lobbyists to firms and clients over time |
| What did a nonprofit spend on lobbying? | IRS Form 990, then LDA filings | The return shows the lobbying line; filings show the clients |
| What happened at the state level? | Secretary of state registry, howdotheylobby.org for history | No federal standard exists for state records |
| Did a lobbyist’s employer also make donations? | Campaign finance records, OpenSecrets | Lobbying income and political contributions never reconcile in one file |
Three types of lobbying show up in these filings and each behaves differently. Lobbying firms register as entities and file for their clients. In-house lobbyists are employees of a company or nonprofit who lobby on their employer’s behalf. Self-employed lobbyists, including consultants and former officials working alone, file for their own accounts. Grassroots activity sits outside all three for most rules.
Step-by-Step
Step 1: Define the money trail you want to follow
Turn the assignment into a search plan with one client, one firm or one bill, plus a date range. “Look into the company and the bill” is not a plan; “every registrant listing this bill number from January through the vote” is.
Write down what each source can establish. Filings establish that a payment was reported and roughly for what. They do not establish intent, and they rarely establish the purpose of a specific contact.
Step 2: Find the relevant lobbying disclosures
Search the two federal systems and download the raw XML when you want totals. Filings arrive in two forms: LD-2 expense reports and LD-203 amendments that fix an earlier return, so a quarterly search always includes both.
Records back to 1999 exist in electronic form. Anything earlier, and most state registries, means reading PDFs or scanned pages rather than querying a database.
Step 3: Read the filing beyond the headline amount
Open a filing and read the registrant name, client list, covered lobbyists, covered officials, dates, income, expenses and filing history. The income figure belongs to the client relationship, not to any single bill or agency, which is the single most important thing to understand about these records.
If a newsroom wants bill-level spend, the filings cannot supply it. One independent journalist working from a state registry described exactly this ceiling: annual spreadsheets gave total compensation by client with no bill-level breakdown, while the registry showed who was active on a specific bill.
Step 4: Normalize the names before comparing records
This is where real projects get stuck. Same organization, three strings: a parent company, a subsidiary and a trade association that shares a name with neither.
Keep a mapping table with one column for the name exactly as filed, one for the resolved entity, and one for your evidence. Add a status column so nothing merges silently. Preserve the original string in every export; a reader who disagrees with your merge should be able to see what you merged and undo it.
Leave a note in the record when a merge is uncertain. “Probably the same entity, unresolved” is a defensible line to publish.
Step 5: Trace payments to their source
LDA income is one line in a much larger financial picture. Triangulate it with corporate filings for public companies, Form 990 for nonprofits, grant databases for foundations, procurement records when a government body is involved, and official financial disclosure for a named individual’s holdings.
A Linux community researcher described tracing billions in nonprofit grants across Senate lobbying records and state ethics databases, and reporting that no link surfaced. Negative results are worth publishing when you document how hard you looked.
Step 6: Check amendments, gaps, and disclosure limits
Search for LD-203 amendments tied to each filing and replace superseded totals. Then check for missing quarters, which the filing systems make visible only if you know to look.
Three limits will change your headline. Anything under the registration threshold of 3,000 dollars per client per year need not be registered at all. Grassroots lobbying is exempt from disclosure in many circumstances. Issue codes can be broad enough to tell you nothing about the substance of the work.
Step 7: Verify important findings against original records
Use a source hierarchy: the raw filing first, the official portal’s rendered record second, an aggregator third. If two disagree, the filing wins.
For each number you intend to publish, save the filing identifier, the source URL, the retrieval date, the raw download and a screenshot of the portal view. Then write down what the evidence does not prove. Jargon-heavy firms and broad issue codes both weaken a claim even when the money is real.
Step 8: Build a transparent table or reproducible dataset
Keep the fields that make a total auditable: entity name as filed, resolved entity, registrant, client, reporting period, income, expenses, filing type, amendment status, source URL and retrieval date.
Two readers with the same table should reach the same number. If your cleaning choices are not visible in the file, your total is not reproducible.
Common Mistakes
Most published errors here are not data problems. They are overclaims.
- Treating lobbying income as total political spending. Campaign contributions live in separate records and are never reconciled in one place. Correction: report the two figures separately and never imply one causes the other.
- Reading an issue code as intent. A registrant listing health care has told you a category, not a position. Correction: attribute the code and say what it does not establish.
- Merging similarly named entities. A trade association and a foundation with a shared name are usually two things. Correction: merge only with a filing identifier or a name change as evidence.
- Presenting gross spend with no time frame. A quarterly figure and a trailing-year figure differ by an order of magnitude. Correction: name the period in the sentence, not the footnote.
- Ignoring amendments. Quarterly totals shift when an LD-203 lands after you exported. Correction: re-pull before publication and record when you pulled.
- Quoting an aggregator against the raw filing. Aggregators reshape names and dedupe records. Correction: spot-check the total against the XML.
- Claiming a link that proximity does not support. A lobbyist’s employer and a donor sharing a name proves nothing. Correction: describe what you found, including the null results.
- Leaving the methodology in your head. An unsourced total invites anyone to dispute it. Correction: publish the note below with the number.
That last point gets its own template, because a methodology note asked for repeatedly by working journalists is the cheapest way to make a data story defensible.
Methodology: This figure covers lobbying income reported on LD-2 expense reports and their LD-203 amendments filed with the Secretary of the Senate and the Clerk of the House between [start date] and [end date], downloaded on [retrieval date] from [source]. Client names were normalized to [parent entities] where a filing identifier or a documented name change supported the merge; original names as filed are preserved in the accompanying data. Lobbying income excludes political contributions, which are reported separately, and excludes activity below the registration threshold or exempt under the grassroots lobbying rules. Aggregator totals were spot-checked against the raw filings. Coverage gaps and unresolved name matches are listed in the notes column.
Frequently Asked Questions
What is the best public database for tracking lobbying money?
OpenSecrets is the best starting point because it joins firms, clients, lobbyists, issues, bills and agencies in one search, and its totals can be checked against the raw XML from the Senate public disclosure downloads. Use disclosure.senate.gov or lobbyingdisclosure.house.gov when you need the filing itself, including LD-203 amendments. No single source covers state-level lobbying; there you need the secretary of state’s registry.
Do lobbying disclosures show every payment made by a company?
No. Disclosures are required once spending reaches the registration threshold of 3,000 dollars per client per year, and much of the activity near that line goes unfiled. Grassroots lobbying is exempt in many circumstances. Lobbying income is also reported separately from political contributions, which sit in campaign finance records. Any published lobbying total is a floor, not a measure of all pressure on a decision.
How can I trace a lobbying firm to its clients?
Open the firm’s page on OpenSecrets and read the client list, then pull the underlying LD-2 filings from disclosure.senate.gov or lobbyingdisclosure.house.gov to confirm it. Include LD-203 amendments, which change earlier client lists. Watch for affiliates, subsidiaries and trade associations that lobby under their own names, and normalize those into a mapping table before you count anything.
What is the difference between lobbying income and lobbying expenditures?
Income is the money a registrant received from a client for lobbying services, and it is the figure most databases headline. Expenditure is what the registrant spent running that lobbying, which covers staff time, offices and event costs. A firm can report high income and modest expenditure. Neither number is broken down by bill, agency or specific contact.
Why do lobbying records sometimes contain vague or broad issue descriptions?
Registrants pick from a fixed list of LDA issue codes, and the code set is coarse. Two very different efforts can share one code. Firms also have discretion over how they describe their work, and the law does not require narrative detail. Broad codes are a legal filing convention rather than evidence of concealment, but they do limit what you can responsibly conclude from a filing.
Can public lobbying records prove that a company influenced a government decision?
No. The filings establish that a payment was reported and which issues and officials were named. They do not establish that any official changed a position, that the discussion happened because of the lobbying, or that a decision was improper. Corroborate with hearings, votes, correspondence and official statements, and keep the distinction between a documented payment and a conclusion about influence in your wording.
Conclusion
Start with one narrow question and one date range, then pull the filings for that window rather than the whole database. Pull the raw XML, normalize the client names with a documented mapping table, check for LD-203 amendments before you total anything, and spot-check your sum against the rendered record.
The habit that makes the work hold up is preserving the proof with the number: filing identifiers, source URLs, retrieval dates and a short note on what the data cannot show.
And keep the line clear in your own reporting. A documented payment trail is a defensible finding. A claim about improper influence is a different story, and it needs evidence these filings do not contain.


