Snowflake Marketplace

US Lobbying: Federal, State and City

Federal lobbying reports since 1999, lobbyists’ political contribution reports since 2008, New York and Colorado state filings, and four city and county registries, updated weekly.

1.96Mfederal filings
666,342contribution reports
6state and local registries
Weeklyupdated
About this dataset

What’s in the listing

Under the Lobbying Disclosure Act, lobbying firms and organizations that lobby for themselves register with Congress and file a report every quarter (twice a year before 2008). Each report names the client, the issues and bills lobbied, the parts of Congress and the federal agencies contacted, the lobbyists who did the work, and the income or expenses for the period. Lobbyists and the organizations they work for also file a report twice a year (form LD-203) listing their political contributions. This listing carries both, from LDA.gov, the U.S. Senate’s lobbying disclosure site.

It adds state lobbying filings from New York and Colorado and the lobbyist registries of four local governments: Austin, Los Angeles, Cook County and Dallas. Civly maps the four local registries into one table with the same columns. Other states and cities are not included yet.

Common uses: who lobbies for a company or on an issue, which outside firms a client hires and what they report being paid, which agencies an issue is taken to, the candidates and committees lobbyists give to, and the same clients’ lobbying in state capitols and city halls.

FactDetail
SourceFederal: LDA.gov, retrieved weekly. State: the New York State Commission on Ethics and Lobbying in Government and the Colorado Secretary of State. Local: the open data portals of Austin, Los Angeles, Cook County and Dallas
CoverageFederal filings 1999 to present. Contribution reports 2008 to present. New York and Colorado. Austin, Los Angeles, Cook County (to October 2021) and Dallas
RefreshWeekly. The listing gives the date federal data was last retrieved from LDA.gov
Free trial30 days, filing year 2024 in every table
SubscriptionEvery table and every year
Join keyREGISTRANT_ID joins FEDERAL_FILINGS and FEDERAL_CONTRIBUTIONS. The state and local tables share no id with the federal ones. Match them by name.
Permitted useNot for employment, tenant, credit, insurance or licensing decisions about a person.
Coverage

How much is in each table

Row counts as of October 6, 2026.

TableRowsCoversFree trial
FEDERAL_FILINGS1,958,656Registrations and quarterly reports, 1999 to presentFiling year 2024
FEDERAL_CONTRIBUTIONS666,342Semiannual contribution reports (LD-203), 2008 to presentFiling year 2024
STATE_FILINGS832,119New York and ColoradoRows whose period starts in 2024
LOCAL_FILINGS313,110Austin, Los Angeles, Cook County and DallasRows whose period starts in 2024
State or local governmentTableRowsWhat it publishes
New YorkSTATE_FILINGS718,398Lobbyist registrations: lobbyist, firm, client and period
ColoradoSTATE_FILINGS113,721Lobbyist directory, client list and expenditure reports
AustinLOCAL_FILINGS297,226Clients with reported pay, and the city matters lobbied, from each report
Los AngelesLOCAL_FILINGS10,799Lobbyist registrations: lobbyist and firm, no client
Cook CountyLOCAL_FILINGS4,702Lobbying contacts: who lobbied which official, for which client, on what. Stops in October 2021
DallasLOCAL_FILINGS383Registrations and quarterly reports: lobbyist and client

Reading the data

AMOUNT in FEDERAL_FILINGS is an outside firm’s income from the client or, for an organization lobbying for itself, its own lobbying expenses. In-house expenses can include fees paid to outside firms that report the same money as income, so do not add the two kinds together. The table has no label saying which kind a row is. In-house filers usually name themselves as the client.

Amended reports are separate filings. To count a period once, keep the latest filing per registrant, client and period, as the sample queries do.

LOBBYING_ACTIVITIES, FOREIGN_ENTITIES, AFFILIATED_ORGANIZATIONS, PACS and CONTRIBUTION_ITEMS hold JSON text. Read them with PARSE_JSON and LATERAL FLATTEN.

