FiscalNote PolicyNote API

The FiscalNote PolicyNote API delivers programmatic access to legislative, regulatory, and stakeholder intelligence datasets spanning Congress, all 50 U.S. states, and more than 100 countries through a secure, governed architecture designed for machine consumption. The API includes an MCP server enabling MCP-compatible AI agents from platforms such as Anthropic, OpenAI, Google Gemini, and Microsoft to query structured policy data, verified analysis, and real-time monitoring signals.

OpenAPI Specification

fiscalnote-policynote-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: FiscalNote PolicyNote API
  description: >-
    The FiscalNote PolicyNote API delivers programmatic access to legislative,
    regulatory, and stakeholder intelligence datasets spanning Congress, all 50
    U.S. states, and more than 100 countries through a secure, governed
    architecture designed for machine consumption. The API includes an MCP
    server enabling MCP-compatible AI agents from platforms such as Anthropic,
    OpenAI, Google Gemini, and Microsoft to query structured policy data,
    verified analysis, and real-time monitoring signals. It also provides a
    comprehensive real-time presidential transcript feed delivering
    primary-source transcripts of presidential communications including
    executive orders, proclamations, press statements, and public remarks,
    purpose-built for programmatic consumption to eliminate AI hallucinations
    in compliance workflows.
  version: '1.0'
  contact:
    name: FiscalNote Support
    url: https://fiscalnote.com/contact
  termsOfService: https://fiscalnote.com/terms
externalDocs:
  description: PolicyNote API Documentation
  url: https://fiscalnote.com/products/policynote-api
servers:
  - url: https://api.fiscalnote.com
    description: Production Server
tags:
  - name: Legislation
    description: >-
      Access legislative data spanning Congress, all 50 U.S. states, and
      international jurisdictions.
  - name: Policy Intelligence
    description: >-
      Access AI-powered policy analysis, impact summaries, and monitoring
      signals for policy changes.
  - name: Presidential Transcripts
    description: >-
      Access the real-time presidential transcript feed delivering
      primary-source transcripts of presidential communications.
  - name: Regulations
    description: >-
      Access regulatory data including proposed and final rules across federal
      and state agencies.
  - name: Stakeholders
    description: >-
      Access stakeholder intelligence including government officials and
      organizational relationships.
