Lobbying Disclosure (LDA) Database Scraper avatar

Lobbying Disclosure (LDA) Database Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Lobbying Disclosure (LDA) Database Scraper

Lobbying Disclosure (LDA) Database Scraper

Scrape the U.S. Senate/House Lobbying Disclosure Act public database. Search quarterly lobbying filings, registrants, clients, lobbyists, and LD-203 political contribution disclosures. No API key required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Scrape the U.S. Senate/House Lobbying Disclosure Act (LDA) public database — the official federal registry of who lobbies Congress, for whom, on what issues, and for how much. Search quarterly lobbying filings, registrants (lobbying firms), clients (who hired lobbyists), individual lobbyists, and LD-203 political contribution disclosures. HTTP-only via the public lda.senate.gov REST API. No login, no API key.

What this actor does

  • Six modes: filings, byFilingId, registrants, clients, lobbyists, contributions
  • Full filing detail: registrant & client info, every lobbyist named on the filing, every issue area lobbied, reported income/expenses, affiliated organizations, foreign entities
  • LD-203 contributions: political contributions and gifts disclosed by lobbyists and lobbying firms twice a year
  • Finite dropdowns: filing type (50 values), filing period, issue area (79 codes), US state, contribution type
  • Empty fields are omitted

Output per filing (mode = filings, byFilingId)

  • filingId, filingType, filingTypeDisplay, filingYear, filingPeriod, filingPeriodDisplay
  • registrantId, registrantName, registrantDescription, registrantAddress, registrantCountry, registrantContactName
  • clientId, clientName, clientDescription, clientState, clientCountry, clientIsGovernmentEntity
  • issueAreas[]{code, name, activityDescription} per lobbied issue
  • issueAreaCodes[] — unique issue-area codes for quick filtering
  • lobbyists[]{name, coveredPosition, isNew} per lobbyist named on the filing
  • affiliatedOrganizations[], foreignEntities[]
  • convictionDisclosures[] — present only on the rare filing disclosing a lobbyist conviction (LDA requires this disclosure but it is almost never triggered)
  • incomeReported, expensesReported, amountReported, expensesMethod
  • postedByName, filedDate, terminationDate
  • filingDocumentUrl, sourceUrl
  • recordType: "filing", scrapedAt

Output per registrant (mode = registrants)

  • registrantId, houseRegistrantId, name, description, address, city, state, zip, country, principalPlaceOfBusinessCountry
  • contactName, contactTelephone, lastUpdated, sourceUrl
  • recordType: "registrant", scrapedAt

Output per client (mode = clients)

  • clientId, name, description, state, country, principalPlaceOfBusinessState, principalPlaceOfBusinessCountry
  • isGovernmentEntity, isSelfSelectCategory, effectiveDate
  • registrantId, registrantName — the firm currently representing this client
  • sourceUrl, recordType: "client", scrapedAt

Output per lobbyist (mode = lobbyists)

  • lobbyistId, prefix, firstName, middleName, lastName, suffix, nickname, fullName
  • registrantId, registrantName, sourceUrl
  • recordType: "lobbyist", scrapedAt

Output per contribution (mode = contributions)

One record per disclosed contribution line item (a single LD-203 filing can disclose several).

  • filingId, filingType, filingTypeDisplay, filingYear, filingPeriod, filingPeriodDisplay
  • filerType, filerTypeDisplaylobbyist or organization
  • registrantId, registrantName, lobbyistId, lobbyistName, pacs[]
  • contributionType, contributionTypeDisplay, contributorName, payeeName, honoreeName, amount, contributionDate
  • filedDate, sourceUrl
  • recordType: "contribution", scrapedAt

Input

FieldTypeDefaultDescription
modestringfilingsfilings / byFilingId / registrants / clients / lobbyists / contributions
registrantNamestringLobbying firm name (most modes)
clientNamestringClient name (mode=filings, clients)
lobbyistNamestringIndividual lobbyist name (mode=filings, lobbyists, contributions)
filingIdsarrayFiling UUIDs (mode=byFilingId)
filingTypestringOne of 50 filing type codes (mode=filings, contributions)
filingYearintReporting year, 1999–2027
filingPeriodstringQuarter / mid-year / year-end
issueAreaCodestringOne of 79 general issue-area codes (mode=filings)
filedDateFrom / filedDateTostringYYYY-MM-DD filed-date range
amountMin / amountMaxintReported amount range (USD)
statestringUS state/territory (mode=registrants, clients)
contributionTypestringFECA / Honorary / Meeting / Presidential Library / Inaugural (mode=contributions)
contributorName / payeeName / honoreeNamestringLD-203 contribution item filters (mode=contributions)
maxItemsint20Hard cap on emitted records (1–2000)
proxyConfigurationobjectApify proxyOptional automatic fallback if the LDA API rate-limits/blocks the datacenter IP

Example: recent filings by a registrant

{
"mode": "filings",
"registrantName": "Akin Gump",
"filingYear": 2025,
"maxItems": 25
}

Example: who lobbies for a specific client

{
"mode": "filings",
"clientName": "Google",
"maxItems": 25
}

Example: filings on a specific issue area

{
"mode": "filings",
"issueAreaCode": "TAX",
"filingYear": 2025,
"maxItems": 50
}

Example: lookup filings by ID

{
"mode": "byFilingId",
"filingIds": ["7866327b-c892-4430-b9f0-1f0f679c58c6"]
}

Example: LD-203 political contributions above $500

{
"mode": "contributions",
"amountMin": 500,
"filingYear": 2023,
"maxItems": 50
}

Use cases

  • Journalism & watchdog research — track which firms lobby for which clients and on what issues
  • Public affairs & GR teams — monitor competitor lobbying registrations in real time
  • Political finance research — cross-reference LD-203 contributions with campaign finance data
  • Compliance — verify a firm's or client's LDA registration history
  • Academic research — bulk-export lobbying activity by issue area or year

FAQ

What's the data source? The official public REST API operated by the Office of the Secretary of the Senate / Clerk of the House at lda.senate.gov, covering all LDA filings since Congress began requiring electronic filing (1999) and LD-203 contribution reports since 2008.

Is this official/affiliated with the U.S. Senate? No — this is a third-party actor built on the publicly documented, unauthenticated REST API.

Are there rate limits? Yes, the upstream API allows ~15 anonymous requests/minute. The actor throttles itself and retries automatically to stay compliant — large maxItems values may take longer to complete.

Why is issueAreaCode filtered locally instead of by the API? The API doesn't expose general-issue-area as a server-side filter on the filings list endpoint, so the actor fetches candidate filings and filters them itself.

Can I fetch every filing with zero filters and a very large maxItems? Yes. The upstream API only allows paging past the first 25 results when at least one filter param is present on the request, so with zero filters supplied the actor automatically adds a harmless no-op date filter (filedDateFrom=1999-01-01, which matches everything since LDA data starts in 1999) behind the scenes to unlock full pagination — you'll get up to maxItems records either way.

What's the difference between a "registrant" and a "client"? A registrant is the lobbying firm or in-house lobbyist doing the lobbying; a client is the organization that hired them (which can be the same entity for in-house lobbyists).

What are LD-203 contributions? Twice a year, registered lobbyists and lobbying firms must disclose political contributions, PAC affiliations, and certain gifts/expenses (honorary, meeting, presidential library/inaugural) — separate from the quarterly LD-2 activity filings.

How fresh is the data? Filings are posted to the API as soon as they're processed by the Senate/House, typically within days of submission.