FiscalNote Legislation API

Access legislative data spanning Congress, all 50 U.S. states, and international jurisdictions.

OpenAPI Specification

fiscalnote-legislation-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: FiscalNote AppData Bills Legislation API
  description: The FiscalNote AppData API provides access to FiscalNote's data on legislation and regulations, both past and present, in the United States and globally. It also exposes organizational data from the FiscalNote platform including issues and labels. Developers can use the API to integrate legislative tracking, regulatory monitoring, and policy analysis capabilities into their own applications and workflows.
  version: '1.0'
  contact:
    name: FiscalNote Support
    url: https://fiscalnote.com/contact
  termsOfService: https://fiscalnote.com/terms
servers:
- url: https://api.fiscalnote.com
  description: Production Server
security:
- apiKey: []
tags:
- name: Legislation
  description: Access legislative data spanning Congress, all 50 U.S. states, and international jurisdictions.
paths:
  /policynote/v1/legislation:
    get:
      operationId: listLegislation
      summary: FiscalNote List legislation
      description: Returns a paginated list of legislation records matching the specified filter criteria. Results include bills, resolutions, and other legislative measures from federal, state, and international jurisdictions.
      tags:
      - Legislation
      parameters:
      - $ref: '#/components/parameters/jurisdictionParam'
      - $ref: '#/components/parameters/sessionParam'
      - $ref: '#/components/parameters/statusParam'
      - $ref: '#/components/parameters/queryParam'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/sortParam'
      - $ref: '#/components/parameters/updatedSinceParam'
      responses:
        '200':
          description: A paginated list of legislation records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegislationListResponse'
        '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'
  /policynote/v1/legislation/{legislationId}:
    get:
      operationId: getLegislation
      summary: FiscalNote Get legislation by ID
      description: Returns detailed information about a specific piece of legislation including its full text, sponsors, co-sponsors, committee assignments, vote history, and current status.
      tags:
      - Legislation
      parameters:
      - $ref: '#/components/parameters/legislationIdParam'
      responses:
        '200':
          description: Detailed legislation record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Legislation'
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Legislation not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Sponsor:
      type: object
      description: A sponsor or co-sponsor of a piece of legislation.
      properties:
        id:
          type: string
          description: Unique identifier of the sponsor.
        name:
          type: string
          description: Full name of the sponsor.
        role:
          type: string
          description: Role of the sponsor such as primary or cosponsor.
          enum:
          - primary
          - cosponsor
        party:
          type: string
          description: Political party affiliation.
        jurisdiction:
          type: string
          description: Jurisdiction the sponsor represents.
    CommitteeRef:
      type: object
      description: A reference to a legislative committee.
      properties:
        id:
          type: string
          description: Unique identifier of the committee.
        name:
          type: string
          description: Name of the committee.
        chamber:
          type: string
          description: Chamber the committee belongs to.
    Legislation:
      type: object
      description: A legislative measure such as a bill, resolution, or amendment from a federal, state, or international jurisdiction.
      properties:
        id:
          type: string
          description: Unique identifier for the legislation record.
        title:
          type: string
          description: Official title of the legislation.
        shortTitle:
          type: string
          description: Short or popular title of the legislation.
        number:
          type: string
          description: Bill or resolution number.
        type:
          type: string
          description: Type of legislation such as bill, resolution, or amendment.
          enum:
          - bill
          - resolution
          - joint_resolution
          - concurrent_resolution
          - amendment
        jurisdiction:
          type: string
          description: Jurisdiction code where the legislation was introduced.
        session:
          type: string
          description: Legislative session identifier.
        status:
          type: string
          description: Current status of the legislation.
        introducedDate:
          type: string
          format: date
          description: Date the legislation was introduced.
        lastActionDate:
          type: string
          format: date
          description: Date of the most recent action on the legislation.
        lastAction:
          type: string
          description: Description of the most recent action taken on the legislation.
        sponsors:
          type: array
          description: List of sponsors of the legislation.
          items:
            $ref: '#/components/schemas/Sponsor'
        committees:
          type: array
          description: Committees to which the legislation has been referred.
          items:
            $ref: '#/components/schemas/CommitteeRef'
        subjects:
          type: array
          description: Subject tags associated with the legislation.
          items:
            type: string
        summary:
          type: string
          description: Summary text of the legislation.
        fullTextUrl:
          type: string
          format: uri
          description: URL to the full text of the legislation.
        url:
          type: string
          format: uri
          description: URL to the legislation record on the FiscalNote platform.
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the record was created in the system.
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the record was last updated.
    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.
        details:
          type: string
          description: Additional details about the error.
    LegislationListResponse:
      type: object
      description: Paginated response containing a list of legislation records.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Legislation'
        pagination:
          $ref: '#/components/schemas/Pagination'
  parameters:
    sortParam:
      name: sort
      in: query
      required: false
      description: Sort order for results. Use field name with optional - prefix for descending order.
      schema:
        type: string
    jurisdictionParam:
      name: jurisdiction
      in: query
      required: false
      description: Filter by jurisdiction code such as US, US-CA, GB, or EU.
      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
    legislationIdParam:
      name: legislationId
      in: path
      required: true
      description: The unique identifier of the legislation.
      schema:
        type: string
    statusParam:
      name: status
      in: query
      required: false
      description: Filter by legislation status such as introduced, passed, enacted, or vetoed.
      schema:
        type: string
        enum:
        - introduced
        - in_committee
        - passed_one_chamber
        - passed_both_chambers
        - enacted
        - vetoed
    sessionParam:
      name: session
      in: query
      required: false
      description: Filter by legislative session identifier.
      schema:
        type: string
    queryParam:
      name: q
      in: query
      required: false
      description: Full-text search query to filter results.
      schema:
        type: string
    updatedSinceParam:
      name: updatedSince
      in: query
      required: false
      description: Return only records updated after this ISO 8601 datetime.
      schema:
        type: string
        format: date-time
    offsetParam:
      name: offset
      in: query
      required: false
      description: Number of results to skip for pagination.
      schema:
        type: integer
        minimum: 0
        default: 0
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: API key provided by FiscalNote. Include in the Authorization header of each request.
externalDocs:
  description: FiscalNote AppData API Documentation
  url: https://apidocs.fiscalnote.com/apis