In LOCAL_FILINGS, money stays on the row the city published it on and is never copied onto activity rows. Several lobbyists can each report the same client fee. Austin repeats its whole client list on every new, update, renewal and termination filing, so use FILING_TYPE = 'Quarterly_Activity_Report' for one pass per quarter. Austin publishes many amounts as ranges only (COMPENSATION_RANGE).

One New York registration fills one row for each lobbyist named on it (718,398 rows from 42,580 registrations), and in most of them (30,802 of 37,847 with pay) the same pay repeats on every row. Count pay once per SOURCE_RECORD_ID before adding amounts.

Cook County’s registry stops in October 2021, so Cook County has no rows in the 2024 trial.

Schemas

Data dictionary

Four tables, 92 columns in total: FEDERAL_FILINGS, FEDERAL_CONTRIBUTIONS, STATE_FILINGS and LOCAL_FILINGS. The same tables serve the trial and the subscription. During the free trial they return 2024 only: FILING_YEAR = 2024 in the federal tables, YEAR_START = 2024 in STATE_FILINGS, and a PERIOD_START in 2024 in LOCAL_FILINGS. A subscription adds every other year.

Schema

Data dictionary: FEDERAL_FILINGS

One row per filing posted on LDA.gov: registrations, quarterly reports (semiannual before 2008), amendments and terminations. 22 columns. Values are as LDA.gov publishes them, except AMOUNT.

ColumnTypeMeaning
IDFLOATCivly’s row id.
FILING_UUIDTEXTLDA.gov’s id for the filing.
FILING_TYPETEXTFiling type code as published, for example RR for a registration or Q1 for a first-quarter report. Amendments and terminations have their own codes.
FILING_TYPE_DISPLAYTEXTThe filing type in words.
FILING_YEARFLOATYear the filing covers. The trial returns 2024.
FILING_PERIODTEXTPeriod code as published: a quarter, or mid-year or year-end for reports before 2008.
FILING_PERIOD_DISPLAYTEXTThe period in words.
DT_POSTEDTIMESTAMP_NTZWhen LDA.gov posted the filing.
REGISTRANT_IDFLOATLDA.gov’s id for the registrant: the lobbying firm, or the organization lobbying for itself. Joins to FEDERAL_CONTRIBUTIONS.
REGISTRANT_NAMETEXTRegistrant name as filed.
REGISTRANT_DESCRIPTIONTEXTThe registrant’s description of its business, as filed.
CLIENT_IDFLOATLDA.gov’s id for the client.
CLIENT_NAMETEXTClient name as filed. An organization lobbying for itself usually names itself as the client.
CLIENT_STATETEXTState of the client’s address, as filed.
CLIENT_COUNTRYTEXTCountry of the client’s address, as filed.
LOBBYING_ACTIVITIESTEXTJSON text, one entry per issue area: the general issue code, the specific issues and bills lobbied, the lobbyists who worked on it with any covered government positions they disclosed, and the government entities contacted.
FOREIGN_ENTITIESTEXTJSON text: foreign entities with an interest in the lobbying, as disclosed.
AFFILIATED_ORGANIZATIONSTEXTJSON text: affiliated organizations, as disclosed.
AMOUNTNUMBERCivly’s column. For an outside firm, its income from this client for the period. For an organization lobbying for itself, its own lobbying expenses. Empty when the filing gives no figure, such as a registration or a report that checks the form’s “less than” box. Do not add the two kinds together (see Reading the data).
URLTEXTLink to the filing on LDA.gov.
CREATED_ATTIMESTAMP_NTZWhen Civly first loaded the filing.
UPDATED_ATTIMESTAMP_NTZWhen Civly last retrieved the filing from LDA.gov.
Schema

Data dictionary: FEDERAL_CONTRIBUTIONS

One row per semiannual contribution report (LD-203), filed by each registered lobbyist and by each registrant. 20 columns. Values are as LDA.gov publishes them.

