{"database": "lobbying", "private": false, "path": "/lobbying", "size": 14649901056, "tables": [{"name": "lobbying_activities", "columns": ["id", "filing_uuid", "filing_type", "registrant_name", "registrant_id", "client_name", "filing_year", "filing_period", "issue_code", "specific_issues", "government_entities", "income_amount", "expense_amount", "is_no_activity", "is_termination", "received_date"], "primary_keys": ["id"], "count": null, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [], "outgoing": [{"other_table": "lobbying_filings_raw", "column": "filing_uuid", "other_column": "filing_uuid"}]}, "private": false}, {"name": "lobbying_contributions", "columns": ["id", "filing_uuid", "lobbyist_name", "contributor_name", "payee_name", "recipient_name", "contribution_type", "amount", "contribution_date", "filing_year", "filing_period", "registrant_name", "received_date"], "primary_keys": ["id"], "count": null, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [], "outgoing": []}, "private": false}, {"name": "lobbying_filing_types", "columns": ["id", "name", "description"], "primary_keys": ["id"], "count": 250, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [], "outgoing": []}, "private": false}, {"name": "lobbying_filings_raw", "columns": ["filing_uuid", "filing_type", "registrant_id", "registrant_name", "client_id", "client_name", "filing_year", "filing_period", "received_date", "amount_reported", "is_amendment", "is_no_activity", "is_termination", "raw_json"], "primary_keys": ["filing_uuid"], "count": null, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [{"other_table": "lobbying_activities", "column": "filing_uuid", "other_column": "filing_uuid"}, {"other_table": "lobbying_lobbyists", "column": "filing_uuid", "other_column": "filing_uuid"}], "outgoing": []}, "private": false}, {"name": "lobbying_gov_entities", "columns": ["id", "name"], "primary_keys": ["id"], "count": 257, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [], "outgoing": []}, "private": false}, {"name": "lobbying_issue_codes", "columns": ["code", "description"], "primary_keys": ["code"], "count": 79, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [], "outgoing": []}, "private": false}, {"name": "lobbying_lobbyists", "columns": ["id", "filing_uuid", "lobbyist_name", "covered_position", "is_new"], "primary_keys": ["id"], "count": null, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [], "outgoing": [{"other_table": "lobbying_filings_raw", "column": "filing_uuid", "other_column": "filing_uuid"}]}, "private": false}, {"name": "lobbying_registrations", "columns": ["filing_uuid", "filing_type", "registrant_id", "registrant_name", "registrant_description", "registrant_address", "registrant_country", "registrant_ppb_country", "client_id", "client_name", "client_description", "client_country", "client_ppb_country", "client_state", "effective_date", "received_date", "general_issue_codes", "is_amendment", "termination_date"], "primary_keys": ["filing_uuid"], "count": 137404, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [], "outgoing": []}, "private": false}], "hidden_count": 0, "views": [], "queries": [{"title": "Search Lobbying Clients", "description": "Search for a client by name across all lobbying activity filings. Find who is lobbying on their behalf and on what issues.", "sql": "SELECT DISTINCT client_name, registrant_name, issue_code, filing_year, filing_period, CAST(income_amount AS INTEGER) AS income, government_entities, substr(specific_issues, 1, 300) AS issues_excerpt FROM lobbying_activities WHERE client_name LIKE '%' || :client_name || '%' ORDER BY filing_year DESC, filing_period DESC LIMIT 200", "params": ["client_name"], "name": "search_lobbying_clients", "private": false}, {"title": "Lobbying by Issue Area", "description": "Count of lobbying activity filings by issue code, showing which policy areas attract the most lobbying.", "sql": "SELECT la.issue_code, COALESCE(lic.description, la.issue_code) AS issue_description, COUNT(*) AS filing_count, COUNT(DISTINCT la.client_name) AS unique_clients, COUNT(DISTINCT la.registrant_name) AS unique_registrants, CAST(SUM(la.income_amount) AS INTEGER) AS total_income FROM lobbying_activities la LEFT JOIN lobbying_issue_codes lic ON la.issue_code = lic.code GROUP BY la.issue_code ORDER BY filing_count DESC", "name": "lobbying_by_issue_area", "private": false}, {"title": "Top Lobbying Clients by Spending", "description": "Clients that spend the most on lobbying, ranked by total reported income across all filings and issue areas.", "sql": "SELECT client_name, COUNT(*) AS activity_count, COUNT(DISTINCT registrant_name) AS firms_hired, COUNT(DISTINCT issue_code) AS issue_areas, CAST(SUM(income_amount) AS INTEGER) AS total_reported, MIN(filing_year) AS first_year, MAX(filing_year) AS last_year FROM lobbying_activities WHERE income_amount > 0 GROUP BY client_name ORDER BY total_reported DESC LIMIT 100", "name": "top_lobbying_clients_by_spending", "private": false}, {"title": "Top Lobbying Firms (Registrants)", "description": "Lobbying firms (registrants) ranked by total reported income across all clients and filings.", "sql": "SELECT registrant_name, COUNT(*) AS activity_count, COUNT(DISTINCT client_name) AS unique_clients, COUNT(DISTINCT issue_code) AS issue_areas, CAST(SUM(income_amount) AS INTEGER) AS total_income, MIN(filing_year) AS first_year, MAX(filing_year) AS last_year FROM lobbying_activities WHERE income_amount > 0 GROUP BY registrant_name ORDER BY total_income DESC LIMIT 100", "name": "top_lobbying_firms", "private": false}, {"title": "Lobbying Activity for a Client", "description": "Detailed lobbying activity for a specific client \u2014 every issue area, government entity contacted, and specific issues lobbied on.", "sql": "SELECT la.filing_year, la.filing_period, la.registrant_name, la.issue_code, COALESCE(lic.description, la.issue_code) AS issue_description, la.government_entities, la.specific_issues, CAST(la.income_amount AS INTEGER) AS income, CAST(la.expense_amount AS INTEGER) AS expenses FROM lobbying_activities la LEFT JOIN lobbying_issue_codes lic ON la.issue_code = lic.code WHERE la.client_name = :client_name ORDER BY la.filing_year DESC, la.filing_period DESC LIMIT 500", "params": ["client_name"], "name": "lobbying_activity_for_client", "private": false}, {"title": "Lobbyists for a Client", "description": "Individual lobbyists who have lobbied on behalf of a specific client, including their covered government positions.", "sql": "SELECT DISTINCT ll.lobbyist_name, ll.covered_position, la.registrant_name, la.client_name, la.filing_year, la.issue_code, COALESCE(lic.description, la.issue_code) AS issue_description FROM lobbying_lobbyists ll JOIN lobbying_activities la ON ll.filing_uuid = la.filing_uuid LEFT JOIN lobbying_issue_codes lic ON la.issue_code = lic.code WHERE la.client_name LIKE '%' || :client_name || '%' ORDER BY la.filing_year DESC, ll.lobbyist_name LIMIT 500", "params": ["client_name"], "name": "lobbyists_for_client", "private": false}, {"title": "Lobbying Spending Over Time", "description": "Total reported lobbying income by year, showing spending trends across the lobbying industry.", "sql": "SELECT filing_year, COUNT(*) AS activity_count, COUNT(DISTINCT client_name) AS unique_clients, COUNT(DISTINCT registrant_name) AS unique_registrants, CAST(SUM(income_amount) AS INTEGER) AS total_income, CAST(SUM(expense_amount) AS INTEGER) AS total_expenses FROM lobbying_activities WHERE filing_year IS NOT NULL GROUP BY filing_year ORDER BY filing_year DESC", "name": "lobbying_spending_over_time", "private": false}, {"title": "Search Specific Issues", "description": "Full-text search on the specific issues described in lobbying filings. Find lobbying related to any topic, bill, or regulation.", "sql": "SELECT la.client_name, la.registrant_name, la.issue_code, COALESCE(lic.description, la.issue_code) AS issue_description, la.filing_year, la.filing_period, la.government_entities, la.specific_issues, CAST(la.income_amount AS INTEGER) AS income FROM lobbying_activities la LEFT JOIN lobbying_issue_codes lic ON la.issue_code = lic.code WHERE la.specific_issues LIKE '%' || :search || '%' ORDER BY la.filing_year DESC, la.income_amount DESC LIMIT 200", "params": ["search"], "name": "search_specific_issues", "private": false}, {"title": "Lobbyists with Government Positions", "description": "Lobbyists who held covered government positions (revolving door) \u2014 former congressional staff, executive branch officials, and other government roles.", "sql": "SELECT DISTINCT ll.lobbyist_name, ll.covered_position, la.registrant_name, la.client_name, la.filing_year FROM lobbying_lobbyists ll JOIN lobbying_activities la ON ll.filing_uuid = la.filing_uuid WHERE ll.covered_position IS NOT NULL AND ll.covered_position != '' ORDER BY ll.lobbyist_name, la.filing_year DESC LIMIT 500", "name": "lobbyists_with_government_positions", "private": false}, {"title": "Political Contributions by Lobbyists", "description": "Search political contributions reported by registered lobbyists. Enter a lobbyist name, recipient name, or leave blank for top contributions.", "sql": "SELECT lc.lobbyist_name, lc.contributor_name, lc.recipient_name, lc.payee_name, lc.contribution_type, CAST(lc.amount AS INTEGER) AS amount, lc.contribution_date, lc.filing_year FROM lobbying_contributions lc WHERE (:search = '' OR lc.lobbyist_name LIKE '%' || :search || '%' OR lc.recipient_name LIKE '%' || :search || '%' OR lc.contributor_name LIKE '%' || :search || '%') ORDER BY lc.amount DESC, lc.contribution_date DESC LIMIT 200", "params": ["search"], "name": "political_contributions_by_lobbyists", "private": false}], "allow_execute_sql": true, "query_ms": 84.17091297451407, "source": "Federal Register API & Regulations.gov API", "source_url": "https://www.federalregister.gov/developers/api/v1", "license": "Public Domain (U.S. Government data)", "license_url": "https://www.regulations.gov/faq"}