FiscalNote People API

The FiscalNote People API allows developers to access FiscalNote's data on government officials in the United States and globally. The API provides structured information about legislators, elected officials, and other government personnel, enabling applications to look up representatives, track official profiles, and integrate government personnel data into political intelligence and advocacy workflows.

OpenAPI Specification

fiscalnote-people-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: FiscalNote People API
  description: >-
    The FiscalNote People API allows developers to access FiscalNote's data on
    government officials in the United States and globally. The API provides
    structured information about legislators, elected officials, and other
    government personnel, enabling applications to look up representatives,
    track official profiles, and integrate government personnel data into
    political intelligence and advocacy workflows.
  version: '2.0'
  contact:
    name: FiscalNote Support
    url: https://fiscalnote.com/contact
  termsOfService: https://fiscalnote.com/terms
externalDocs:
  description: FiscalNote People API Documentation
  url: https://apidocs.fiscalnote.com/apis
servers:
  - url: https://api.fiscalnote.com
    description: Production Server
tags:
  - name: Legislators
    description: >-
      Access legislator-specific data including voting records, sponsored
      legislation, and committee memberships.
  - name: Officials
    description: >-
      Access government official profiles including legislators, executives,
      and appointees.
security:
  - apiKey: []
paths:
  /people/v2/officials:
    get:
      operationId: listOfficials
      summary: FiscalNote List government officials
      description: >-
        Returns a paginated list of government officials including
        legislators, executives, and appointees from the United States and
        international jurisdictions.
      tags:
        - Officials
      parameters:
        - $ref: '#/components/parameters/jurisdictionParam'
        - $ref: '#/components/parameters/chamberParam'
        - $ref: '#/components/parameters/partyParam'
        - $ref: '#/components/parameters/stateParam'
        - $ref: '#/components/parameters/queryParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/updatedSinceParam'
      responses:
        '200':
          description: A paginated list of government official records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfficialListResponse'
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /people/v2/officials/{officialId}:
    get:
      operationId: getOfficial
      summary: FiscalNote Get government official by ID
      description: >-
        Returns detailed information about a specific government official
        including biography, contact details, committee assignments, and
        political affiliation.
      tags:
        - Officials
      parameters:
        - name: officialId
          in: path
          required: true
          description: >-
            The unique identifier of the government official.
          schema:
            type: string
      responses:
        '200':
          description: Detailed government official record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Official'
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Official not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /people/v2/legislators:
    get:
      operationId: listLegislators
      summary: FiscalNote List legislators
      description: >-
        Returns a paginated list of current and former legislators from
        federal, state, and international legislatures.
      tags:
        - Legislators
      parameters:
        - $ref: '#/components/parameters/jurisdictionParam'
        - $ref: '#/components/parameters/chamberParam'
        - $ref: '#/components/parameters/partyParam'
        - $ref: '#/components/parameters/stateParam'
        - name: district
          in: query
          required: false
          description: >-
            Filter by district number or identifier.
          schema:
            type: string
        - name: active
          in: query
          required: false
          description: >-
            Filter by active status. Set to true for currently serving
            legislators.
          schema:
            type: boolean
        - $ref: '#/components/parameters/queryParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/offsetParam'
      responses:
        '200':
          description: A paginated list of legislator records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegislatorListResponse'
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /people/v2/legislators/{legislatorId}:
    get:
      operationId: getLegislator
      summary: FiscalNote Get legislator by ID
      description: >-
        Returns detailed information about a specific legislator including
        biography, voting record, sponsored legislation, and committee
        memberships.
      tags:
        - Legislators
      parameters:
        - name: legislatorId
          in: path
          required: true
          description: >-
            The unique identifier of the legislator.
          schema:
            type: string
      responses:
        '200':
          description: Detailed legislator record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Legislator'
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Legislator not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /people/v2/legislators/{legislatorId}/votes:
    get:
      operationId: listLegislatorVotes
      summary: FiscalNote List legislator votes
      description: >-
        Returns a paginated list of votes cast by a specific legislator.
      tags:
        - Legislators
      parameters:
        - name: legislatorId
          in: path
          required: true
          description: >-
            The unique identifier of the legislator.
          schema:
            type: string
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/offsetParam'
      responses:
        '200':
          description: A paginated list of vote records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoteListResponse'
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Legislator not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API key provided by FiscalNote. Include in the Authorization header
        of each request.
  parameters:
    jurisdictionParam:
      name: jurisdiction
      in: query
      required: false
      description: >-
        Filter by jurisdiction code such as US, US-CA, GB, or EU.
      schema:
        type: string
    chamberParam:
      name: chamber
      in: query
      required: false
      description: >-
        Filter by legislative chamber such as senate or house.
      schema:
        type: string
        enum:
          - senate
          - house
    partyParam:
      name: party
      in: query
      required: false
      description: >-
        Filter by political party affiliation.
      schema:
        type: string
    stateParam:
      name: state
      in: query
      required: false
      description: >-
        Filter by U.S. state abbreviation.
      schema:
        type: string
        minLength: 2
        maxLength: 2
    queryParam:
      name: q
      in: query
      required: false
      description: >-
        Full-text search query to filter results.
      schema:
        type: string
    limitParam:
      name: limit
      in: query
      required: false
      description: >-
        Maximum number of results to return per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    offsetParam:
      name: offset
      in: query
      required: false
      description: >-
        Number of results to skip for pagination.
      schema:
        type: integer
        minimum: 0
        default: 0
    updatedSinceParam:
      name: updatedSince
      in: query
      required: false
      description: >-
        Return only records updated after this ISO 8601 datetime.
      schema:
        type: string
        format: date-time
  schemas:
    Official:
      type: object
      description: >-
        A government official including legislators, executives, and
        appointees.
      properties:
        id:
          type: string
          description: >-
            Unique identifier for the official.
        firstName:
          type: string
          description: >-
            First name of the official.
        lastName:
          type: string
          description: >-
            Last name of the official.
        fullName:
          type: string
          description: >-
            Full name of the official.
        title:
          type: string
          description: >-
            Official title or position.
        party:
          type: string
          description: >-
            Political party affiliation.
        jurisdiction:
          type: string
          description: >-
            Jurisdiction the official serves in.
        state:
          type: string
          description: >-
            U.S. state if applicable.
        chamber:
          type: string
          description: >-
            Legislative chamber if applicable.
        district:
          type: string
          description: >-
            District the official represents.
        active:
          type: boolean
          description: >-
            Whether the official is currently serving.
        biography:
          type: string
          description: >-
            Biographical summary.
        photoUrl:
          type: string
          format: uri
          description: >-
            URL to the official's photo.
        contactInfo:
          $ref: '#/components/schemas/ContactInfo'
        socialMedia:
          $ref: '#/components/schemas/SocialMedia'
        url:
          type: string
          format: uri
          description: >-
            URL to the official's profile on FiscalNote.
        createdAt:
          type: string
          format: date-time
          description: >-
            Timestamp when the record was created.
        updatedAt:
          type: string
          format: date-time
          description: >-
            Timestamp when the record was last updated.
    Legislator:
      type: object
      description: >-
        A legislator with detailed information including voting record and
        committee memberships.
      allOf:
        - $ref: '#/components/schemas/Official'
        - type: object
          properties:
            committees:
              type: array
              description: >-
                Committees the legislator serves on.
              items:
                $ref: '#/components/schemas/CommitteeMembership'
            sponsoredBillCount:
              type: integer
              description: >-
                Number of bills sponsored by the legislator.
            cosponsoredBillCount:
              type: integer
              description: >-
                Number of bills co-sponsored by the legislator.
            termStart:
              type: string
              format: date
              description: >-
                Start date of the current term.
            termEnd:
              type: string
              format: date
              description: >-
                End date of the current term.
    CommitteeMembership:
      type: object
      description: >-
        A legislator's membership in a committee.
      properties:
        committeeId:
          type: string
          description: >-
            Unique identifier of the committee.
        committeeName:
          type: string
          description: >-
            Name of the committee.
        role:
          type: string
          description: >-
            Role on the committee such as chair, ranking_member, or member.
          enum:
            - chair
            - vice_chair
            - ranking_member
            - member
    Vote:
      type: object
      description: >-
        A vote record for a legislator.
      properties:
        id:
          type: string
          description: >-
            Unique identifier of the vote.
        billId:
          type: string
          description: >-
            Identifier of the bill being voted on.
        billTitle:
          type: string
          description: >-
            Title of the bill being voted on.
        voteDate:
          type: string
          format: date
          description: >-
            Date of the vote.
        position:
          type: string
          description: >-
            The legislator's vote position.
          enum:
            - yea
            - nay
            - abstain
            - not_voting
        chamber:
          type: string
          description: >-
            Chamber where the vote took place.
    ContactInfo:
      type: object
      description: >-
        Contact information for a government official.
      properties:
        email:
          type: string
          format: email
          description: >-
            Email address.
        phone:
          type: string
          description: >-
            Phone number.
        address:
          type: string
          description: >-
            Mailing address.
        website:
          type: string
          format: uri
          description: >-
            Official website.
    SocialMedia:
      type: object
      description: >-
        Social media profiles for a government official.
      properties:
        twitter:
          type: string
          description: >-
            Twitter/X handle.
        facebook:
          type: string
          description: >-
            Facebook profile URL or handle.
        youtube:
          type: string
          description: >-
            YouTube channel URL.
    OfficialListResponse:
      type: object
      description: >-
        Paginated response containing a list of officials.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Official'
        pagination:
          $ref: '#/components/schemas/Pagination'
    LegislatorListResponse:
      type: object
      description: >-
        Paginated response containing a list of legislators.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Legislator'
        pagination:
          $ref: '#/components/schemas/Pagination'
    VoteListResponse:
      type: object
      description: >-
        Paginated response containing a list of vote records.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Vote'
        pagination:
          $ref: '#/components/schemas/Pagination'
    Pagination:
      type: object
      description: >-
        Pagination metadata for list responses.
      properties:
        total:
          type: integer
          description: >-
            Total number of records matching the query.
        limit:
          type: integer
          description: >-
            Maximum number of records returned per page.
        offset:
          type: integer
          description: >-
            Number of records skipped.
        hasMore:
          type: boolean
          description: >-
            Indicates whether more records are available.
    Error:
      type: object
      description: >-
        Error response returned when a request fails.
      properties:
        code:
          type: integer
          description: >-
            HTTP status code.
        message:
          type: string
          description: >-
            Human-readable error message.