ColumnTypeMeaning
IDFLOATCivly’s row id.
FILING_UUIDTEXTLDA.gov’s id for the report.
FILING_TYPETEXTReport type code as published: a mid-year or year-end report, or an amendment to one.
FILING_TYPE_DISPLAYTEXTThe report type in words.
FILING_YEARFLOATYear the report covers. The trial returns 2024.
FILING_PERIODTEXTPeriod code as published: mid-year or year-end.
FILING_PERIOD_DISPLAYTEXTThe period in words.
DT_POSTEDTIMESTAMP_NTZWhen LDA.gov posted the report.
REGISTRANT_IDFLOATLDA.gov’s id for the registrant the lobbyist works for, or the registrant filing its own report. Joins to FEDERAL_FILINGS.
REGISTRANT_NAMETEXTRegistrant name as filed.
LOBBYIST_IDFLOATLDA.gov’s id for the lobbyist. Empty on a registrant’s own report.
LOBBYIST_FIRST_NAMETEXTLobbyist first name as filed.
LOBBYIST_LAST_NAMETEXTLobbyist last name as filed.
LOBBYIST_SUFFIXTEXTLobbyist name suffix as filed.
PACSTEXTJSON text: political action committees the filer established or controls, as reported.
CONTRIBUTION_ITEMSTEXTJSON text, one entry per contribution reported: type, contributor, payee, honoree, amount and date.
NO_CONTRIBUTIONSBOOLEANTrue when the filer reported no contributions for the period.
URLTEXTLink to the report on LDA.gov.
CREATED_ATTIMESTAMP_NTZWhen Civly first loaded the report.
UPDATED_ATTIMESTAMP_NTZWhen Civly last retrieved the report from LDA.gov.
Schema

Data dictionary: STATE_FILINGS

New York and Colorado lobbying filings, one row per registrant, client and period as each state publishes them. 24 columns. FILING_KIND separates registrations from expenditure filings.

ColumnTypeMeaning
IDFLOATCivly’s row id.
STATETEXTNY or CO.
SOURCETEXTThe state dataset the row came from.
SOURCE_RECORD_IDTEXTThe record’s id in that dataset, when it has one.
FILING_KINDTEXTregistration, or expenditure for compensation and spending a lobbyist reported.
REGISTRANT_NAMETEXTLobbyist or lobbying firm, as filed.
REGISTRANT_FIRSTTEXTFirst name, when the registrant is a person.
REGISTRANT_LASTTEXTLast name, when the registrant is a person.
REGISTRANT_FIRST_NORMTEXTCivly’s uppercased, trimmed first name, for matching.
REGISTRANT_LAST_NORMTEXTCivly’s uppercased, trimmed last name, for matching.
REGISTRANT_FIRMTEXTThe firm the registrant works for, when published.
IS_INDIVIDUALBOOLEANTrue when the registrant is a person rather than a firm.
CLIENT_NAMETEXTClient, as filed.
CLIENT_NAME_NORMTEXTCivly’s normalized client name, for matching.
PERIOD_RAWTEXTThe period as the state printed it.
YEAR_STARTFLOATFirst year of the period, read by Civly from the state’s period. The trial returns 2024.
YEAR_ENDFLOATLast year of the period, read the same way.
COMPENSATION_RAWTEXTCompensation as the state printed it.
COMPENSATION_AMOUNTFLOATCivly’s reading of COMPENSATION_RAW as dollars. Empty when it holds no amount.
STATUSTEXTRegistration status, as published.
DESCRIPTIONTEXTSubject or description, as published.
RECORD_URLTEXTLink to the record on the state’s site, when published.
CREATED_ATTIMESTAMP_NTZWhen Civly loaded the row.
UPDATED_ATTIMESTAMP_NTZWhen Civly last changed the row.
Schema

Data dictionary: LOCAL_FILINGS

Civly’s table: the Austin, Los Angeles, Cook County and Dallas registries mapped into one set of columns, one row per source record. A column a city or county does not publish is empty. Names are as filed. 26 columns.

