US Senate Filings API
Lobbying disclosure filings (LD-1, LD-2, LD-203)
Lobbying disclosure filings (LD-1, LD-2, LD-203)
openapi: 3.0.1
info:
title: US Senate Lobbying Disclosure Act (LDA) Clients Filings API
description: The Senate Lobbying Disclosure Act (LDA) REST API provides public access to lobbying filings, registrations, quarterly activity reports (LD-2), and semi-annual contribution reports (LD-203). An optional API key increases the rate limit from 15 to 120 requests per minute.
version: '1.0'
contact:
name: Senate Office of Public Records
email: lobby@sec.senate.gov
url: https://lda.senate.gov/api/
servers:
- url: https://lda.senate.gov/api/v1
security:
- ApiKeyAuth: []
- {}
tags:
- name: Filings
description: Lobbying disclosure filings (LD-1, LD-2, LD-203)
paths:
/filings/:
get:
tags:
- Filings
operationId: listFilings
summary: List Lobbying Disclosure Filings
description: Returns a paginated list of lobbying disclosure filings. Supports filtering by filing type, year, period, registrant, and client.
parameters:
- name: filing_type
in: query
description: Filing type code (e.g., LD1=Registration, LD2=Quarterly Report, MM=Mid-Year Report)
schema:
type: string
- name: filing_year
in: query
description: Year of the filing
schema:
type: integer
- name: filing_period
in: query
description: Filing period (e.g., first_quarter, second_quarter, mid_year, year_end)
schema:
type: string
- name: registrant_id
in: query
description: Filter by registrant ID
schema:
type: integer
- name: client_id
in: query
description: Filter by client ID
schema:
type: integer
- name: registrant_name
in: query
description: Filter by registrant name (partial match)
schema:
type: string
- name: client_name
in: query
description: Filter by client name (partial match)
schema:
type: string
- name: lobbyist_name
in: query
description: Filter by lobbyist name
schema:
type: string
- name: issue_code
in: query
description: Filter by lobbying issue code (e.g., TAX, HCR, DEF)
schema:
type: string
- name: dt_posted
in: query
description: Filter by date posted (ISO 8601 date)
schema:
type: string
format: date
- name: page
in: query
description: Page number for pagination
schema:
type: integer
default: 1
- name: limit
in: query
description: Number of results per page (default 25, max 25)
schema:
type: integer
default: 25
- name: format
in: query
description: Response format
schema:
type: string
enum:
- json
- xml
default: json
responses:
'200':
description: Paginated list of filings
content:
application/json:
schema:
$ref: '#/components/schemas/FilingListResponse'
'401':
description: Unauthorized
'429':
description: Rate limit exceeded
/filings/{filing_uuid}/:
get:
tags:
- Filings
operationId: getFiling
summary: Get Lobbying Filing by UUID
description: Retrieve a specific lobbying disclosure filing by its UUID.
parameters:
- name: filing_uuid
in: path
required: true
description: Unique identifier (UUID) of the filing
schema:
type: string
format: uuid
- name: format
in: query
schema:
type: string
enum:
- json
default: json
responses:
'200':
description: Filing details
content:
application/json:
schema:
$ref: '#/components/schemas/Filing'
'404':
description: Filing not found
components:
schemas:
Lobbyist:
type: object
description: An individual lobbyist
properties:
id:
type: integer
url:
type: string
format: uri
prefix:
type: string
nullable: true
first_name:
type: string
last_name:
type: string
suffix:
type: string
nullable: true
covered_position:
type: string
nullable: true
description: Former government position if covered official
is_active_lobbyist:
type: boolean
Client:
type: object
description: A client on whose behalf lobbying activities are conducted
properties:
id:
type: integer
url:
type: string
format: uri
client_id:
type: integer
name:
type: string
description: Name of the client organization
general_description:
type: string
nullable: true
client_government_entity:
type: boolean
nullable: true
state:
type: string
nullable: true
country:
type: string
effective_date:
type: string
format: date
FilingListResponse:
type: object
properties:
count:
type: integer
description: Total number of matching filings
next:
type: string
format: uri
nullable: true
previous:
type: string
format: uri
nullable: true
results:
type: array
items:
$ref: '#/components/schemas/Filing'
Filing:
type: object
description: A lobbying disclosure filing (LD-1, LD-2, or LD-203)
properties:
url:
type: string
format: uri
filing_uuid:
type: string
format: uuid
description: Unique identifier for this filing
filing_type:
type: string
description: Filing type code (LD1, LD2, MM, etc.)
filing_type_display:
type: string
description: Human-readable filing type
filing_year:
type: integer
filing_period:
type: string
filing_period_display:
type: string
filing_document_url:
type: string
format: uri
description: URL to the PDF version of the filing
income:
type: number
nullable: true
description: Reported lobbying income (for lobbying firms)
expenses:
type: number
nullable: true
description: Reported lobbying expenses (for self-employed lobbyists)
dt_posted:
type: string
format: date-time
registrant:
$ref: '#/components/schemas/Registrant'
client:
$ref: '#/components/schemas/Client'
lobbying_activities:
type: array
items:
$ref: '#/components/schemas/LobbyingActivity'
Registrant:
type: object
description: A lobbying firm or self-employed lobbyist registration
properties:
id:
type: integer
url:
type: string
format: uri
house_registrant_id:
type: integer
name:
type: string
description: Name of the lobbying firm or individual
description:
type: string
nullable: true
address_1:
type: string
nullable: true
city:
type: string
nullable: true
state:
type: string
nullable: true
zip:
type: string
nullable: true
country:
type: string
contact_name:
type: string
contact_telephone:
type: string
dt_updated:
type: string
format: date-time
LobbyingActivity:
type: object
description: A lobbying activity record within a filing
properties:
general_issue_code:
type: string
description: Issue area code (e.g., TAX, HCR, DEF)
general_issue_code_display:
type: string
description:
type: string
nullable: true
description: Specific issues lobbied on
government_entities:
type: array
items:
type: object
properties:
name:
type: string
description: Government bodies lobbied
lobbyists:
type: array
items:
type: object
properties:
lobbyist:
$ref: '#/components/schemas/Lobbyist'
is_new:
type: boolean
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
description: 'Token-based auth. Format: ''Token YOUR_API_KEY'''