security:
  - apiKey: []
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'
  /policynote/v1/regulations:
    get:
      operationId: listRegulations
      summary: FiscalNote List regulations
      description: >-
        Returns a paginated list of regulatory records including proposed
        rules, final rules, and notices from federal and state regulatory
        agencies.
      tags:
        - Regulations
      parameters:
        - $ref: '#/components/parameters/jurisdictionParam'
        - $ref: '#/components/parameters/agencyParam'
        - $ref: '#/components/parameters/regulationStatusParam'
        - $ref: '#/components/parameters/queryParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/updatedSinceParam'
      responses:
        '200':
          description: A paginated list of regulation records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegulationListResponse'
        '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/regulations/{regulationId}:
    get:
      operationId: getRegulation
      summary: FiscalNote Get regulation by ID
      description: >-
        Returns detailed information about a specific regulation including its
        full text, issuing agency, comment period, and current status.
      tags:
        - Regulations
      parameters:
        - name: regulationId
          in: path
          required: true
          description: >-
            The unique identifier of the regulation.
          schema:
            type: string
      responses:
        '200':
          description: Detailed regulation record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Regulation'
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Regulation not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /policynote/v1/stakeholders:
    get:
      operationId: listStakeholders
      summary: FiscalNote List stakeholders
      description: >-
        Returns a paginated list of stakeholder records including government
        officials, legislators, and other key policy actors.
      tags:
        - Stakeholders
      parameters:
        - $ref: '#/components/parameters/jurisdictionParam'
        - $ref: '#/components/parameters/queryParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/offsetParam'
      responses:
        '200':
          description: A paginated list of stakeholder records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StakeholderListResponse'
        '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/transcripts:
    get:
      operationId: listPresidentialTranscripts
      summary: FiscalNote List presidential transcripts
      description: >-
        Returns a paginated list of presidential transcripts including
        executive orders, proclamations, press statements, and public remarks.
        This feed delivers primary-source, verified transcripts purpose-built
        for programmatic consumption to eliminate AI hallucinations.
      tags:
        - Presidential Transcripts
      parameters:
        - name: type
          in: query
          required: false
          description: >-
            Filter by transcript type such as executive_order, proclamation,
            press_statement, or public_remarks.
          schema:
            type: string
            enum:
              - executive_order
              - proclamation
              - press_statement
              - public_remarks
              - interview
              - formal_event
        - $ref: '#/components/parameters/queryParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/updatedSinceParam'
        - name: dateFrom
          in: query
          required: false
          description: >-
            Filter transcripts from this date onward in ISO 8601 format.
          schema:
            type: string
            format: date
        - name: dateTo
          in: query
          required: false
          description: >-
            Filter transcripts up to this date in ISO 8601 format.
          schema:
            type: string
            format: date
      responses:
        '200':
          description: A paginated list of presidential transcript records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranscriptListResponse'
        '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/transcripts/{transcriptId}:
    get:
      operationId: getPresidentialTranscript
      summary: FiscalNote Get presidential transcript by ID
      description: >-
        Returns the full text and metadata of a specific presidential
        transcript, including the verified primary-source record of the
        communication.
      tags:
        - Presidential Transcripts
      parameters:
        - name: transcriptId
          in: path
          required: true
          description: >-
            The unique identifier of the transcript.
          schema:
            type: string
      responses:
        '200':
          description: Detailed presidential transcript record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transcript'
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Transcript not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /policynote/v1/intelligence/impact:
    get:
      operationId: listPolicyImpactSummaries
      summary: FiscalNote List policy impact summaries
      description: >-
        Returns AI-powered, personalized impact summaries that analyze how
        policy changes may affect specific industries, organizations, or
        compliance requirements.
      tags:
        - Policy Intelligence
      parameters:
        - $ref: '#/components/parameters/jurisdictionParam'
        - $ref: '#/components/parameters/queryParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/offsetParam'
      responses:
        '200':
          description: A paginated list of policy impact summaries.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImpactSummaryListResponse'
        '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'
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
    sessionParam:
      name: session
      in: query
      required: false
      description: >-
        Filter by legislative session identifier.
      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
    regulationStatusParam:
      name: status
      in: query
      required: false
      description: >-
        Filter by regulation status such as proposed, final, or withdrawn.
      schema:
        type: string
        enum:
          - proposed
          - comment_period
          - final
          - withdrawn
    agencyParam:
      name: agency
      in: query
      required: false
      description: >-
        Filter by issuing agency name or identifier.
      schema:
        type: string
    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
    sortParam:
      name: sort
      in: query
      required: false
      description: >-
        Sort order for results. Use field name with optional - prefix for
        descending order.
      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
    legislationIdParam:
      name: legislationId
      in: path
      required: true
      description: >-
        The unique identifier of the legislation.
      schema:
        type: string
  schemas:
    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.
    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.
    Regulation:
      type: object
      description: >-
        A regulatory record including proposed rules, final rules, and notices
        from federal and state agencies.
      properties:
        id:
          type: string
          description: >-
            Unique identifier for the regulation record.
        title:
          type: string
          description: >-
            Title of the regulation.
        agency:
          type: string
          description: >-
            Name of the issuing agency.
        type:
          type: string
          description: >-
            Type of regulation such as proposed_rule, final_rule, or notice.
          enum:
            - proposed_rule
            - final_rule
            - notice
            - executive_order
        status:
          type: string
          description: >-
            Current status of the regulation.
        jurisdiction:
          type: string
          description: >-
            Jurisdiction code for the regulation.
        publishedDate:
          type: string
          format: date
          description: >-
            Date the regulation was published.
        effectiveDate:
          type: string
          format: date
          description: >-
            Date the regulation takes effect.
        commentPeriodEnd:
          type: string
          format: date
          description: >-
            End date of the public comment period.
        summary:
          type: string
          description: >-
            Summary text of the regulation.
        fullTextUrl:
          type: string
          format: uri
          description: >-
            URL to the full text of the regulation.
        url:
          type: string
          format: uri
          description: >-
            URL to the regulation record on the FiscalNote platform.
        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.
    Stakeholder:
      type: object
      description: >-
        A government official, legislator, or other key policy stakeholder.
      properties:
        id:
          type: string
          description: >-
            Unique identifier for the stakeholder record.
        name:
          type: string
          description: >-
            Full name of the stakeholder.
        title:
          type: string
          description: >-
            Official title or position.
        party:
          type: string
          description: >-
            Political party affiliation.
        jurisdiction:
          type: string
          description: >-
            Jurisdiction the stakeholder represents or operates in.
        chamber:
          type: string
          description: >-
            Legislative chamber if applicable.
        district:
          type: string
          description: >-
            District the stakeholder represents.
        committees:
          type: array
          description: >-
            Committees the stakeholder serves on.
          items:
            $ref: '#/components/schemas/CommitteeRef'
        contactInfo:
          type: object
          description: >-
            Contact information for the stakeholder.
          properties:
            email:
              type: string
              format: email
              description: >-
                Email address.
            phone:
              type: string
              description: >-
                Phone number.
            website:
              type: string
              format: uri
              description: >-
                Official website.
        url:
          type: string
          format: uri
          description: >-
            URL to the stakeholder profile on the FiscalNote platform.
    Transcript:
      type: object
      description: >-
        A presidential transcript record including the full text of executive
        orders, proclamations, press statements, and public remarks.
      properties:
        id:
          type: string
          description: >-
            Unique identifier for the transcript record.
        title:
          type: string
          description: >-
            Title of the transcript.
        type:
          type: string
          description: >-
            Type of presidential communication.
          enum:
            - executive_order
            - proclamation
            - press_statement
            - public_remarks
            - interview
            - formal_event
        date:
          type: string
          format: date
          description: >-
            Date of the communication.
        location:
          type: string
          description: >-
            Location where the communication took place.
        duration:
          type: string
          description: >-
            Duration of the communication in ISO 8601 duration format.
        wordCount:
          type: integer
          description: >-
            Total word count of the transcript.
        fullText:
          type: string
          description: >-
            Full text of the transcript.
        summary:
          type: string
          description: >-
            Summary of the transcript content.
        videoUrl:
          type: string
          format: uri
          description: >-
            URL to the video recording if available.
        sourceUrl:
          type: string
          format: uri
          description: >-
            URL to the primary source document.
        verified:
          type: boolean
          description: >-
            Indicates whether this transcript has been verified against the
            primary source.
        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.
    ImpactSummary:
      type: object
      description: >-
        An AI-powered impact summary analyzing how a policy change may affect
        specific industries, organizations, or compliance requirements.
      properties:
        id:
          type: string
          description: >-
            Unique identifier for the impact summary.
        policyId:
          type: string
          description: >-
            Identifier of the related legislation or regulation.
        policyTitle:
          type: string
          description: >-
            Title of the related legislation or regulation.
        jurisdiction:
          type: string
          description: >-
            Jurisdiction of the related policy.
        summary:
          type: string
          description: >-
            AI-generated summary of the policy impact.
        impactAreas:
          type: array
          description: >-
            Industries or areas affected by the policy.
          items:
            type: string
        severity:
          type: string
          description: >-
            Assessed severity of the policy impact.
          enum:
            - low
            - medium
            - high
            - critical
        createdAt:
          type: string
          format: date-time
          description: >-
            Timestamp when the summary was generated.
    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'
    RegulationListResponse:
      type: object
      description: >-
        Paginated response containing a list of regulation records.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Regulation'
        pagination:
          $ref: '#/components/schemas/Pagination'
    StakeholderListResponse:
      type: object
      description: >-
        Paginated response containing a list of stakeholder records.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Stakeholder'
        pagination:
          $ref: '#/components/schemas/Pagination'
    TranscriptListResponse:
      type: object
      description: >-
        Paginated response containing a list of presidential transcript
        records.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Transcript'
        pagination:
          $ref: '#/components/schemas/Pagination'
    ImpactSummaryListResponse:
      type: object
      description: >-
        Paginated response containing a list of policy impact summaries.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ImpactSummary'
        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.
        details:
          type: string
          description: >-
            Additional details about the error.