ColumnTypeMeaning
JURISDICTIONTEXTAustin, Los Angeles, Cook County or Dallas.
JURISDICTION_LEVELTEXTcity or county.
STATETEXTTX, CA or IL.
RECORD_TYPETEXTactivity: who lobbied on what, with no money (Austin matters lobbied, Cook County contacts). compensation: what a lobbyist reported being paid by a client (Austin). report: a periodic report naming the lobbyist and client (Dallas). registration: a registration (Los Angeles names the lobbyist and firm only, Dallas the lobbyist and client).
LOBBYIST_NAMETEXTThe person who lobbied, as filed.
LOBBYING_FIRMTEXTThe lobbyist’s firm or employer, as filed (Austin, Los Angeles, Cook County).
CLIENT_NAMETEXTClient, as filed (Austin compensation rows, Cook County, Dallas). Los Angeles publishes no client.
AGENCY_OR_OFFICIAL_LOBBIEDTEXTThe official contacted, with title (Cook County only).
SUBJECT_MATTERTEXTSubject or city matter lobbied (Austin activity rows, Cook County).
COMPENSATIONNUMBERDollars the lobbyist reported being paid by the client (Austin). Empty, never zero, when none is published.
COMPENSATION_RANGETEXTAustin’s published pay range, for example Less than $10,000.
PERIOD_STARTDATEStart of the period the row covers. Austin quarterly reports: worked out by Civly from the filing month and report year. Dallas: read from the report title. Los Angeles: the date the lobbyist qualified. Cook County: the date of the contact. The trial returns rows starting in 2024.
PERIOD_ENDDATEEnd of that period. Los Angeles: the date the registration ended.
FILED_DATEDATEDate filed or registered (Austin, Los Angeles, Dallas).
FILING_TYPETEXTThe filing’s type as published, for example Quarterly_Activity_Report (Austin, Dallas).
FILING_IDTEXTThe city’s report id (Austin, Dallas).
IS_LATEST_FILINGBOOLEANNot filled for any jurisdiction now in the listing.
LOBBYIST_SOURCE_IDTEXTThe city’s id for the lobbyist (Austin).
CLIENT_SOURCE_IDTEXTNot filled for any jurisdiction now in the listing.
SOURCE_DATASETTEXTId of the open data portal dataset the row came from.
SOURCE_TABLETEXTCivly’s name for that dataset.
SOURCE_ROW_IDTEXTThe portal’s own key for the row, or a fingerprint of its values when the portal publishes none.
SOURCE_URLTEXTDownload address of the portal dataset.
SOURCE_SHA256TEXTChecksum of the downloaded file.
SOURCE_RELEASE_DATEDATEDate of the portal copy the row came from.
IMPORTED_ATTIMESTAMP_NTZWhen Civly imported the row.
Matching

Joining the tables

REGISTRANT_ID joins FEDERAL_FILINGS and FEDERAL_CONTRIBUTIONS, so a firm’s clients sit beside its lobbyists’ contributions. The state and local tables share no id with the federal tables or with each other. Match them by name: CLIENT_NAME in every table (CLIENT_NAME_NORM in STATE_FILINGS), and REGISTRANT_NAME, LOBBYIST_NAME or LOBBYING_FIRM for the lobbyist side. Names are as filed, so one organization can be spelled several ways.

Getting started

Sample queries

After installing, set your worksheet’s database selector to the installed database and these run as written.

-- Federal issue areas lobbied most often in 2024
SELECT a.value:general_issue_code::string AS issue_code,
       COUNT(DISTINCT f.filing_uuid) AS filings
FROM US_LOBBYING.FEDERAL_FILINGS f,
     LATERAL FLATTEN(input => PARSE_JSON(f.lobbying_activities)) a
WHERE f.filing_year = 2024
GROUP BY issue_code
ORDER BY filings DESC
LIMIT 25;

