US Senate Lobbyists API

Individual lobbyist records

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/us-senate-lobbyists-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

us-senate-lobbyists-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: US Senate Lobbying Disclosure Act (LDA) Clients Lobbyists 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: Lobbyists
  description: Individual lobbyist records
paths:
  /lobbyists/:
    get:
      tags:
      - Lobbyists
      operationId: listLobbyists
      summary: List Lobbyists
      description: Returns a paginated list of individual lobbyist records.
      parameters:
      - name: name
        in: query
        description: Filter by lobbyist name (partial match)
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: format
        in: query
        schema:
          type: string
          enum:
          - json
          default: json
      responses:
        '200':
          description: Paginated list of lobbyists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LobbyistListResponse'
  /lobbyists/{id}/:
    get:
      tags:
      - Lobbyists
      operationId: getLobbyist
      summary: Get Lobbyist by ID
      description: Retrieve a specific lobbyist record by ID.
      parameters:
      - name: id
        in: path
        required: true
        description: Lobbyist ID
        schema:
          type: integer
      - name: format
        in: query
        schema:
          type: string
          enum:
          - json
          default: json
      responses:
        '200':
          description: Lobbyist details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lobbyist'
        '404':
          description: Not found
components:
  schemas:
    LobbyistListResponse:
      type: object
      properties:
        count:
          type: integer
        next:
          type: string
          format: uri
          nullable: true
        previous:
          type: string
          format: uri
          nullable: true
        results:
          type: array
          items:
            $ref: '#/components/schemas/Lobbyist'
    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
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Token-based auth. Format: ''Token YOUR_API_KEY'''