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'''