-- One client's 2024 federal lobbying: the latest filing with a figure per registrant and period,
-- with in-house expenses kept apart from outside firms' income (in-house filers usually name themselves as client)
WITH latest AS (
    SELECT * FROM US_LOBBYING.FEDERAL_FILINGS
    WHERE filing_year = 2024 AND client_name ILIKE 'pfizer%' AND amount IS NOT NULL
    QUALIFY ROW_NUMBER() OVER (PARTITION BY registrant_id, client_id, filing_period ORDER BY dt_posted DESC) = 1
)
SELECT IFF(UPPER(registrant_name) = UPPER(client_name), 'in-house expenses', 'outside firm income') AS kind,
       registrant_name, SUM(amount) AS reported_usd
FROM latest
GROUP BY kind, registrant_name
ORDER BY reported_usd DESC NULLS LAST;

-- 2024 contributions by honoree, latest report per filer and period so amendments count once
WITH latest AS (
    SELECT * FROM US_LOBBYING.FEDERAL_CONTRIBUTIONS
    WHERE filing_year = 2024
    QUALIFY ROW_NUMBER() OVER (PARTITION BY registrant_id, lobbyist_id, filing_period ORDER BY dt_posted DESC) = 1
)
SELECT i.value:honoree_name::string AS honoree, COUNT(*) AS contributions,
       SUM(TRY_TO_NUMBER(i.value:amount::string, 18, 2)) AS total_usd
FROM latest l,
     LATERAL FLATTEN(input => PARSE_JSON(l.contribution_items)) i
GROUP BY honoree
ORDER BY total_usd DESC NULLS LAST
LIMIT 25;

-- One client across the state and local registries
SELECT 'state' AS level, state AS filed_in, registrant_name AS lobbyist, client_name, year_start AS yr
FROM US_LOBBYING.STATE_FILINGS
WHERE client_name ILIKE '%uber%'
UNION ALL
SELECT jurisdiction_level, jurisdiction, COALESCE(lobbyist_name, lobbying_firm), client_name, YEAR(period_start)
FROM US_LOBBYING.LOCAL_FILINGS
WHERE client_name ILIKE '%uber%'
ORDER BY yr DESC;

-- Austin: what lobbyists reported being paid, one pass per quarter
SELECT period_start, client_name, lobbyist_name, lobbying_firm, compensation, compensation_range
FROM US_LOBBYING.LOCAL_FILINGS
WHERE jurisdiction = 'Austin' AND record_type = 'compensation'
  AND filing_type = 'Quarterly_Activity_Report' AND YEAR(period_start) = 2024
ORDER BY period_start, client_name;
Provenance

Sourcing and attribution

Federal filings and contribution reports come from LDA.gov, retrieved every week. The listing gives the date of the latest retrieval, and each row’s UPDATED_AT is when Civly last retrieved it. LDA.gov’s content is kept as published. Two parts are Civly’s work, not the Senate’s: the AMOUNT column, where Civly takes the income figure or the expenses figure, and the LOCAL_FILINGS table, which is Civly’s mapping of four local registries into one set of columns. YEAR_START, YEAR_END, COMPENSATION_AMOUNT and the _NORM columns in STATE_FILINGS are Civly’s readings too. Lobbyists’ criminal-conviction disclosures, which LDA.gov publishes, are not included.

This product does not use the Senate seal and is not endorsed by the U.S. Senate, the House of Representatives, or any state or local government.

State and local sources: the New York State Commission on Ethics and Lobbying in Government (data.ny.gov), the Colorado Secretary of State (data.colorado.gov, public domain), the City of Austin (public domain), the City of Los Angeles (CC0) and Cook County (public domain). Cook County’s registry stops in October 2021. Dallas data is credited to the City of Dallas and used under the Open Data Commons Attribution License. Other states and cities are not included yet.

Permitted use: not for employment, tenant, credit, insurance or licensing decisions about a person.

For coverage or access questions: matthew@civly.ai